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.

Erkosone

Perdon por reflotar este tema.. pero.. como va la cosa con BennuGD 2? al final sale a la luz? ha salido ya y no me he  enterado?

SplinterGU

un poquito trabado por falta de tiempo para las fisicas...

aunque quizas esta version nunca salga a la luz, me estoy picando con otra idea sobre lo que quizas me gustaria sea BennuGD 2...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Erkosone

Pero no me dejes asi jeje.. por favor suelta esa informacion!


De que se trata? quizá una libreria para C++?

SplinterGU

estoy pensando, y empezando a experimentar de hacer un nuevo compilador, por ahora es solo una idea, nada funcional de momento... pero la idea basicamente es un compilador bennugd que genere binarios nativos... seria un adios al dcb, pero estoy seguro se ganaria mucho en rendimiento...

y no se si sera bien recibida la idea o si se prefiere la portabilidad del dcb... pero como sea, el experimento lo quiero hacer...

de paso me pica a seguir con el proyecto...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Futu-block

desde mi mas sincera opinión como usuario de linux demando de alguna forma al dar doble click a un .dcb me lo vincule directamente a bcdi (o alguien me explique como hacerlo, lol)

SplinterGU

en kde

preferencias del sistema / aplicaciones / asociacion de archivos
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Futu-block

vale, ahora que he cambiado de kubuntu a ubuntu veo que no me sirve, gracias

panreyes

Quote from: SplinterGU on January 05, 2018, 04:37:31 AM
estoy pensando, y empezando a experimentar de hacer un nuevo compilador, por ahora es solo una idea, nada funcional de momento... pero la idea basicamente es un compilador bennugd que genere binarios nativos... seria un adios al dcb, pero estoy seguro se ganaria mucho en rendimiento...

y no se si sera bien recibida la idea o si se prefiere la portabilidad del dcb... pero como sea, el experimento lo quiero hacer...

de paso me pica a seguir con el proyecto...

Mientras la portabilidad sea la misma (aunque tengas que recompilar el código para cada plataforma), creo que estará bien :)

De todas formas, si quieres un reto de verdad, hazlo de otra forma: coge un DCB ya existente y conviértelo en un EXE. ¿Sería posible algo así? Me refiero a que en vez de que el bytecode del DCB, interpretado, ejecute las funciones del BGDI, que transformases el DCB "compilando" el bytecode directamente en el código máquina que buscas :)

Dicho esto, creo que el rendimiento del core de BennuGD es suficientemente bueno para cualquier proyecto.

Drumpi

Futu: en Ubuntu no es igual, pero es MUY parecido. Es más, hasta en Windows se puede hacer así. Sólo tienes que investigar un poco, que es lo que toca si eres usuario de Linux ;)

Panreyes: yo no me he metido en el código, pero la última vez que miré no se hacían uso de todas las capacidades de SDL (todo se pintaba "a mano" sobre una surface). Existía una función que pintaba sobre un "mapa", ya fuera un proceso, un scroll, un texto, un modo7... No sé si eso se ha optimizado, pero prescindir de una capa en medio (el pseudo-intérprete o como se le quiera llamar) ganaría rendimiento en los dispositivos portátiles.
Pero me da miedo eso, perder la portabilidad. Ahora mismo, si el cepillo de dientes tiene SDL, se le podría portar Bennu (tiempo al tiempo, que ya van por el bluetooth :D). Aunque ya no usemos la Wiz tanto como antes, aun tenemos dispositivos con un rendimiento demasiado limitado para ciertas "comodidades" en Bennu (a Android creo que aun se le atragantaría dos modos7 de forma simultánea, con toda la lógica que se necesita detrás para hacer un juego) y una mejora de rendimiento les vendría de perlas, pero el hacer un juego y decir "¿lo quieres en DreamCast? Te cambio la resolución, los controles y te lo pongo" no tiene precio (aunque en realidad es bastante más complejo que eso, pero ya me entendeis).

Perdonad, estoy divagando. Yo no quiero perder la portabilidad, pero si no supone un problema adelante. Además, aun tenemos Bennu v1.0 en caso contrario.
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 esta mal la idea de pixel, pero eso aceleraria lo que ya existe, pero no lo aceleraria tanto...
en realidad mi idea basicamente es hacer un compilador que traduzca el codigo bennugd a un codigo C, e internamente use el compilador C para generar el ejecutable, optimice y demas... tambien podria tener la opcion de generar solo el codigo en C, y asi poder maniplarlo manualmente a nuestro antojo... una especie de capa de abstraccion, incluyendo un pequeño core que sirva para soportar todo lo referente a FRAME, PROCESOS, etc...
por ahora es un experimento en mi cabeza, con el poco tiempo y ganas que tengo, de vez en cuando, estoy luchando con bison y flex, que es lo que quiero usar para generar el compilador.

otra ventaja de esto, es que podria permitir enlazar directamente con librerias estandar (y llamar a sus funciones)...

es una idea que tengo, quizas un capricho... quizas no llegue a nada, o quizas si...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Erkosone

A mi personalmente me encantaria tener algo como bennuGD en C nativo.. ya en su dia me enganché a CDIV por ese mismo motivo pero al usar allegro 4 se quedo desfasado.. y tambien tenia muy mal escogidos los nombres que usaba para la libreria.. entraban en conflicto con muchas otras librerías.


Pero vamos.. que un bennu escrito como libreria para C o C++ seria algo grandioso..




SplinterGU

Quote from: Erkosone on January 08, 2018, 05:19:56 AM
A mi personalmente me encantaria tener algo como bennuGD en C nativo.. ya en su dia me enganché a CDIV por ese mismo motivo pero al usar allegro 4 se quedo desfasado.. y tambien tenia muy mal escogidos los nombres que usaba para la libreria.. entraban en conflicto con muchas otras librerías.


Pero vamos.. que un bennu escrito como libreria para C o C++ seria algo grandioso..





ahora mismo puedes llamar a bennugd desde C ejecutando un dcb (o usar las funciones del runtime, aunque ya es mas avanzado eso), pero lo que apunto es en lugar de dcb, codigo C... las ventajas son obvias... pero por otro lado, se pierde el espiritu de lo que era la VM...

con 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)

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

JaViS

Yo opino que hay que tener mucho cuidado en no arruinar lo que es, quizas, el mayor atractivo hoy en dia de Bennu frente a las otras alternativas, que es justamente la portabilidad.


Hoy en día existen excelentes engines muy accesibles, como lo son GameMaker y Unity, otras opciones open source muy interesantes, como Godot, y ni hablar de las soluciones profesionales como Unreal Engine. Todas entre gratis y baratas para indies, y faciles de aprender, sumado a esto, todas son portables a varias plataformas, pero ninguna de esas opciones ha sido portada a la cantidad de plataformas y diferentes sistemas como lo fué Bennu.


Me parece que si hacemos la portabilidad mas dificil, Bennu realmente no va a tener ninguna ventaja aparente sobre cualquier otra opcion. Uds que opinan?
Working on Anarkade. A couch multiplayer 2D shooter.

Futu-block

yo opino que debería de haber algo que te convierta el .dcb a el formato que elijas, ya sea el ejecutable de android o de windows o iso de dreamcast o a lo que sea, y perdonarme si lo hay, cohabito en mi zona de confort donde soy feliz y no me entero de ná, je je

a lo mejor lo hay con ordenes via consola, y como siempre estoy demandando un entorno grafico

panreyes

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