Sábado, 29 de diciembre del 2007
OpenAL, primer bache en el camino
En Project Football hemos llegado al que se puede considerar el primer bache en el camino de su desarrollo.
Para el sistema de sonido de Project Football habíamos estado barajando varias alternativas, saliendo ganadora OpenAL principalmente por ser multiplataforma y permitir un entorno 3D donde reproducir audio. Esto último no era un requisito de Project Football, pero dado que la biblioteca lo permitía nos dijimos ¿por qué no?, así en un futuro se le podría buscar un uso a esa característica. Sin embargo la elección no ha sido tan acertada como esperábamos.
Continua leyendo "OpenAL, primer bache en el ... »
Para el sistema de sonido de Project Football habíamos estado barajando varias alternativas, saliendo ganadora OpenAL principalmente por ser multiplataforma y permitir un entorno 3D donde reproducir audio. Esto último no era un requisito de Project Football, pero dado que la biblioteca lo permitía nos dijimos ¿por qué no?, así en un futuro se le podría buscar un uso a esa característica. Sin embargo la elección no ha sido tan acertada como esperábamos.
Continua leyendo "OpenAL, primer bache en el ... »
Jueves, 27 de diciembre del 2007
Nuevas secciones en el blog: Imágenes y Descargas
Hoy añadimos un par de secciones nuevas al blog, estas son Imágenes y Descargas.
En la sección de Imágenes se irán publicando las capturas de pantalla realizadas durante el desarrollo de Project Football, con lo que irá quedando un histórico visual de la evolución de este juego de fútbol.
En la sección de Descargas encontraréis los enlaces directos a los últimos paquetes publicados de Project Football, tanto para las versiones estables como las de desarrollo. Con esto esperamos que os sea más fácil encontrar siempre la última versión del juego en vuestro formato favorito (código fuente, Linux, Windows, etc), sin tener que buscarla entre los ficheros de la Forja en RedIris.
Por último, os dejo una nueva captura de pantalla de desarrollo, en la que se ve (o se intuye) como será la vista 2D del simulador. Nuestra idea es que mientras vemos el partido simulado en la parte derecha de la pantalla, en la parte izquierda podamos tomar decisiones y dar órdenes tácticas a los jugadores, para que estos cambien su comportamiento en tiempo real durante la simulación.
En la sección de Imágenes se irán publicando las capturas de pantalla realizadas durante el desarrollo de Project Football, con lo que irá quedando un histórico visual de la evolución de este juego de fútbol.
En la sección de Descargas encontraréis los enlaces directos a los últimos paquetes publicados de Project Football, tanto para las versiones estables como las de desarrollo. Con esto esperamos que os sea más fácil encontrar siempre la última versión del juego en vuestro formato favorito (código fuente, Linux, Windows, etc), sin tener que buscarla entre los ficheros de la Forja en RedIris.
Por último, os dejo una nueva captura de pantalla de desarrollo, en la que se ve (o se intuye) como será la vista 2D del simulador. Nuestra idea es que mientras vemos el partido simulado en la parte derecha de la pantalla, en la parte izquierda podamos tomar decisiones y dar órdenes tácticas a los jugadores, para que estos cambien su comportamiento en tiempo real durante la simulación.
Lunes, 24 de diciembre del 2007
Versión 0.0.2 de Project Football
Ya se encuentra disponible la versión 0.0.2 de Project Football. Como ya hemos comentado anteriormente, aún no tiene elementos jugables, pero ahí está para quien quiera ir probando lo que vamos haciendo.
En esta versión hemos realizado varias mejoras en el motor del juego y ahora es mucho más flexible. Nos hemos esforzado en que el comportamiento y el aspecto del juego sea bastante configurable, pudiéndose realizar muchos cambios editando sólo ficheros de configuración, XML, o scripts en Lua.
Un ejemplo de ello es el sistema de skins para la interfaz de usuario, ahora mismo hay dos skins incluidos "DefaultSkin" y "CleanSkin", los cuales se pueden intercambiar editando el fichero de configuración del juego.
Como la mayoría de los cambios han sido internos del motor, he realizado unas pruebas modelando un "jugador" para el simulador (un gallofante para quien adivine de qué equipo es), y lo he añadido en la vista 3D encima de un "campo de fútbol". Las comillas se deben a mis reducidas dotes artísticas, y a que tampoco he puesto mucho esmero (30 segundos para dibujar el campo con Gimp), al ser sólo una pequeña prueba. La cámara de la vista 3D puede moverse mediante las teclas WSAD, y cambiar la altura mediante las teclas RePag y AvPag (para activar el teclado hay que pulsar con el ratón sobre la imagen).
Al ejecutar el juego por primera vez, se crea en el directorio "data" un fichero de configuración, en el que podéis cambiar algunas opciones como la resolución, velocidad del ratón o el skin. Si activáis la opción VSync, el juego consumirá muchos menos recursos de CPU, aunque esta funcionalidad por ahora sólo hemos conseguido que funcione en tarjetas gráficas NVIDIA.
El registro completo de cambios lo podéis leer en la forja, donde también se puede descargar esta versión en dos tipos de paquetes: código fuente (incluye script para compilar), o compilado dinámicamente para procesadores i386 en Linux.
Por cierto, feliz navidad a todos
En esta versión hemos realizado varias mejoras en el motor del juego y ahora es mucho más flexible. Nos hemos esforzado en que el comportamiento y el aspecto del juego sea bastante configurable, pudiéndose realizar muchos cambios editando sólo ficheros de configuración, XML, o scripts en Lua.
Un ejemplo de ello es el sistema de skins para la interfaz de usuario, ahora mismo hay dos skins incluidos "DefaultSkin" y "CleanSkin", los cuales se pueden intercambiar editando el fichero de configuración del juego.
Como la mayoría de los cambios han sido internos del motor, he realizado unas pruebas modelando un "jugador" para el simulador (un gallofante para quien adivine de qué equipo es), y lo he añadido en la vista 3D encima de un "campo de fútbol". Las comillas se deben a mis reducidas dotes artísticas, y a que tampoco he puesto mucho esmero (30 segundos para dibujar el campo con Gimp), al ser sólo una pequeña prueba. La cámara de la vista 3D puede moverse mediante las teclas WSAD, y cambiar la altura mediante las teclas RePag y AvPag (para activar el teclado hay que pulsar con el ratón sobre la imagen).
Al ejecutar el juego por primera vez, se crea en el directorio "data" un fichero de configuración, en el que podéis cambiar algunas opciones como la resolución, velocidad del ratón o el skin. Si activáis la opción VSync, el juego consumirá muchos menos recursos de CPU, aunque esta funcionalidad por ahora sólo hemos conseguido que funcione en tarjetas gráficas NVIDIA.
El registro completo de cambios lo podéis leer en la forja, donde también se puede descargar esta versión en dos tipos de paquetes: código fuente (incluye script para compilar), o compilado dinámicamente para procesadores i386 en Linux.
Por cierto, feliz navidad a todos
Domingo, 16 de diciembre del 2007
Camino de la iteración 02
En Project Football estamos siguiendo la metodología Feature Driven Development, en la que hay que realizar iteraciones de unas dos semanas, publicando una nueva versión de la aplicación al finalizar la iteración. Ya nos encontramos desarrollando lo que será la iteración 02 del proyecto, y os preguntareis ¿donde está la release de la 01?. La respuesta oficial es "no va a haber release de la iteración 01". Como hemos tenido un pequeño retraso por exámenes y los cambios introducidos en la iteración 01 son internos del motor, vamos a publicar la siguiente versión de Project Football cuando finalicemos la iteración 02.
Los objetivos definidos, para cada iteración de Project Football, los podéis encontrar en el gestor de tareas de la forja. Ahora ya disponemos de nuestro propio sistema de logs, donde podremos almacenar información de depuración de la aplicación, tenemos nuestro propio sistema de opciones, por lo que ya no es necesaria la ventana inicial de Ogre, y tenemos un sistema básico de scripts en Lua, que nos ayudará en un desarrollo más ágil.
Se ha incluido también un soporte inicial de skins, para que los usuarios puedan crear sus propios skins para el juego. Nosotros crearemos una interfaz básica durante el desarrollo y a partir de ella, deseamos que los usuarios puedan aportar sus propias interfaces alternativas para el juego. Por ahora el sistema es bastante flexible, pero tiene algunas limitaciones que esperamos superar en próximas iteraciones.
Como podéis ver, seguimos inmersos en tareas de desarrollo del motor del juego, y hasta la iteración 04 aproximadamente no esperamos tener algo de jugabilidad en Project Football.
Los objetivos definidos, para cada iteración de Project Football, los podéis encontrar en el gestor de tareas de la forja. Ahora ya disponemos de nuestro propio sistema de logs, donde podremos almacenar información de depuración de la aplicación, tenemos nuestro propio sistema de opciones, por lo que ya no es necesaria la ventana inicial de Ogre, y tenemos un sistema básico de scripts en Lua, que nos ayudará en un desarrollo más ágil.
Se ha incluido también un soporte inicial de skins, para que los usuarios puedan crear sus propios skins para el juego. Nosotros crearemos una interfaz básica durante el desarrollo y a partir de ella, deseamos que los usuarios puedan aportar sus propias interfaces alternativas para el juego. Por ahora el sistema es bastante flexible, pero tiene algunas limitaciones que esperamos superar en próximas iteraciones.
Como podéis ver, seguimos inmersos en tareas de desarrollo del motor del juego, y hasta la iteración 04 aproximadamente no esperamos tener algo de jugabilidad en Project Football.
Domingo, 9 de diciembre del 2007
Integrando Lua en el proyecto
En esta semana he estado estudiando como añadir un sistema de scripting en el proyecto. No tenía experiencia previa, por lo que he tenido que leer bastante documentación al respecto.
En Project Football estamos utilizando como lenguaje principal C++, por lo que cuando se hace cualquier cambio es necesario compilar toda la aplicación para poder probar el efecto de ese cambio. Un sistema de scripting permite realizar determinadas tareas de la aplicación (normalmente la lógica del juego) en un lenguaje interpretado, por lo que al cambiar estas partes no es necesario volver a compilar la aplicación y se pueden realizar las pruebas inmediatamente.
Tras mirar varias alternativas y consultar a algunas personas (gracias Roger), finalmente vamos a utilizar Lua como lenguaje de scripting, en combinación con Swig para buscar la integración con C++. Si bien el sistema no es muy complejo en cuanto a número de líneas de código (lo podéis ver en la clase "CLuaManager" del directorio "utils"), sí es algo complicado de entender (sobre todo porque mucha de la documentación disponible en Internet está obsoleta).
Continua leyendo "Integrando Lua en el proyecto" »
En Project Football estamos utilizando como lenguaje principal C++, por lo que cuando se hace cualquier cambio es necesario compilar toda la aplicación para poder probar el efecto de ese cambio. Un sistema de scripting permite realizar determinadas tareas de la aplicación (normalmente la lógica del juego) en un lenguaje interpretado, por lo que al cambiar estas partes no es necesario volver a compilar la aplicación y se pueden realizar las pruebas inmediatamente.
Tras mirar varias alternativas y consultar a algunas personas (gracias Roger), finalmente vamos a utilizar Lua como lenguaje de scripting, en combinación con Swig para buscar la integración con C++. Si bien el sistema no es muy complejo en cuanto a número de líneas de código (lo podéis ver en la clase "CLuaManager" del directorio "utils"), sí es algo complicado de entender (sobre todo porque mucha de la documentación disponible en Internet está obsoleta).
Continua leyendo "Integrando Lua en el proyecto" »
Miércoles, 5 de diciembre del 2007
Adonde queremos ir con Project Football
En el blog de Ikaro Games hablaremos sobre el desarrollo de Project Football y de otros juegos que vayamos desarrollando, siempre con el objetivo de publicar los juegos como software libre.
Otro punto a destacar es que los juegos serán siempre publicados para GNU/Linux, puesto que es nuestra plataforma de desarrollo, si bien serán multiplataforma para que puedan jugarse también en Windows y MacOS X.
Para un futuro, si vemos que hay movimiento y posibilidades, buscaremos algún tipo de publicidad para la web o modelo de negocio basado en juegos como software libre, puesto que somos seres humanos y no nos alimentamos de aire.
El desarrollo de Project Football se llevará bajo estas ideas principales. Más en concreto, trataremos que el juego sea un mánager de fútbol muy orientado a la parte del entrenador. Las razones de esta decisión son dos principalmente:
Otro punto a destacar es que los juegos serán siempre publicados para GNU/Linux, puesto que es nuestra plataforma de desarrollo, si bien serán multiplataforma para que puedan jugarse también en Windows y MacOS X.
Para un futuro, si vemos que hay movimiento y posibilidades, buscaremos algún tipo de publicidad para la web o modelo de negocio basado en juegos como software libre, puesto que somos seres humanos y no nos alimentamos de aire.
El desarrollo de Project Football se llevará bajo estas ideas principales. Más en concreto, trataremos que el juego sea un mánager de fútbol muy orientado a la parte del entrenador. Las razones de esta decisión son dos principalmente:
- Project Football no pretende ser un clon de ningún juego en concreto, si bien tomaremos ideas de títulos del mismo tipo, tratar de igualarnos a ellos a ellos es imposible por cuestiones de recursos y tiempo.
- Centrándonos en la parte del entrenador buscamos hacer esta parte lo mejor posible, intentando abstraer al jugador de tareas de microadministración en otras áreas, tales como ponerle el precio a las patatas fritas en el bar del estadio, decidir el sueldo del utillero, o ver si sería mejor poner el palco Vip a la derecha o a la izquierda del palco de las autoridades.
(Página 1 de 1, en total 6 entradas)

