Page 8 of 18

Re: Megaman XS

Posted: Sat Jun 13, 2009 10:27 pm
by CicTec
No necesitas floats, la solucion a tu problema es RESOLUTION, mira el TUTORIAL5 de DIV para verlo en accion :)

Re: Megaman XS

Posted: Sat Jun 13, 2009 11:43 pm
by GINO
Ademas es imposible hacer incrementos de menos de 1 pixel, si usas resolution ganas precision pero al final siempre se adapta a 0 si es menor de 1, en la pantalla, se use floats o int.

Re: Megaman XS

Posted: Sun Jun 14, 2009 12:15 am
by Dluk
CicTec wrote:No necesitas floats, la solucion a tu problema es RESOLUTION, mira el TUTORIAL5 de DIV para verlo en accion :)
Ah, cierto, CicTec, había olvidado esa maravillosa variable local. Voy a probarlo y después les digo como me fue ^^

Re: Megaman XS

Posted: Sun Jun 14, 2009 4:10 pm
by Dluk
Bueno, lo de RESOLUTION no me dió tan buenos resultados por el tema de las colisiones, hay que modificar de todo para que quede bien. Pero se me ocurrió hacer otra cosa: puse los FPS a 60 y cambié todos los FRAME; por FRAME(200); para ver que pasaba y resultó que el juego ganó cierta suavidad. Pueden probar el resultado descargandolo de:

http://www.mediafire.com/?yljimnutynm

¿Que dicen? ¿Quedó mejor? ¿Podría quedar mejor con RESOLUTION?

Saludos ^^

Re: Megaman XS

Posted: Sun Jun 14, 2009 5:08 pm
by CicTec
Yo lo veo muy suave, tanto la velocidad de juego como las animaciones.

Re: Megaman XS

Posted: Sun Jun 14, 2009 5:56 pm
by Nightwolf
Descargando...

Io lo que hice en el castlevania cuando pasé de 25 a 60 FPS fue crea una variable que controlaba las animaciones. De tal manera que si antes en cada frame, incrementaba tambien la animación del personaje, ahora lo hacía cada 2 frames. Pero los frames siempre a 100.

Creo recordar que poner frames por encima de 100 indica una pequeña sobrecarga no, y había que evitarlo? ¿o estoy equivocado?

Muucho más suave. Ahora, para ganar aún mas, recuerda, si antes tenías incrementos por frame de x+=2, pon x+=1 y el frame a 100, verás como ganas un scroll mucho más agradable de ver, y el movimiento de personajes gana un montón :) Pero para eso, debes también ajustar las animaciones. Pruebalo :)

Por cierto, io quiero una versión megamanera clásica ^^ Si liberas el source molaría toquetearlo :P

Re: Megaman XS

Posted: Sun Jun 14, 2009 6:00 pm
by CicTec
Nightwolf wrote: Creo recordar que poner frames por encima de 100 indica una pequeña sobrecarga no, y había que evitarlo? ¿o estoy equivocado?
No, simplemente es una forma de quedar con el antiguo frame para un cierto tiempo, por ejemplo...

Si tenemos el juego a 60 FPS, usando FRAME, significa que ipoteticamente un grafico se actualiza 60 veces al segundo, ponendo FRAME(200) se actualizara 30 veces al segundo, o sea la midad.

Re: Megaman XS

Posted: Mon Jun 15, 2009 4:22 pm
by Nightwolf
mmm claro, sí, era justamente al contrario, para que un proceso ocupe más tiempo, sería con el frame reduciendolo... así se ejecuta mas veces :)

Re: Megaman XS

Posted: Mon Jun 15, 2009 5:25 pm
by Dluk
No sirvió lo de FRAME(200), ya que si llamo un proceso cuando todos los otros se ejecutaron, se desincroniza con el resto y se ve como un "parpardeo". Así que ahora estoy buscando otra solución :S

Re: Megaman XS

Posted: Mon Jun 15, 2009 8:29 pm
by Dluk
Resincronizado, hice lo siguiente:

1) Reemplacé todos los FRAME; por el siguiente código:

Code: Select all

IF(frame_obligatorio==0) FRAME; END IF(frame_obligatorio==1) FRAME; END 
2) Creé un proceso que controla la variable frame_obligatorio, con lo cual todos los procesos del juego quedan sincronizados y yo no tengo que modificar ni las animaciones ni los incrementos:

Code: Select all

//*********************************************//
//                                             //
//                                             //
//           PROCESO CONTROL FRAME             //
//                                             //
//                                             //
//*********************************************//

PROCESS control_frame();
BEGIN
    LOOP
        priority=10000;
        IF(frame_obligatorio==0)
            frame_obligatorio=1;
        ELSE
            frame_obligatorio=0;        
        END
        FRAME;
    END
END
Pueden descargar la segunda prueba a 60 FPS de http://www.mediafire.com/?hxty2o1terw. A mi me parece que ganó el doble de suavidad, no se como lo ven ustedes.

Saludos