jueves, 20 de diciembre de 2007

Demo: Water

Otro demo mas a la cuenta. En esta ocasión se trata de un simulador de superficies, escrito para Ogre, en el cual podemos observar algunas características interesantes de este motor de gráficos.



Water ( Gamegine + Ogre)

Por otra parte, me he dado a la tarea de rediseñar el pipeline de ejecución del framework. Ahora, en Gamegine, es posible trabajar con un GameController predefinido o escribir el propio e implementarlo en tu aplicación. Un GameController, como su nombre lo indica, controla el programa, o dicho de mejor forma, controla el flujo del programa. Es importante hacer notar que el framework está diseñado para que ustedes mismos armen su motor de la manera que ustedes prefieran, o simplemente usar los controladores básicos.

Hoy vamos a hablar del pipeline de ejecución. Este, no es otra cosa que una colección de objetos que se ejecutan secuencialmente, siendo que al terminar la ejecución del último elemento en la lista se termina la aplicación. Más adelante hablaremos de como cambiar este comportamiento, por ahora nos centraremos en definir un GameHandler. Este es, en palabras sencillas, un elemento dentro del pipeline (cola) de ejecución. Un handler puede ser cualquier cosa que ustedes deseen implementar, siendo su representación más natural un objeto de tipo GameLevel. Este último es el elemento a implementar si queremos agregar algo a nuestros programas. En próximos tutoriales veremos más información sobre estos elementos del framework.

.

lunes, 17 de diciembre de 2007

una pequeña pausa

Seguramente se preguntan "que ha pasado con el desarrollo de tan no famoso framework?", pues simplemente ha tenido que pasar al cajon por unos dias, porque me encuentro trabajando en un sitio Web bajo en cargo, pero estos dias debo retomar el proyecto.

En estos momentos me encuentro rediseñando el sistema de control de flujo en el juego, de tal manera que sea posible cargar al pipeline de ejecucion, cualquier otro objeto que no sea un nivel de juego. De esta manera sera posible cargar pantallas de presentacion, videos, paneles con informacion, etc; ademas de juegos.

Mas noticias en un par de dias.

.

miércoles, 12 de diciembre de 2007

demo: CelShading

Otro demo más a la cuenta, este se trata de un programa que explica la forma en la que se pueden cargar efectos al renderer, como el "CelShading".


CelShading (Gamegine + Ogre)

Ahora me encuentro rehaciendo la parte de inicialización y liberación de recursos, ya que ha estado tronando. Espero este fin de semana comenzar con un juego-tutorial que se me ha ocurrido.

.

martes, 11 de diciembre de 2007

demo: camera track

Un demo más a la cuenta. Esta vez fue extremadamente sencillo echar a andar el demo de Ogre que se llama CameraTrack, cuyo objetivo es mostrarte que este motor es capaz de crear un objeto que pueda seguir una ruta predeterminada (algo así como un riel).

Por ahora, continuaré portando los demos de Ogre, de tal manera que sirvan para una base de cómo debe implementarse una aplicación Ogre dentro de Gamegine, pero la próxima semana comenzaremos con demos propios.


Camera Track (Gamegine + Ogre)

Ya estoy pensando en la mascota para Gamegine, aunque tal vez aun es muy pronto. Se aceptan sugerencias.

.

lunes, 10 de diciembre de 2007

captura de perifericos

Finalmente, he terminado de implementarle control de periféricos al gamegine framework, aunque el único que he probado, hasta el momento, es el del mouse. Mañana estaré probando con el teclado y probablemente la próxima semana podamos hacer algún demo que controle un joystick.

La idea principal dentro del gamegine es la modularidad (algunos le dan otro nombre). El otro día venía haciendo cuentas y descubrí que dentro de poco cumpliré diez años como desarrollador de software. Así que sé de lo que les hablo cuando les digo que el éxito de un programa depende, en gran medida, de su habilidad para adaptarse a los cambios. Pero, ¿cuales cambios?, me dirán. En realidad pueden ser cambios estratégicos, como la implementación de una nueva herramienta, o el mantenimiento de la misma, así como poder quitar y poner elementos sin que la aplicación se venga abajo. Así, es posible tener el engine trabajando sin la necesidad de cargar una librería de física, por ejemplo, sonido u otra cosa; y luego echarla a andar simplemente con agregarla al archivo de configuración.

El sistema de control de periféricos que he diseñado es un muy buen ejemplo de lo que les digo. Por ejemplo, para poder escuchar cambios en el movimiento del mouse, lo que necesito hacer es crear una clase que herede de una interfaz de nombre "GameInputMouseListener" y sobrecagar el método asociado al evento que me interese escuchar. Esta clase, de forma interna y, portanto, transparente, se inscribe al servicio de escucha del periférico y se da de baja cuando ya no sea necesario. También, depende de la configuración del framework el determinar qué librería se ha de encargar de llevar a cabo esta tarea. Para tí, lo único que tuviste porqué preocuparte es por sobrecargar un método.

Vamos a documentar muy bien estas características en otro post, mientras tanto, visiten el sitio oficial del gamegine para ir conocientdo como va el asunto.

Por mi parte, estaré posteando más seguido para comentarles el avance del desarrollo del framework, así como plticando de nuevos planes, como el desarrollo de un juego que ha de servir de tutorial para iniciarse en el uso de estas librerías.

.

jueves, 6 de diciembre de 2007

esta vivo!!

Casi un mes desde mi ultimo post, y es que por aca, con Gamegine, ha habido enormes cambios. De hecho, el proyecto se ha transformato tanto que casi debi cambiarle el nombre, pero no va a ser así, en escencia, sigue siendo el mismo.

Todo ocurrio hace un par de semanas, leyendo algunos mails del grupo de IGDA Mexico, cuando me di cuenta que necesitaba hacer algunos cambios.

El motor de juegos ha cambiado, así como el enfoque que éste ha tomado, pero la idea sigue siendo la misma: un framework para el desarrollo de videojuegos. Por ahora, falta resolver el modo en el que los jugadores interactúan con los dispositivos de entrada, la forma en la que entran en juegos los menús y las trancisiones entre una escena y otra; por mencionar algunas de las cosas que se me ocurren.

Ya les mostraré más avances hoy en la noche, mientras tanto, les dejo con la primera imagen que he sacado del framework. Se trata de un remake del demo "Beizer Patch" que viene con Ogre, pero utilzando el framework de Gamegine. En mails posteriores les explicaré como funciona el framework.




Beizer Patch Demo (Gamegine + Ogre)

.