Movimiento sincronizado

Started by Arcontus, March 08, 2011, 08:09:02 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Arcontus

Recuperando este hilo, quería comentar una cosa:
Dado que el frameskip funciona bastante bien, ¿no se podría hacer totalmente perfecto?
Me explico:
Si fijas un juego a 60fps, siempre que la máquina pueda, representará 60, no 61 ni 59. Con el frameskip he visto un rango de valores de 59 a 62, lo cual provoca que se necesite sincronizar varios ordenadores cada cierto tiempo, ya no por seguridad ni por integridad sino por ese pequeño desfase que ocurre con el frameskip en ambos ordenadores.

Gracias!
5Leaps, el primer juego comercial desarrollado para BennuGD. http://www.5leaps.com

SplinterGU

Arcontus, juro que no entiendo que es lo que planteas? cual es tu necesidad en base a tu ultimo post?
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Arcontus

A ver si me explico mejor,

si uso frameskip en mi juego, lo que he conseguido es efectivamente que las máquinas donde lo ejecute llego aproximadamente a los 60fps que es lo que deseo, pero es un número aproximado, es decir no siempre es 60, a veces 59 otras 61 otras (mas raro) 62, ¿me explico?
Que sería lo suyo, pues que fueran siempre 60fps, que no calcule 61 o 59, sino 60.
¿Me explico?
5Leaps, el primer juego comercial desarrollado para BennuGD. http://www.5leaps.com

SplinterGU

claro, es que veo no se entiende que es el frameskip y el set_fps...

el sistema cuando le decis 60 fps con un skip de 2, significa que hara lo que pueda para llegar a 60fps... pudiendo saltar hasta 2 frames... si salta 1 frame y no llega, entonces salta otro... pero puede que si saltando 1 no le daba los 60fps, saltando 2, le sobro tiempo y entonces corrio a una velocidad de 61 fps... ahora el caso contrario... ahora que en el paso anterior, llego a 61fps, intentara estabilizar a 60, y por ende metera un poco mas de pausa, pero como la granularidad de los temporizadores del sistema operativo para las pausas no tiene la precision que necesitamos entonces se nos pasa la pausa un poquito y hacemos 1 o 2 frames menos... normalmente la granularidad de los timeres en los sistemas operativos es de 10 o 20ms... depende...

1 o 2 frames arriba o abajo no deberia hacer diferencia... mas que nada porque tambien pueden ser errores de precision de calculo, al hablar de milisegundos...

quizas es dificil entenderlo... pero lamento decirte que lo que propones no se puede hacer... si quieres lo puedo fakear y poner que diga 60fps, pero no es la idea hacer fake con los numeros.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Arcontus

Hola SplinterGU,

me imaginaba que por ahí andaban los tiros, pero creia oportuno hacer la pregunta.
Muchas gracias de todos modos, se entiende que no se pueda añadir más precisión a la función y por supuesto falsear los números aun llevaría a más confusión que otra cosa.

Un saludo.
5Leaps, el primer juego comercial desarrollado para BennuGD. http://www.5leaps.com

SplinterGU

no esta bien que preguntes, siempre y cuando se entienda el concepto, esta bueno preguntar...

lo de falsear los fps era obviamente un comentario con una respuesta logica... no es valido falsear los fps...

si no se entendio, pregunta sin miedo...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

fulgorelizz

Quote from: osk on March 08, 2011, 10:22:50 PM
En mi manualillo hay varios ejemplos de movimiento curvilíneo, acelerado, etc

:o yo tengo el manual, no lo he terminado de leer!!... pero lo hare prontoooo!! no sabia de esos ejemplos!!  ;D
Compiling code -- generating exe...