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.

Neo_one

 Se me ha ocurrido que algunos que tengan buenos conocimientos de programación pueden ayudarte y entre todos hacer que BennuGD deje de ser solo un motor para pasar a ser un Engine (como Game Maker o AGS).

SplinterGU

debo decir que engine = motor en ingles... por otro lado, gracias por tus palabras... toda ayuda/sugerencia es bien recibida...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

warrior_rockk

Mas sugerencias:


Ya se ha hablado de que a muchos usuarios nos encantaría una arquitectura basada en programación orientada a objetos con sus herencias y todas las ventajas que ello brinda, pero, no es el propósito de este BennuGD 2 y es prioritario dedicar los esfuerzos a la aceleración GPU.


Lo que si se agradecería, al menos por mi parte, es una mejora en el sistema de variables locales. Sucede, en muchas ocasiones, que se quiere compartir variables entre procesos pero no para todos ellos. Las variables locales están muy bien, pero al crearse para todos los procesos que utilice el juego, se produce un desperdicio de memoria.
Mi sugerencia es la posibilidad de crear variables locales por TYPE del proceso, que todo los procesos puedan leer y acceder a esas variables pero solo se creen para los procesos de ese tipo. Asi, podriamos "emular" un poco el paradigma del POO encapsulando en procesos los tipos propios que necesitemos.

master

#48
Ya que estamos con sugerencias. ;D
Me encantaria que se implementaran funciones para introduccion de candenas desde el teclado. y mejor aun si se puede algo como scanf (fscanf, sscanf)  y todas sus fabulosas caracteristicas. :) :) :)

Un printf tal vez no sea muy pedido debido al write que poseemos actualmente, pero fprintf para manejo de archivos, sería valioso, tal vez incluso para sustituir "say" por algo mas potente. :D

SplinterGU

Quote from: warrior_rockk on September 22, 2014, 08:41:56 PM
Mas sugerencias:


Ya se ha hablado de que a muchos usuarios nos encantaría una arquitectura basada en programación orientada a objetos con sus herencias y todas las ventajas que ello brinda, pero, no es el propósito de este BennuGD 2 y es prioritario dedicar los esfuerzos a la aceleración GPU.


Lo que si se agradecería, al menos por mi parte, es una mejora en el sistema de variables locales. Sucede, en muchas ocasiones, que se quiere compartir variables entre procesos pero no para todos ellos. Las variables locales están muy bien, pero al crearse para todos los procesos que utilice el juego, se produce un desperdicio de memoria.
Mi sugerencia es la posibilidad de crear variables locales por TYPE del proceso, que todo los procesos puedan leer y acceder a esas variables pero solo se creen para los procesos de ese tipo. Asi, podriamos "emular" un poco el paradigma del POO encapsulando en procesos los tipos propios que necesitemos.

para eso tenes las variables PUBLIC
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

SplinterGU

Quote from: master on September 22, 2014, 10:03:54 PM
Ya que estamos con sugerencias. ;D
Me encantaria que se implementaran funciones para introduccion de candenas desde el teclado. y mejor aun si se puede algo como scanf (fscanf, sscanf)  y todas sus fabulosas caracteristicas. :) :) :)

Un printf tal vez no sea muy pedido debido al write que poseemos actualmente, pero fprintf para manejo de archivos, sería valioso, tal vez incluso para sustituir "say" por algo mas potente. :D

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

warrior_rockk

Quote from: SplinterGU on September 23, 2014, 02:00:46 PM
Quote from: warrior_rockk on September 22, 2014, 08:41:56 PM
Mas sugerencias:


Ya se ha hablado de que a muchos usuarios nos encantaría una arquitectura basada en programación orientada a objetos con sus herencias y todas las ventajas que ello brinda, pero, no es el propósito de este BennuGD 2 y es prioritario dedicar los esfuerzos a la aceleración GPU.


Lo que si se agradecería, al menos por mi parte, es una mejora en el sistema de variables locales. Sucede, en muchas ocasiones, que se quiere compartir variables entre procesos pero no para todos ellos. Las variables locales están muy bien, pero al crearse para todos los procesos que utilice el juego, se produce un desperdicio de memoria.
Mi sugerencia es la posibilidad de crear variables locales por TYPE del proceso, que todo los procesos puedan leer y acceder a esas variables pero solo se creen para los procesos de ese tipo. Asi, podriamos "emular" un poco el paradigma del POO encapsulando en procesos los tipos propios que necesitemos.

para eso tenes las variables PUBLIC


:-[ :-[  Mil Disculpas Splinter. Las public son exactamente lo que buscaba, no sé como se me ha pasado!

SplinterGU

no hay nada que disculpar... me alegra que te haya servido... para eso estamos... :)
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Ruter106

En primer lugar agradecerte SplinterGU el lavado de cara que le vas a hacer a BennuGD.

En lo referente a la agrupación de los módulos  coincido en lo que se ha dicho hasta el momento, que aprece coincidir con lo que tú tenías en mente:


  • módulo video
  • módulo input
  • módulo sonido
  • módulo red
  • módulo features

El número de módulos no parece excesivamente alto y los 3 primeros deberían ser los que siempre se importarían en cualquier proyecto. Puede que para que no se carguen cosas de más, descomponer el módulo features, que asumo que tendría características no necesarias para un proyecto y que fuesen meramente optativas.

En lo referente a la retrocompatibilidad como dice también blostec, yo no me preocuparía de ello y haz todos los cambios que consideres oportunos para mejorar BennuGD. Siempre se puede dejar accesible la versión actual a modo de versión "legacy" con la documentación incluida.

Para la migración de proyectos a la nueva versión, se puede hacer un manual o conjunto de scripts (si se pudiese) para migrar los proyectos.




SplinterGU

gracias... si, sera un branch...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Ruter106

SplinterGu,

¿se encuentra el código de BennuGD en algún repositorio tipo Google Code, Codeplex, Github o Bitbucket?

Digo porque comentabas lo del branch. Sé que se puede descargar el código fuente de la web, estaría bien usar alguno de los citados.

Un saludo y gracias de nuevo!

SplinterGU

de la version 1.0 esta en sourceforge.

la 2.0 aun no esta disponible.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

danielt3


Algumas sugestões


1.) Splinter poderia integrar novas libs para crypto (OpenSSL) ao inves de usar libs antigas (libEAY)


2.) Uma coisa que acho importante é facilitar o port para novas plataformas. Talvez escrever um manual sobre isso. Quando eu estava portando a versão 1.0 para PSP foi trabalhoso encontrar os caminhos. Tenho algumas sugestões do que poderia ser feito no codigo para facilitar isso mas preciso encontrar as modificações que fiz e enviar;


3.) Mudar o sistema de build para um sistema mais novo tambem seria bom. Talvez usar CMake, SCons, etc;

---

Daniel

SplinterGU

no se si SDL2 esta para PSP
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

JaViS

Quote from: danielt3 on October 06, 2014, 01:17:04 PM

Algumas sugestões


1.) Splinter poderia integrar novas libs para crypto (OpenSSL) ao inves de usar libs antigas (libEAY)


2.) Uma coisa que acho importante é facilitar o port para novas plataformas. Talvez escrever um manual sobre isso. Quando eu estava portando a versão 1.0 para PSP foi trabalhoso encontrar os caminhos. Tenho algumas sugestões do que poderia ser feito no codigo para facilitar isso mas preciso encontrar as modificações que fiz e enviar;


3.) Mudar o sistema de build para um sistema mais novo tambem seria bom. Talvez usar CMake, SCons, etc;


Son todas muy buenas sugerencias. El tema de facilitar el port a  nuevas plataformas me parece muy importante, porque es uno de los puntos fuertes de Bennu.
Working on Anarkade. A couch multiplayer 2D shooter.