Avances, Diario de...

Started by SplinterGU, April 17, 2008, 03:00:51 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

SplinterGU

Abro este hilo para ir comentando los avances importantes que vayan surgiendo...

Al 16/04/2008

Ya existe una version reducida del core... solo instrucciones basicas de la maquina virtual, sin ninguna dependencia a video, sonido, teclado, etc... solo procesos, jerarquias, prioridades, y esas cosas...
Aparicion de la primera version Linux.
Aparicion nuevamente de la consola de la aplicacion, adios stdout.txt y stderr.txt.
Core (compilador e interprete) sin ninguna dependencia a SDL.
Modulos que no usan SDL, ya no dependen de esta.
Interprete de alrededor de 40k (menos) tanto en linux como en windows. Libreria de runtime de 199k, modulos un promedio de 8k, algunos menos (5k) y otros mas (37k)
De momento no hay modulos de todo aquello que tenga que ver con video y formatos graficos, estoy trabajando en eso.

Bien esas son las novedades que queria compartir del dia de hoy.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

DCelso

Que gran noticia.
¿Para cuando soltarás una versión de pruebas del nuevo sistema?, me pica la curiosidad usar bennugd sin soporte gráfico ni de sonido ni de teclado.  Solo se podrán hacer aplicaciones del tipo hola mundo ¿No?;D.
Saludos.
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

Elelegido

Quote from: dcelso on April 18, 2008, 07:30:25 AM
Que gran noticia.
¿Para cuando soltarás una versión de pruebas del nuevo sistema?, me pica la curiosidad usar bennugd sin soporte gráfico ni de sonido ni de teclado.  Solo se podrán hacer aplicaciones del tipo hola mundo ¿No?;D.
Saludos.

Yo creo que ni eso, a no ser que se hayan creado para la ocasión nuevas funciones (o quizas ya existian?) para tirar texto por la consola. Ánimo Splinter ^^

SplinterGU

#3
Existian esas funciones... ahora mismo las quite... de momento... con la version que funcional tengo se puede hacer todo lo que no impleque un mapa ni salida a pantalla... pero bueno, hacer una dll que implemente el SAY son 2 minutos...

Ya el core esta limpio como para liberarlo... pero se que me faltan algunas cosas, por ejemplo:

- Tema de byteorder en el dcb... hacerlo de una vez por todas 100% compatible entre plataformas...
- Dependencias de modulos... esto es, si un modulo depende de otro modulo o libreria, que esta sea importada automaticamente y sin necesidad de tener que incluirla en un import (codigo o archivo)
- Warning al declarar desde un modulo constantes o variables ya existentes... siempre y cuando el valor o prototipo de la misma coincidan... o quizas la posibilidad de poder declarar si no existe...
- Ver posibilidad de no requerir el -Ca para poder compilar con funciones no declaradas, pero que el -Ca pase a ser algo asi como -pendantic del C...

Y algunas otras cosas mas que ahora mismo no recuerdo, pero las tengo anotadas por ahi... y primero quiero tener los modulos que ya existian listos, para que no me quede nada del core faltante a la hora de implementar algun modulo.

Tambien estoy pensando quitar el soporte de mapas animados... la verdad que no me parece muy practico, los mapas estandard deberian ser algo basico.... y no es demasiado complejo animar un mapa por codigo... creo que no vale la pena... igual actualmente no se estan usando porque no estan terminados, y si bien trabaje bastante en eso no me preocupa mucho tirar ese trabajo...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

DCelso

Me parece bien quitar el soporte que comentas de mapas animados, si alguien los usaba es facil readaptarlos en código.
Pero podría dejarnos ya una versioncilla del core del bennugd tal y como está aunque no sirva ni para hacer hola mundos :D.
Asi podríamos incluso buscar fallos al núcleo.
Saludos.
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

TYCO

Quote from: SplinterGU on April 21, 2008, 10:25:33 PM
Tambien estoy pensando quitar el soporte de mapas animados... la verdad que no me parece muy practico, los mapas estandard deberian ser algo basico.... y no es demasiado complejo animar un mapa por codigo... creo que no vale la pena... igual actualmente no se estan usando porque no estan terminados, y si bien trabaje bastante en eso no me preocupa mucho tirar ese trabajo...

Tienes razon, no es dificil animar un mapa por codigo incluso creo que es mas personalizable por codigo (quizas me equivoco no se). Pero si te ha llevado mucho trabajo ponerlo al dia, compensa tirarlo a la basura?

Realmente no se como empezo el tema de meter animaciones en un fgc, supongo seria hacer mas comodo a un novato hacer un loop de animacion?? yo en mi proyecto no tengo animaciones por fgc, lo tengo todo por codigo.

PD: Gracias por todo SplinterGU y tiene un pinta estupenda.
Programador, Escritor/Guionista y Deportista.

Todo Modo Gráfico tiene por detrás una Línea de Comandos.

SnowCraft Remake (100%)
Rally Mortal (87%)

GINO

Hombre tanto los fgc como los fbm tienen la estructura para meter animaciones desde el principio. Es en los map/fpg donde si que no tiene ningun sentio extender eso.
Yo las animaciones predefinidas en fichero no lo veo mal, aunque siempre he dicho que el sistema que esta ahora no me parece el mejor.
YUUAAA KAA

SplinterGU

#7
dcelso: Pronto pondre una preview del core reducido... a modo demo, no final... quizas hoy al fin del dia...

TYCO: No importa tirar cosas a la basura (aunque guarda backup por si en el futuro parte del codigo me sirve para alguna libreria) si es para clarificar y ordenar un poco mas las cosas.

GINO: Si, esos formatos graficos siempre estuvieron preparados para animaciones, pero nunca estuvieron funcionales, hasta la 0.93preview9 que esta a un 98% funcional... pero lamentablemente, todos los datos asociados a esto estan metidos internamente en las mismas estructuras que estan los datos de los MAPS... a nivel interno no existen los conceptos de fgc, fbm, fpl... todo se termina traduciendo a los clasicos fpg, map, pal... y las animaciones creo que son un desproposito... y a esta altura no tiene sentido hacer un reanalisis de todo el sistema de animaciones, cuando es demasiado facil escribirlo por codigo... seria algo diferente si nuestro bennu seria un browser o una aplicacion que no permite codificar, en ese caso, un grafico al estilo gif animado seria espectacular, pero aca es otra historia...

Nuevos avances:

- Se quitaron los formatos fgc, fbm y fpl... se volveran a introducir soporte completo a los formatos fpg, map y pal...
- Se divide lo que es fpg, map y map... en 3 partes: libreria base (creacion/borrado/navegacion), librerias de carga de ficheros, libreria de funciones de manipulacion...
- Se quita de las librerias base toda dependencia a SDL. (Al hacer esto, tambien se esta ganando velocidad, ya que se usaban estructuras de datos SDL y para usarlas nunca se usaban en formato SDL, y habia que hacer conversiones para luego usarlas... por ejemplo, datos rgb de las paletas)
- Se empieza a dar soporte a 32bits... (por ahora no render)
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

GINO

jejeje entonces habra unos nuevos formatos con cabecera f32 y m32 no?
YUUAAA KAA

SplinterGU

Posiblemente... todavia no llegue a esa parte...

Tengo pensado de dar soporte a algun tipo de archivo empaquetado, quizas un zip standard o algo similar... donde podamos meter todos los archivos que querramos facilmente... quizas usar .zip como si fueses .fpg y que el nombre de cada uno de los archivos (numerico) sea el id del grafico (podrian ser 001.bmp, 002.png, etc)... seria muy simple manipularlos, incluso se podrian guardar con password... pero bueno, de cualquier forma esto seria un modulo...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

TYCO

Quote from: SplinterGU on April 22, 2008, 12:27:16 PM
- Se quitaron los formatos fgc, fbm y fpl... se volveran a introducir soporte completo a los formatos fpg, map y pal...
Entonces nada de load/save de fgc, fbm ni fpl; y solo queda load/save fpg, map y pal?? Si es asi en Bennu me das una alegria porque como bien dices en memoria se trataban por igual, y mejor no tener funciones repetidas que hacian practicamente lo mismo (ahora que se quitan las animaciones de graficos).

Quote from: SplinterGU on April 22, 2008, 12:27:16 PM
- Se quita de las librerias base toda dependencia a SDL. (Al hacer esto, tambien se esta ganando velocidad, ya que se usaban estructuras de datos SDL y para usarlas nunca se usaban en formato SDL, y habia que hacer conversiones para luego usarlas... por ejemplo, datos rgb de las paletas)
Significa esto que para hacer un juego mas o menos con graficos y sonidos y tal habra que inicializar la SDL o algo parecido, con alguna instruccion no como la "mod_sdlevthandler (install SDL event handler)"???

Quote from: SplinterGU on April 22, 2008, 12:27:16 PM
- Se empieza a dar soporte a 32bits... (por ahora no render)
Eres un maestro y no tienes limites.
Programador, Escritor/Guionista y Deportista.

Todo Modo Gráfico tiene por detrás una Línea de Comandos.

SnowCraft Remake (100%)
Rally Mortal (87%)

SplinterGU

Con respecto a las dependencias SDL es solo librerias de nivel mas basico, las de alto nivel por ahora si tienen dependencias SDL, y a nivel programador Bennu no hay que hacer nada...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Drumpi

Como se nota que ya no hay presiones por el tema de fpg y map.
Y el uso de estos ¿serán los de siempre o hay modificaciones en el formato?
Por cierto, pensé que no ibas a meter 32bits en los mapas, es bueno saber que se está haciendo (sobre todo porque, si se está escribiendo el código de cero, ya es trabajo que te ahorras si finalmente decides incluirlo oficialmente), pero no te agotes mucho con ello ^^

Por cierto, respecto a las animaciones... si el gráfico ya está animado de por sí, no es por ahorrar código al programador, pero creo que siempre irá más rápido si se anima internamente que por el propio código... aunque claro, dadas las máquinas de hoy, eso ni se nota ^^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)

SplinterGU

Sinceramente, no me importa si hay presiones o no de los fpg o map... en todo caso es un modulo, asi que de ultima se quita y ya... pero primero me tienen que encontrar... :P
Por ahora seran los de siempre... no se si para los 32bits tendre que modificar algo del formato... por ahora no estoy metido con eso... voy paso a paso...
Tenerlo interno o no, no mejora absolutamente nada... ya que no se hacen animaciones de 1000 frames por segundo... asi que no afecta en lo mas minimo...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

SplinterGU

#14
Aca les dejo lo prometido...

No hay ningun modulo de salida a video... ni siquiera a consola... pero si compilan con -g (informacion de debug) y luego ejecutan con -d podran ver en consola el trace (mejorado con respecto a Fenix) de lo que se va ejecutando...

Tambien se corrigen muchos errores tanto de Fenix como algunos de la ultima Bennu preview...

ATENCION: Esto es experimental, no tomarlo para hacer proyectos ya que tiene un set reducido de instrucciones, todo lo que tiene que ver con graficos no se incluye... asi sea usar un mapa para poner el iconito a la ventana de ejecucion...
Se requiere la instalacion de librerias SDL, SDL_Mixer, etc... leer el readme.txt

Tambien dejo unos ejemplos...

Otra cuestion, en linux agregar en la consola donde corren el bgdi la variable de enviroment LD_LIBRARY_PATH con el valor del directorio donde se encuentran las librerias .so, por ejemplo:

export LD_LIBRARY_PATH=/opt/bennu/modules

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