Duda animación en BennuGD con personaje en partes independientes unidas

Buenas, estoy empezando un proyecto que tenía en mente hace un tiempo y al final em he decidido a realizarlo en Bennu dado que es la evolución de DIV, que fue un lenguaje que use ahce una década y era muy intuitivo y agradecido. Con poco tenéis ya sprites dando guerra en la pantalla.

Mi duda quizá vaya dirigida más para gente con experiencia con Bennu, pero bueno a lo mejor gente con experiencia en otros lenguajes me puede decir. La cosa es que estoy primero probando a cómo hacer los sprites, y esta vez en lugar de una sucesión de sprites se me ocurrió hacer un sprite fijo, dividido en porciones, y cuyas partes ya tengo enlazadas en los puntos de unión, por lo que he probado asignando teclas a cada extremidad para moverla girando grados, y la parte adyacente se mueve en función de esta... vamos que el sprite está perfectamente articulado y responde perfectamente. Mi duda es si esto, con 11 sprites en pantalla (cabeza, torso, 2 brazos, 2 antebrazos, cadera, 2 fémures y 2 tibias), enlazados y animados independientemente para que el personaje haga todos los movimientos (según la acción que haga el personaje le indicaré cómo tiene que moverse cada parte) va a consumir muchos recursos, al estar siempre en pantalla 11 sprites recibiendo órdenes.

La verdad que la animación queda mucho más chula así, queda todo más fluído, pero no sé si cargándo luego el juego con el resto de cosas va a resentirse. Si no recurriré a las viejas animaciones de 4 o 5 frames por animación y a tomar vientos. La cosa es hacer algo "distinto" a lo que he hecho siempre. A ver si grabo un video del esqueleto que tengo hecho animado para que lo veáis.
No se que tal será el rendimiento ni el funcionamiento de ese Bennu, pero no deberías de tener ningún problema por algo así. De todos modos la manera mas eficiente de andar rotando/escalando sprites es utilizar un entorno 3D en el cual los sprites se dibujen sobre polígonos planos (simulando un entorno 2D) y transformarlos mediante matrices.
No tendrás ningún problema con Bennu, ya que está especializado en manejo y rotación de muchos sprites a la vez en pantalla. La solución que has propuesto te irá bien de velocidad si el código de manejo de cada sprite está bien hecho.
Finalmente opté por hacer animación tracicional en los personajes normales y dejaré la de por partes rotativas para enemigos grandes.

Una duda que me queda es si hay posibilidad de hacer más fluída la animación de un sprite o el scroll de pantalla. Veo que sufre del mismo problema que DIV, que si una animación consta de 5 sprites, y pones:

from graph=1 to 5;
frame;

La animación es muy rápida. Sin embargo si fuerzas que el frame sea más lento poniendo entre () un valor, por ejemplo, 300, el scroll pasa a ir a tirones. Hay alguna solución para esto? Llevo unos días desconectado pero estoy pensando en, en lugar de poner 5 frames de animación por ejemplo, poner 5 imágenes por cada animación, por decir una cifra, y así en total la animación constaría de 25 frames (aunque realmente 5 distintos sólo), por lo que podría dejar el comando "frame" tal cual y quizá eso agilizaría el scroll.
Poner 5 imágenes en la animación es lo mismo que poner 5 instrucciones frame en el bucle por cada imagen. Puedes usar la instrucción set_fps() para ajustar la velocidad de visualización, en frames por segundo.
hardyx escribió:Poner 5 imágenes en la animación es lo mismo que poner 5 instrucciones frame en el bucle por cada imagen. Puedes usar la instrucción set_fps() para ajustar la velocidad de visualización, en frames por segundo.


Desconocía esa orden, pero justo estaba pensando si habría posibildad de indicarle el framerate del juego. Me viene de puta madre luego lo pruebo. GRACIAS.
Buenas!
Te recomiendo que para cualquier duda,te registres en su foro oficial,y preguntes alli. www.bennugd.org
A mi me han hechado una mano muchas veces.
y si con la instruccion Set_fps(); puedes elegir a los FPS de tu juego.

Por ejemplo :

Set_fps(60,0); para 60 FPS.

De todas maneras aqui tienes la wiki,con muchisimas funciones documentadas (Solo en ingles)
http://wiki.bennugd.org/index.php?title=Bennu_Wiki
Gracias por los consejos. Para que os hagáis una idea, esta es la fluidez que tengo ahora mismo. Va pelín menos fluído de la realidad por la captura de video que no es 100% real:
http://www.youtube.com/watch?v=YLDk9SCHXIY

El tema de meterlo más FPS es que tengo que meter más frames, obviamente [+risas]. He probado a meter 20 frames de animación sólo para andar y claro, queda mucho más fluído, pero no sé si me rentará meter tanta fluidez en detrimento de que el juego, cuando lo cargue de sprites de enemitos, items, etc, pegue un bajonazo.

P.D: no os asustéis de los gráficos que son todo temporal hasta que el proyecto lo vea yo avanzadillo y pida a alguien que me ayude diseñando la idea que tengo de "mano alzada". Los fondos están hechos a PC pero las animaciones son todas hechas a mano por mí y escaneadas, para que parezcan de verdad un personaje dibujado en un cuaderno... una frikada vamos XD
Itho,pues que quieres que te diga,a mi me encantan esos graficos,quizas retocandolos un poquito mejor quedaria mas chulo,pero a mi me gustan! xD

Animo con el proyecto!!
8 respuestas