miércoles, 24 de agosto de 2005

Avances en Species Circus

Paso a detallar los avances en el juego:

- Creación de los archivos de recursos de texto y sus clases para accederlos. Esto permitirá tener el juego en distintos idiomas con sólo modificar la configuración inicial.

- Clases Manager para Entidades, Gráficos, Eventos, etc.

- Clases para mantener en memoria las Texturas y Meshes con Irrlicht.

- Ya están los módulos para controlar Jugador - Naves - Planetas - Sistemas Solares. Están los manager de cada uno de éstos, con las separaciones en clases para control de datos (Model), control de gráficos (View) y control de eventos (Controller)

- Está el módulo que genera dinámicamente el Universo al cargar el juego.

- Control de estados del juego. Desarrollé un sistema de estados y subestados que dirigirá todo el flujo del juego. Desde el loop principal, hacia los distintos subsistemas.

Aclarar que todo está en prototipo y sin profundizar en detalles. Por ejemplo, de las Naves controlo simplemente ubicación, ID y Mesh. Similar para los Planetas. Pero la funcionalidad no va a variar demasiado, es simplemente agregarle propiedades y capacidades.

Nos leemos.

jueves, 11 de agosto de 2005

El diseño base

Después de un mes de probar el motor Irrlicht, ya entiendo bastante lo que puede dar... así que comienzo a armar la estructura base del juego.

Como escribí en su momento, voy a tratar de seguir una arquitectura MVC, aunque tal vez con alguna variante. Hay dos textos muy interesantes, de los cuales extraje info como para desarrollar el diseño del juego:

- Página en Gamasutra
http://www.gamasutra.com/features/20050414/rouwe_01.shtml

- Este es un .pdf que se puede bajar de varios lugares:
"Architecture for a massively multiplayer online role playing game engine"

Por supuesto que también tengo varios libros piratas bajados de la web...

Nos leemos,

martes, 2 de agosto de 2005

Moviendo la cámara

Al fin encontré la forma de rotar la cámara alrededor de un objeto ubicado en el centro de la pantalla... No había nada específico sobre eso con Irrlicht, hasta pregunté en Stratos.
Las ideas que me dieron estaban acertadas a medias.
Ya de última, apareció en el search un viejo post en Irrlicht, sobre ese tipo de rotación, basado en el juego Never Winter Nights.
Es código c++, pero lo pude adaptar sin problemas a .Net
Ahora sólo resta integrarlo al resto de funciones de movimiento de cámara que ya tengo funcionando bien.
La idea es que el player vea inicialmente un sistema solar desde lejos, con todos sus componentes y luego pueda desplazarse, hacer zoom, rotar, etc. para ubicarse en cualquier lugar del mismo.
Para eso necesito una cámara totalmente ágil y poderosa, que se mueva al estilo de Black & White, donde podés hacer lo que quieras.
Cuando tenga toda esa funcionalidad, voy a poner un tutorial en Irrlicht, para los que vienen renegando con la versión .Net, como yo.