Miércoles, 20 de febrero del 2008
Sincronizando gráficos, física, y lógica
Un aspecto importante a la hora de desarrollar un juego es lograr sincronizar el motor gráfico, el motor de física, y la lógica del juego, de manera que este se comporte de manera similar en diferentes máquinas.
Por un lado, el motor gráfico cuanto más fluido funcione mejor, aunque nunca viene mal ajustar su velocidad con la tasa de refresco del monitor, con lo que aliviamos un poco el procesador. El motor de física y la lógica del juego suelen consumir bastantes recursos, por lo que también es buena idea regular a la velocidad que se actualizan.
Hasta la versión 0.0.5 de Project Football (incluida), el motor gráfico y el de física corrían a sus anchas, y la lógica del juego tenía como límite una actualización por cada tres veces que se actualizara la física. Esto tiene el inconveniente de que consume muchos recursos y que dependiendo de la máquina, el juego funciona más rápido o más lento. La única opción hasta el momento era activar la sincronización con el monitor (opción VSYNC en el fichero ProjectFootball.ini), que disminuye bastante el uso de recursos, pero aún así, no todos los monitores tienen la misma frecuencia de actualización, por lo que el juego seguirá funcionando a diferente velocidad dependiendo de la máquina.
Continua leyendo "Sincronizando gráficos, ... »
Por un lado, el motor gráfico cuanto más fluido funcione mejor, aunque nunca viene mal ajustar su velocidad con la tasa de refresco del monitor, con lo que aliviamos un poco el procesador. El motor de física y la lógica del juego suelen consumir bastantes recursos, por lo que también es buena idea regular a la velocidad que se actualizan.
Hasta la versión 0.0.5 de Project Football (incluida), el motor gráfico y el de física corrían a sus anchas, y la lógica del juego tenía como límite una actualización por cada tres veces que se actualizara la física. Esto tiene el inconveniente de que consume muchos recursos y que dependiendo de la máquina, el juego funciona más rápido o más lento. La única opción hasta el momento era activar la sincronización con el monitor (opción VSYNC en el fichero ProjectFootball.ini), que disminuye bastante el uso de recursos, pero aún así, no todos los monitores tienen la misma frecuencia de actualización, por lo que el juego seguirá funcionando a diferente velocidad dependiendo de la máquina.
Continua leyendo "Sincronizando gráficos, ... »
Publicado por Dividio
en CUSLII, Ogre, Project Football
a las
21:09
| Comentarios (0)
| Referencias (0)
Jueves, 29 de noviembre del 2007
La importancia de las pruebas
Hacer pruebas al software es muy importante. Puedes desarrollar una aplicación que funciona fantásticamente en tu entorno, y cuando se la das a probar a otro, te dice que a el no le funciona.
Para Project Football tenemos pensado publicar una nueva versión del juego cada 2 o 3 semanas, por lo que ya va tocando publicar la primera de ellas. Estaba maquinando sobre esto, por lo que compilé lo que llevamos del motor e hice un pequeño paquete para publicarlo.
Este paquete funciona correctamente en mi máquina, pero antes de publicarlo decidí buscarme un conejillo de indias que me hiciera algo de testing. Por suerte tengo localizado uno cuyo ordenador parece ser la antítesis del mio, y cuando le envío algo para que lo pruebe, siempre salen pegas.
Esta vez no ha sido diferente y la aplicación no ha llegado a arrancar, saltándole una preciosa CEGUI::GenericException. Así que habrá que repasar la secuencia de inicio de Ogre y Cegui, tratando las posibles excepciones que se produzcan y seguir con el testing en más máquinas.
PD: Gracias a Furor por prestarme su tiempo para las pruebas
PD2: Los suicidas tenéis el código fuente en la forja de Project Football:
svn checkout https://forja.rediris.es/svn/csl2-pfootball
(aunque todavía no hay scripts de compilación)
Para Project Football tenemos pensado publicar una nueva versión del juego cada 2 o 3 semanas, por lo que ya va tocando publicar la primera de ellas. Estaba maquinando sobre esto, por lo que compilé lo que llevamos del motor e hice un pequeño paquete para publicarlo.
Este paquete funciona correctamente en mi máquina, pero antes de publicarlo decidí buscarme un conejillo de indias que me hiciera algo de testing. Por suerte tengo localizado uno cuyo ordenador parece ser la antítesis del mio, y cuando le envío algo para que lo pruebe, siempre salen pegas.
Esta vez no ha sido diferente y la aplicación no ha llegado a arrancar, saltándole una preciosa CEGUI::GenericException. Así que habrá que repasar la secuencia de inicio de Ogre y Cegui, tratando las posibles excepciones que se produzcan y seguir con el testing en más máquinas.
PD: Gracias a Furor por prestarme su tiempo para las pruebas
PD2: Los suicidas tenéis el código fuente en la forja de Project Football:
svn checkout https://forja.rediris.es/svn/csl2-pfootball
(aunque todavía no hay scripts de compilación)
Publicado por Dividio
en CUSLII, Ogre, Project Football
a las
17:07
| Comentarios (5)
| Referencias (0)
Jueves, 15 de noviembre del 2007
Crear un proyecto de Eclipse en Linux con Ogre y CEGUI
El proyecto vamos a desarrollarlo utilizando el IDE Eclipse con el plugin CDT, puesto que nos ofrece varias utilidades interesantes a la hora de programar en C++, como refactorizaciones, integración con subversión, generación automática de makefiles, etc.
Para el motor gráfico en un principio no requeriríamos algo especialmente potente, pero vamos a utilizar Ogre con CEGUI, para poder utilizar en un momento dado algún elemento 3D dentro de la aplicación sin rompernos mucho los cuernos.
Por ello vamos a utilizar EasyEclipse C++ 1.3.0 y la versión estable de Ogre 1.4.x. En esta entrada vamos a ver como configurar un proyecto Eclipse en Linux, incluyendo las librerías Ogre, CEGUI y OIS (Open Input System) para la creación de una aplicación en Ogre. Puesto que la información al respecto en Internet está muy dispersa y poco actualizada, espero que este mini tutorial le sirva a alguien para ahorrarse tiempo, en caso de querer utilizar Ogre junto a Eclipse.
Podríamos tirar de compilar el código fuente de las librerías, pero como prácticamente las últimas versiones se encuentran ya en Ubuntu y Debian, utilizaremos las versiones que estas nos ofrecen ya compiladas, para que sea el proceso más fácil. Obviamente dependiendo de las versiones de las librerías, distribuciones Linux, etc, estos pasos pueden variar un poco, pero por lo general será algo así:
Continua leyendo "Crear un proyecto de Eclipse ... »
Para el motor gráfico en un principio no requeriríamos algo especialmente potente, pero vamos a utilizar Ogre con CEGUI, para poder utilizar en un momento dado algún elemento 3D dentro de la aplicación sin rompernos mucho los cuernos.
Por ello vamos a utilizar EasyEclipse C++ 1.3.0 y la versión estable de Ogre 1.4.x. En esta entrada vamos a ver como configurar un proyecto Eclipse en Linux, incluyendo las librerías Ogre, CEGUI y OIS (Open Input System) para la creación de una aplicación en Ogre. Puesto que la información al respecto en Internet está muy dispersa y poco actualizada, espero que este mini tutorial le sirva a alguien para ahorrarse tiempo, en caso de querer utilizar Ogre junto a Eclipse.
Podríamos tirar de compilar el código fuente de las librerías, pero como prácticamente las últimas versiones se encuentran ya en Ubuntu y Debian, utilizaremos las versiones que estas nos ofrecen ya compiladas, para que sea el proceso más fácil. Obviamente dependiendo de las versiones de las librerías, distribuciones Linux, etc, estos pasos pueden variar un poco, pero por lo general será algo así:
Continua leyendo "Crear un proyecto de Eclipse ... »
Publicado por Dividio
en CUSLII, Ogre, Project Football
a las
21:54
| Comentarios (6)
| Referencias (0)
(Página 1 de 1, en total 3 entradas)

