viernes, 31 de agosto de 2007

¿Y dónde pongo los sprites?

He retrasado todo lo que he podido la implementación de la escena interactiva por que quería estar completamente seguro del diseño.
Tengo dos clases que manejan el comportamiento del programa. La clase juego, gestiona las llamadas a la librería SDL, guarda los datos persistentes del juego y manda eventos a la clase escena. La clase escena se instancia para cada escena, y modifica los datos de la clase juego en respuesta a los eventos recibidos.
Cada vez que se crea una escena nueva, hay que cargar los sprites, sonidos, reglas, y todo lo relacionado con la escena. Pero, ¿dónde se cargan?. Parece que lo lógico sería que todo lo de la escena fuera propiedad privada de la clase escena. Pero eso son datos que va a utilizar SDL en realidad. Los sprites serán pngs que se "blitearán" a la pantalla. Y los sonidos lo mismo. Así que he decidido que todo lo que tenga relación con SDL estará en la clase juego. Crearé los arrays de sprites y sonidos como propiedad privada de la clase juego. Como los punteros de cada instancia son conocidos, haré que en el constructor de la escena se carguen los sprites en la clase juego.

Código fuente

Vamos a publicar lo que llevamos hecho:

http://www.arrakis.es/~cesrodmo/theaberrant_20070831.zip

Si alguien lo pide, publicaré un binario con un par de escenas de ejemplo.

martes, 21 de agosto de 2007

ping?

pong!

miércoles, 15 de agosto de 2007

Nueva versión de Work Logger

Ya se graba la hora correctamente en los log.

martes, 14 de agosto de 2007

Reproductor de vídeo terminado.

El engine ya tiene una funcionalidad mínima como secuenciador de vídeo :) Ahora soy capaz de ordenar escenas de vídeo, definir la siguiente escena, salir del juego con una tecla determinada y responder al teclado. He implementado un sistema simple de eventos que servirá de base para las escenas interactivas.
Empieza la parte realmente interesante; crear las listas de sprites y sonidos, reproducirlos en orden, crear los eventos adecuados y hacerlo todo orientado a un desarrollo del juego rápido y sencillo dentro de lo que cabe.

En otro orden de cosas, me he dado cuenta que el Work Logger pone los "timestamps" con dos horas de retraso. Luego lo arreglo.

viernes, 10 de agosto de 2007

Work Logger

Esto no esta relacionado con el juego, pero creo que merece la pena ponerlo aquí. A lo mejor a alguien le resulta útil...
He hecho una pequeña utilidad para windows que sirve para llevar un registro de lo que haces. Abres el programa, escribes lo que has hecho y lo cierras. Nada más. El programa te deja un registro en tu escritorio con la hora de la entrada y la entrada.
Luego si alguien te pregunta, o tienes que decirle a otra persona lo que llevas hecho, sólo tienes que pasarle el log.

Código fuente: worklogger.zip
Binario: worklogger.exe

jueves, 2 de agosto de 2007

Eventos, condiciones y acciones

Este fin de semana voy a tratar de solucionar un problema que, cada vez que lo pienso, se vuelve más complicado dentro de mi cabeza.
Necesito crear un sistema para cambiar las propiedades del objeto juego y el objeto escena, que se configure en cada escena, que reaccione a los clicks del ratón o a temporizadores ajustados y que dependa de cualquier propiedad del objeto juego o del objeto escena.
Ya contaré más sobre el tema.