Estos últimos días he estado trabajando en la redacción del Game Design Document (GDD) de Sion Tower y en la preparación del taller "Introducción al desarrollo de videojuegos con un Pong" que organizamos en la ADVUCA. Ya era hora de retomar IberOgre. Para poder continuar con el artículo "Creación básica de escenas" tenía que cubrir primero la gestión de recursos en Ogre y eso es exactamente lo que he hecho. Ya está publicado un nuevo artículo: "Gestión de recursos". ¡Hallelujah!
Por supuesto, os remito a que leáis el artículo completo pero en este, nuestro amado blog, os comentaré a modo de resumen los temas tratados.
La importancia de un gestor de recursos
En un videojuego mínimamente elaborado se necesita un gestor responsable de:
- Mantener una sola instancia de cada sprite, modelo, textura o efecto de sonido.
- Controlar el ciclo de vida de los recursos.
- Gestión uniforme de los distintos tipos de recursos.
- Cuidar la integridad.
Si no disponemos de un gestor de recursos, nuestro videojuego podría hacer un uso ingente de memoria y no funcionar en un sistema corriente (a menos que trabajes en la NASA). En el artículo de IberOgre hacemos una argumentación sobre la necesidad de controlar la memoria que utilizan nuestros recursos.
Gestión del ciclo de vida de los recursos
¿Por qué mantener en memoria el escenario del nivel 10 cuando aún no hemos terminado el nivel 1? Es ridículo. Nuestro gestor de recursos debe proporcionarnos un sistema para controlar el ciclo de vida de los mismos. Por supuesto, Ogre cuenta con un excelente sistema a tal efecto. En IberOgre ofrecemos información para llevar a cabo este control según las distintas aproximaciones de nuestro motor de renderizado favorito.
Automatización del proceso
Gracias a los ficheros de configuración de Ogre podemos automatizar parte de la gestión de recursos. Siempre es mejor mantener nuestros datos externos al código (para evitar recompilaciones innecesarias y lentas) y declarar los recursos que utilizaremos en un fichero externo.
Además, explicamos como crear grupos de recursos para gestionarlos masivamente. Es muy cómodo separar nuestros recursos por niveles y cargar o descargarlos todos según los vayamos necesitando.
¡Feedback, please!
Es muy común creer que se está explicando conceptos de forma correcta cuando uno mismo los comprende. No obstante, es posible que esté escribiendo artículos confusos y densos. ¡Necesito feedback! Estaría encantado de que alguien leyera IberOgre y comenzara a lanzarme tomates en forma de quejas sin piedad en el blog o por correo electrónico. Algunos lectores como @spectrumgomas o @che1404 ya han contribuido sugiriendo temas y correcciones.
No se corten, ¡a la yugular y sin piedad!