Main Menu

BennuGD 2

Started by SplinterGU, July 05, 2014, 03:31:22 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

SplinterGU

Quote from: panreyes on January 08, 2018, 06:29:41 PM
Quotecon respecto a la portabilidad, seguiria siendo portable, solo habria que compilar para cada plataforma (y tener configurado el entorno gcc para cada una de ellas, cosa que se podria hacer automatico al armar el paquete de distribucion o instalador)

Esto no lo va a saber hacer ni dios xD

se hace igual a como se hace con golang, que hace algo similar...

si no gusta la idea, posiblemente quede como un experimento de uso interno...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Futu-block

pero esplinter es dios

Drumpi

Hombre, un cross-compiler es fácil de usar, casi tanto como compilar en Bennu desde línea de comandos.
Las pegas son que ya a mucha gente se le hace dificilísimo compilar en Bennu con la línea de comandos, y que conseguir configurar correctamente el cross-compiler y evitar los conflictos de librerías y demás no es una tarea que se haga en dos clics. Casi todos los que conozco han tardado días en tener un cross-compiler funcionando y, una vez que lo han conseguido, no han querido tocar nada, no sea que se les rompa de nuevo :D :D :D Obviamente, cuando tienen que volver a instalarlo, ya ni se acuerdan de cómo iba ^^U

Hombre, la idea de pasar de Bennu a C no está mal, pero me parece que sería una tarea más complicada que convertir un DCB directamente a ASM o un híbrido con C. Si te ves con fuerzas para ello, adelante, espero que seas capaz de optimizar el código Bennu para hacerlo el C más optimizado posible, y que después este sea aun más optimizable al pasar a binario. El que sabe cómo hacerlo, eres tú, Splinter, y si dices que se puede, te creo ;)
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)

JaViS

#183
Hola!


me queria pasar a decir que me parece que Bennu como está, está bien.


Ahora las pc son mucho mas rapido que cuando empezamos hace mas de 10 años atras. La performance no es tanto un issue que tengamos los devs en bennu, al menos no mas que la portabilidad, que es en donde Bennu brilla.


Sin embargo, hay muchisimo donde se puede mejorar que nos está haciendo falta. Librerias de red oficiales que vengas distribuidas con Bennu y podamos utilizar en todas las plataformas, para hacer juegos en red o para poder integrar APIs de stores como STEAM, lo que me lleva a la necesidad de parseadores de XML y JSON. Es decir, necesidades reales que tenemos los game devs.


Bennu ya hace un trabajo excelente en proveer una plataforma para desarrollar juegos 2D con soporte a varios OS, pero está faltando cerrar el circulo de desarrollo, llegar a la etapa de publicación.


Hoy por hoy lo mas trabajoso en bennu es empaquetar y distribuir juegos, por ahí un esfuerzo por ese lado podria ser muy provechoso para el lenguaje. O quizas en el desarrollo de un entorno oficial y multiplataforma.


Bennu anda muy bien en Ubuntu, pero no hay editors FPG en este OS.

Tampoco vendria mal actualizarse a SDL 2, para darle mas soporte y longevidad.


A lo que me refiero es que si hay animos de invertir tiempo y esfuerzo en Bennu, a mi parecer, esas son las prioridades que veo desde el punto de vista de usuario.
Working on Anarkade. A couch multiplayer 2D shooter.

Futu-block

Tambien pido exijo un port o lo que sea como se llame a telegram

SplinterGU

#185
Quote from: JaViS on April 18, 2018, 02:03:33 PM
Hola!


me queria pasar a decir que me parece que Bennu como está, está bien.


Ahora las pc son mucho mas rapido que cuando empezamos hace mas de 10 años atras. La performance no es tanto un issue que tengamos los devs en bennu, al menos no mas que la portabilidad, que es en donde Bennu brilla.


Sin embargo, hay muchisimo donde se puede mejorar que nos está haciendo falta. Librerias de red oficiales que vengas distribuidas con Bennu y podamos utilizar en todas las plataformas, para hacer juegos en red o para poder integrar APIs de stores como STEAM, lo que me lleva a la necesidad de parseadores de XML y JSON. Es decir, necesidades reales que tenemos los game devs.


Bennu ya hace un trabajo excelente en proveer una plataforma para desarrollar juegos 2D con soporte a varios OS, pero está faltando cerrar el circulo de desarrollo, llegar a la etapa de publicación.


Hoy por hoy lo mas trabajoso en bennu es empaquetar y distribuir juegos, por ahí un esfuerzo por ese lado podria ser muy provechoso para el lenguaje. O quizas en el desarrollo de un entorno oficial y multiplataforma.


Bennu anda muy bien en Ubuntu, pero no hay editors FPG en este OS.

Tampoco vendria mal actualizarse a SDL 2, para darle mas soporte y longevidad.


A lo que me refiero es que si hay animos de invertir tiempo y esfuerzo en Bennu, a mi parecer, esas son las prioridades que veo desde el punto de vista de usuario.

muy cierto... si, lo tengo estancado lo otro, cuando reanude, reanudare por las cosas mas importantes... gracias...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Arcontus

Totalmente en desacuerdo en esta frase:

Quote from: JaViS on April 18, 2018, 02:03:33 PM
Ahora las pc son mucho mas rapido que cuando empezamos hace mas de 10 años atras. La performance no es tanto un issue que tengamos los devs en bennu, al menos no mas que la portabilidad, que es en donde Bennu brilla.
Estoy trabajando en un proyecto con una alta tasa de procesos  e imagenes y me vendría genial aumentar la velocidad de proceso.
¿A cuantos FPS os va un mapa con scroll a fullHD y con 50-100 procesos en pantalla?  En mi caso, tengo que fakear con el parametro de ignorar tasas del setFPS para que se acerque a lo que yo busco que es  una tasa constante entre 60-160FPS.

Todo lo demás, estoy de acuerdo :)
Un saludo!
5Leaps, el primer juego comercial desarrollado para BennuGD. http://www.5leaps.com

JaViS

para juegos en donde tenemos muchos procesos que estan cambiando continuamente la performance mejora mucho con lo siguiente:



dump_type = 1; // Graphics of all processes will be drawn, whether they've changed or not.           
restore_type = -1; // The background won't be restored (i.e. redrawn).

Probaste eso?
Working on Anarkade. A couch multiplayer 2D shooter.

Arcontus

Quote from: JaViS on April 19, 2018, 07:27:52 PM
para juegos en donde tenemos muchos procesos que estan cambiando continuamente la performance mejora mucho con lo siguiente:



dump_type = 1; // Graphics of all processes will be drawn, whether they've changed or not.           
restore_type = -1; // The background won't be restored (i.e. redrawn).

Probaste eso?
He sido incapaz de leer tu respuesta hasta que la copie en un notepad...

Pues no! no se de que se trata y tampoco tengo acceso a la wiki para mirar su referencia :(...

¿Puedes indicarme de que va?
Gracias!
5Leaps, el primer juego comercial desarrollado para BennuGD. http://www.5leaps.com

Arcontus

Quote from: Arcontus on April 19, 2018, 08:40:02 PM
Quote from: JaViS on April 19, 2018, 07:27:52 PM
para juegos en donde tenemos muchos procesos que estan cambiando continuamente la performance mejora mucho con lo siguiente:



dump_type = 1; // Graphics of all processes will be drawn, whether they've changed or not.           
restore_type = -1; // The background won't be restored (i.e. redrawn).

Probaste eso?
He sido incapaz de leer tu respuesta hasta que la copie en un notepad...

Pues no! no se de que se trata y tampoco tengo acceso a la wiki para mirar su referencia :( ...

¿Puedes indicarme de que va?
Gracias!
Ya he localizado respuestas en el foro:

- dump_type=1; restore_type=1; pinta y restaura todo, sirve para forzar el limpiado de pantalla, a veces al usar fondo 0 con otras combinaciones pueden salir artefactos.


- dump_type=0; restore_type=0; es para cuando no hay movimiento de cámara, no se limpia toda la pantalla ni tampoco se vuelve a pintar en zonas si no es necesario, esto es ideal para escenas de cámara parada donde hay unos cuantos objetos por la pantalla, hay cálculo adicional pero se compensa no renderizando zonas.


- dump_type=1; restore_type=-1; es para que todos los gráficos se pinten pero no limpia el buffer de pantalla, esto es ideal para cuando hay movimiento de scroll, se evitan cálculos innecesarios.
He probado la última opcion y no noto mejoría en el rendimiento, pero si un montón de artefactos extrañisimos en multitud de sitios por lo que queda descartado. :(
(Me había hecho ilusiones)
5Leaps, el primer juego comercial desarrollado para BennuGD. http://www.5leaps.com

JaViS

Que bueno que encontraste la documentación.


Si, como ves, no se pueden aplicar en absolutamente todos los casos, depende mucho de como funciona tu juego. Solo quería comentarte esas opciones, porque jugando con ellas he logrado un incremento de performance muy importante en mi juego, al punto en que ahora puedo correrlo en plataformas menos potentes como Android y Raspberry.
Working on Anarkade. A couch multiplayer 2D shooter.

panreyes

Por cierto, hablando de JSON, hay un librería muy pequeñita que podríamos añadir a BennuGD, aunque desconozco si su licencia es compatible (MIT)
https://github.com/udp/json-parser/blob/master/json.c

l1nk3rn3l

Panreyes..  Hola..

El grupo tiene una librería llamada "Bennu WEb Services" ..

incluye json, base64, SHA256, AES256   y otras cosas chulas..

ya la subiré este fin de semana..


Drumpi

Bueno, pues creo que el único que se queja aquí de potencia soy yo, que debo ser el único que sigue desarrollando un juego para Wiz :D :D :D

Ya sabeis que yo soy siempre el último en querer cambiar las cosas, al menos de forma drástica ^^U Pienso, como se ha comentado más arriba, que si hay alguna mejora de velocidad, que sea porque se usan las capacidades desaprovechadas de la libería gráfica (creo que se comentaba que sólo se utilizaba una única surface de SDL, y que usando varias se obtendría una mejora de rendimiento), o se actualiza a alguna más potente (léase SDL2, OpenGL...).

Pero si hay algo que de verdad quiera mejorarse, es en lo que hace parecer "viejo" al lenguaje. No voy a proponer que tenga una librería de gráficos 3D... molaría, pero no voy por ahí. Bennu, como Fenix, y como DIV, siempre ha sido un motor de juegos 2D, de estilo retro (lo digo porque tenemos ahí algo parecido al modo7), y deberíamos centrarnos en eso.
Las carencias que le veo es que no nos animamos a dar el salto a los juegos con gráficos de 32 bits y alta resolución (¿pero quién nos puede culpar? no somos grafistas). Que las herramientas de escalado y rotación son por software y con un algoritmo sencillo para hace 20 años (al menos, Splinter aludió a porder elegir en un futuro a algoritmos más complejos) y que serían básicos para hacer animaciones 2D basadas en esqueletos. Y ya que se puede portar a todos los sistemas, una mejora en el soporte a Android y la API de Steam, como decían por ahí arriba, que parece que se siguen resistiendo.

El uso de liberías tipo web services no estaría mal, teniendo en cuenta que me paso el día desarrollando apps en Xamarin y programas en servidores con WebApi (otra cosa diferente es que tenga un servidor compatible para ello :D ), pero deberíamos centrar los esfuerzos en lo dicho de poder crear juegos en red, que es lo que está pidiendo la gente. ¿Por qué se está perdiendo lo de jugar a pantalla partida? ahora que habíamos conseguido salir del sótano con consolas de 4 mandos ¿nos estamos volviendo a enterrar gracias al juego en red? :D

En resumen, Splinter, te digo lo que me digo a mi mismo cuando me falta tiempo (o sea, en este último año): no intentes reinventar la rueda, mejora lo que ya tienes todo lo que puedas porque no tienes tiempo ni fuerzas para ponerte como antaño 5 horas en tu propio código ^^U
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)

Futu-block

Quote from: Drumpi on May 07, 2018, 12:29:27 AM
Bueno, pues creo que el único que se queja aquí de potencia soy yo, que debo ser el único que sigue desarrollando un juego para Wiz :D :D :D


El unico dice

Mas aparte de lo que ha dicho drumpi, si, coincido en lo de mejorar las rotaciones y escalado de graficos