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

Hola Gente,

Despues de un tiempo de no hacer nada con respecto al lenguaje, y cumpliendo con mi promesa de retomar luego de la fiesta de 15 de mi hija, he empezado con un lavado de cara a bennugd.

Si bien por el momento no es una version 2.0 completa, estoy trabajando en la reestructuracion del lenguaje, usando SDL2 y añadiendo acceleracion por GPU, algunas funciones desaparecen, algunas aparacen, con lo cual el lenguaje ya no sera compatible 100% con la version actual.

Y bien, este mensaje no era para anunciar en lo que estoy trabajando, sino para saber su opinion en un aspecto... y es que debido a esta reestructuracion de cosas, tambien habra reestructuracion de librerias, con lo cual voy a agrupar alguna de la funcionalidad de las actuales librerias, por ejemplo, ahora unifique libgrbase+libvideo+libblib+librender en libvideo y lo mismo con los modulos, mod_screen + mod_video  = mod_video, luego mod_timers + mod_time = mod_time, y asi...

esto son unos ejemplos.

lo que quiero saber es como agruparian Uds los modulos y librerias actuales? me gustaria saber su opinion.

desde ya, muchas gracias.

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

Outlaw

¡Hola Splinter! Hace bastante que no leía noticias tuyas y la verdad es excelente lo que estás haciendo, ¡es bueno ver que Bennu se actualice!
Me gusta tu propuesta de agrupar los módulos, creo que las funciones van a quedar mejor agrupadas asi como lo proponés vos. Lo único que te puedo decir, es que sigas agrupando según funcionalidad, es decir, si hay que saber la hora del sistema y hacer un contador, por ejemple, que vaya a mod_time. Que al programador se le haga más fácil buscarla. Creo que hasta es más intuitivo, la verdad.
De nuevo, te agradezco todo lo que aportás al lenguaje y me alegraste el día.

¡Saludos!
"Life is cheap when the bounty is high"

SplinterGU

gracias...

exacto, esa es la idea... pero necesito aportes de como organizarian cada uno todos los modulos.

otra es meter todo en 1 solo runtime... pero quizas eso seria ir para atras.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Outlaw

Creo que meter todo en uno solo ya sería demasiado, además supuestamente estaban divididas para no tener que cargar recursos de más, ¿no? Yo ahora estoy trabajando un poco y me voy a dormir, mañana me fijo a ver qué sugerencias puedo hacer.
"Life is cheap when the bounty is high"

SplinterGU

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

osk

Gracias a ti!!!

Me salgo del tema, y pido perdón si no es el lugar y el momento, pero ...¿hay la idea de incluir alguna librería de red? ¿Y de físicas? ¿Y hacerlo compatible con 64 bits?

l1nk3rn3l

#6

felicitaciones por tu hija..


buena idea porque ya la mayoria de proyectos estan migrando a SDL2 y ya seria dificil portarlos

la rama de los 8 bits deberia descartarse en otro directorio que se llame bennugd 1.5


y un directorio de descargas bennugd 2.0 para empezar a eliminar los 8 bits y demas funciones
que le quitan rendimiento al motor (o no pueden ser portados por no ser acelerados)


1 como dijiste anteriormente vas a eliminar la estrcutura GRAPH y se va dibujar directamente sobre superficies SDL
   entonces seria bueno que compartieras los fuentes de bennugd 1.5 con esta mejora antes de proseguir
   con la 2.0  (es una sugerencia   ;D [size=78%])[/size]

2 , habra modo 7 en 32 bits?  :P






Gracias por el trabajo


SplinterGU

Quote from: osk on July 05, 2014, 08:01:03 AM
Gracias a ti!!!

Me salgo del tema, y pido perdón si no es el lugar y el momento, pero ...¿hay la idea de incluir alguna librería de red? ¿Y de físicas? ¿Y hacerlo compatible con 64 bits?


si, es el momento...

no voy a dar muchos detalles, pero habra una version binaria 64bits y una 32bits, y una VM que incluira datos 64bits... de momento, solo trabajo con la base de 32 que ya tenemos, pero no saldra una 2.0 hasta que no haya 64bits en todo el proyecto.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

SplinterGU

Quote from: l1nk3rn3l on July 05, 2014, 02:52:37 PM

felicitaciones por tu hija..


buena idea porque ya la mayoria de proyectos estan migrando a SDL2 y ya seria dificil portarlos

la rama de los 8 bits deberia descartarse en otro directorio que se llame bennugd 1.5


y un directorio de descargas bennugd 2.0 para empezar a eliminar los 8 bits y demas funciones
que le quitan rendimiento al motor (o no pueden ser portados por no ser acelerados)


1 como dijiste anteriormente vas a eliminar la estrcutura GRAPH y se va dibujar directamente sobre superficies SDL
   entonces seria bueno que compartieras los fuentes de bennugd 1.5 con esta mejora antes de proseguir
   con la 2.0  (es una sugerencia   ;D [size=78%])[/size]

2 , habra modo 7 en 32 bits?  :P






Gracias por el trabajo



gracias!

no, no voy a eliminar la estructura GRAPH, porque sirve para otras cosas, si elimine paletas, blendop (que sera reemplazado por otras funciones acceleradas), el area de pixels dentro de GRAPH (ya que ahora utiliza graficos accelerados dentro de la tarjeta), y otras cosas que ya no tienen sentido.  tampoco se van a dibujar directamente sobre las superficies SDL, ahora se trabajara directamente con la placa de video. No existe esa mejora que mencionas en el punto 1.

con respecto al modo7, es algo que no decido aun

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

Erkosone

Hola Splinter, genial iniciativa, todo mi apoyo con ello.


Sobre las librerías, yo siempre he pensado que modularizar es bueno, pero no en exceso, veo muy bien los ejemplos que comentas, incluso iría mas allá simplificando de una manera coherente todo lo posible, osea, todo lo que es necesario para crear un juego completo debería estar de base ya incluido, aunque esto lo controlaras tu mejor que nadie ;)


Mira, las versiones monoliticas se han usado mucho, no se si cargan o no todo a una al iniciar el juego, pero tienen todo incluido y al final es mas practico para el que quiere hacer juegos, aunque siempre habrá el que prefiera tener todo por separado, no se.. yo pondría toda la base del lenguaje en un modulo que incluyera todo lo referente al vídeo, a los mapas, al sonido, al input, al acceso a ficheros en disco, a las cadenas de texto etc etc etc..


Y ya por separado cosas como la física, la reproducción de vídeo, sql etc etc.

SplinterGU

bueno, hablemos de categorias entonces...

yo pense en

video
input (que podria contener key, mouse, touch, joy)
sound
fileio o quizas stdio (que incluya funciones de files, incluida lectura de maps, say y alguna otra funcion parecida)
time (time y timers)
math
misc

no se, necesito sugerencias, si fuera que yo lo controlara mejor que nadie no preguntaria... :D tengo dudas y necesito sugerencias.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Outlaw

Me gustan las categorías, pero a mi parecer:

- A Fileio le pondría Files, pero solamente para manejo de archivos y sus operaciones.
- Las funciones tipo say y de retorno de información las pondría en una categoría llamada Output.
- No pondría Misc para el resto, ya que me parece que pierde la objetividad que le estás dando al resto de las categorías.

Espero por lo menos que te sea de ayuda, Splinter.
¡Saludos!
"Life is cheap when the bounty is high"

JaViS

Lo de dividirlo en categorias parece buena idea. La verdad es que tener muchos modulos separados para las cuestiones basicas del lenguages siempre se hizo un poco engorroso.


A proposito, gracias por embarcarte en este proyecto! Yo estoy usando mucho Bennu y la verdad es que la performance ya es algo que se estaba volviendo un problema, porque dejaba de ser competitivo.


Tambien se estaba quedando un poco atras en features, como por ejemplo, el tema de detectar joysticks enchufados despues de iniciar el juego (algo importante en consolas sobre todo)


Si se le puede dar prioridad al aspecto multiplataforma seria algo genial.
Working on Anarkade. A couch multiplayer 2D shooter.

emov2k4

Genial, por lo menos yo confio en tu critetio así que agrupa como mejor te parezca,
Mucho animo !! y Gracias !

KeoH

Ueeee!! me alegro que te metas con esto Splinter!!  ;D Hace tiempo se hablo un poco del tema y mi posición es la misma .. si te cargas la retrocompatibilidad, hazlo xD que la compatibilidad hacia atrás no entorpezca el desarrollo futuro.

La reorganización de los módulos me parece bien .. aunque al hacer el juego ( y sobre todo si es un juego medianamente grande con muchas cosas) al final acabas usando todos los módulos, entonces eso de separarlos pues no le veo utilidad .. pero si la aplicación es pequeña y usa cosas concretas y solo necesitas un par de cosas.

En cualquier caso, lo que tu creas estará bien, nosotros nos adaptamos.

PD: Ya que vas a cambiar cosas .. a ver si se te ocurre algo para hacer OOP jajaja aunque no sea obligatorio jaja que sé que no te gusta pero tiene utilidad xD