Dudas varias: frame_time, puntos de control, ...

Started by drai_kin, November 03, 2009, 02:15:15 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

drai_kin

Buenas, estoy empenzando con bennu y hay unas cuantas dudas que me asaltan ahora mismo.

Al buscar, no salian resultados sobre estas cuestiones, aun asi espero que no hayan sido tratados con antelacion :)


  • Primero, me gustaria saber en general como se trabaja en bennu/fenix con relacion a los fps. Normalmente, se fija un frame rate y todos los movimientos se hacen en base a ese frame rate o se recomienda trabajar con movimientos independientes del frame rate?

    ej.     x+= 5; <-- la velocidad dependera de los fps
    ej2.   x+=5*dt <-- donde dt es el incremento de tiempo desde el ultimo frame ( con lo que el movimento sera independiente del frame rate)

    He programado un poco en c, y normalmente lo hacia con independencia del frame rate. En bennu empeze asi, usando la variable frame_time, pero me parece un poco lioso , ya que esta siempre me da 0.001 (al escribirla en pantalla con un write_var) ya sea con fps=1, fps =30 o cualquier otro  ???


  • Segundo,los puntos de control, hay alguna forma de encontrar la posicion de un punto de control, despues de serles aplicados el escalado i la rotacion?
    una imagen quizas lo explique mejor ^___________^


Gracies de antemano :)

SplinterGU

Download Lastest BennuGD Release: http://www.bennugd.org/node/2

drai_kin


SplinterGU

jejeje, si son procesos separados, no se movera 1 con respecto al otro... debes usar get_real_point en base al otro y al punto de control... busca mi juego de zombies de la ultima crap, ahi lo veras en ejemplo (ultimamente estoy recomendando mucho mi crap... eso no es bueno, es una crap...)
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

La momia que fuma

Lo del diagrama que pones sería, desde el proceso del palitroque negro: get_real_point(1, offset id_cuadrado_azul.x, id_cuadrado_azul.y);

El 1 como te imaginarás, se refiere al punto de control que quieres pasar, los otros dos paramétros meten los valores x e y (teniendo en cuenta rotaciones y demás) en las variables que le digas, en el ejemplo, directamente en las x e y del proceso que quieres colocar donde el punto de control.

Como aun estás empezando igual aun no te has mirado lo de los ids y tal y no sabes como van, también puedes asignarlo a por ejemplo, a un par de variables globales y luego manualmente usarlas en el proceso del cuadrado azul para colocarlo, si así lo ves mas claro.

drai_kin

#5
gracias a los dos  ;)  ahora lo mirare con mas detalle

Alguna idea con lo del frame_time?  

Este es el codigo que he usado para probar.


PROGRAM videojuego;

INCLUDE "import.prg";                //mod_ necesarios          

BEGIN
set_mode(320,240,32);
set_fps(60,0);    

LOOP
delete_text(0);
write(0,10,5,3,"fps            " +fps);
write(0,10,15,3,"frametime    " +frame_time);
       write_var(0,150,15,3,frame_time);
write(0,10,25,3,"speedgauge  " +speed_gauge);
write(0,10,35,3,"timer         "+ timer);
FRAME;
END
END


aqui unas capturas con set_fps(60,0) y set_fps(1,0);



Como se puede ver, los fps van bien, el timer tambien funciona, pero el frame_time no aparece correctamente... Segun la definicion de la wiki, frame_time deberia rondar 0.0167 para 60 fps y 1 para 1 fps.

drai_kin

Bueno, el tema del frame_time parece que ya lo he solucionado...

SplinterGU, no se si esto sera un bug o si te puede interesar ( ya que supongo que sera problema del bennupack mas bien).
La cosa es que al lanzar el programa para testear el frame_time (ver mi post anterior) desde el IDE del bennupack, el frame_time no funciona ( siempre da 0.0).
Pero al lanzarlo con el bgdi.exe directamente, entonces si que va bien el frame_time, dando el valor correcto.

En cualquier caso, gracias por vuestra ayuda, sigo avanzando ^^


SplinterGU

bennupack puede no tener la ultima version... por otro lado, si da 0.0, es que no tarda nada... es correcto...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Windgate

Hola drai_kin, se me había pasado este hilo. No he tenido de trabajar con más de un punto de control así que no puedo ayudarte demasiado. Lo que sí te recomiendo es que pilles las últimas DLL de Bennu y actualices las del Bennupack en /devBennu/bin

Para descargar las últimas DLL puedes acceder a ellas al pie de los mensajes de Splinter, la r110 funciona perfectamente y ya es compatible con Bennu 3D, supongo que el Bennupack 1.8 está al caer.

En cuanto a los puntos de control sube algo please, me interesaría aprender un poquito a ver si le puedo sacar utilidad.
Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es

splinter_work

Quote from: Windgate on November 13, 2009, 11:49:58 AM
Hola drai_kin, se me había pasado este hilo. No he tenido de trabajar con más de un punto de control así que no puedo ayudarte demasiado. Lo que sí te recomiendo es que pilles las últimas DLL de Bennu y actualices las del Bennupack en /devBennu/bin

Para descargar las últimas DLL puedes acceder a ellas al pie de los mensajes de Splinter, la r110 funciona perfectamente y ya es compatible con Bennu 3D, supongo que el Bennupack 1.8 está al caer.

En cuanto a los puntos de control sube algo please, me interesaría aprender un poquito a ver si le puedo sacar utilidad.

ya lo dije, y te invito a vos tambien a revisar mi crap, ahi tenes mucho de puntos de control...

Windgate

Me cago en todos los droides, estoy bajando tu re65535d(-1) pero es un .exe, parece estar pasado por el Pakator, he mirado los hilos de las CRAP y no veo una descarga de tu juego con sus tripitas intactas para ver el código...

Veo que usas articulaciones con bracitos y piernecitas, el juego me gusta, no parece de una CRAP xD

Ya había pensado anteriormente en usar los bracitos y piernecitas, pero no había tenido en cuenta la posibilidad de tener más de un punto de control... Ahora comprendo.

Pues eso, un link con acceso al código plz
Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es

Drumpi

Ya se lo dijimos en su dia a splinter: currarse un sistema de animaciones vectoriales tan chulo y un editor para ello era demasiado trabajo para una crap compo.
De todas formas, el packator tiene un "punto débil", y es que al ejecutar el juego se descomprime en la carpeta temporal (algo así como documents and settings -> USUARIO ->configuracion local -> temp). Échale un vistazo ;)
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

SplinterGU

no se donde puso pixel los fuentes de todos los craps... a ver si lo tengo por aca...

http://betatester.bennugd.org/crap
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Windgate

Karma++ Drumpi, jaque mate a los "ofuscadores" de código con el packator xD

Le he visto mucha utilidad para pasar proyectos a "amigos" que sospechan de tanto archivo raro, pero para ofuscar código... En Bennu... Por dios, si Bennu es más libre que el nudismo...

Miro el asunto Splinter, gracias y enhorabuena, un juego aparentemente simple, pero grande, me ha gustado mucho de verdad.
Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es

drai_kin

gracias por las respuestas :)

Con las ultimas dlls ya funcionan muchas mas cosas ( mea culpa mea culpa :D)

los puntos de control ya me funcionan y no veas lo practicos que son! ya no puedo vivir sin ellos jejeje

Sin duda alguna, me asaltaran mas dudas en poco tiempo ^^

gracias por la ayuda!