Retrospector, primera entrada del diario del desarrollador

Queda apenas un mes para que tenga que presentar mi proyecto del posgrado de desarrollo de videojuegos, y creo que ya va siendo hora de ponerse en serio a llevarlo a cabo. En estas últimas semanas, además de disfrutar de mis primeras auténticas vacaciones, he reunido información, código libre de terceros, ideas varias, etc., que ahora utilizaré para darle forma a mi proyecto.

Su nombre es Retrospector (si es que soy un chanante), y es una mezcla entre la jugabilidad de R-Type y los gráficos de Geometry Wars. En los próximos días entraré en más detalle, conforme vaya avanzando, pero de momento ahí queda la idea. Aprovecharé este mi blog para crear un developer’s diary, y así además de darle vidilla, quizás me sirva para aclararme yo mismo mejor con mis propias ideas.

Hoy, en mi primer día serio de trabajo, he puesto las bases de lo que serán unas librerías comunes que podré reutilizar en otros proyectos que haga también en XNA. He creado una clase que mide los frames por segundo a los que se mueve la aplicación, otra que centraliza el manejo de los diferentes controles del juego, otra que contendrá toda la configuración a la que pueda accederse desde cualquier clase, y una cámara tridimensional con la que se pueda trabajar independientemente al resto de clases.

Por ahora estoy usando un enfoque más práctico para poder construir el esqueleto del juego de forma rápida, y conforme vaya teniendo menos presión por el tiempo restante, iré realizando las diferentes optimizaciones que tengo en mente. Por ejemplo, que en vez de consultar al InputManager qué botón está pulsado, éste contenga una correlación interna entre acciones y teclas o botones asociados, de tal forma que cuando se consulte algo, esto sea una acción siempre fija (saltar, disparar, etc.), y luego internamente ya se comprobará las teclas asociadas (además de que así se pueden remapear las teclas con mucha más facilidad).

Más adelante, posiblemente una vez haya entregado el proyecto, y de cara a publicarlo en el mercadillo Indie de Xbox360, utilizaré un enfoque de configuraciones leídas desde XML, donde cada fichero XML contendrá la configuración por defecto de acciones <-> botones, o los diferentes valores de configuración interna (resoluciones, número de proyectiles en pantalla, tiempo máximo de juego, etc.), y estos serán cargados de forma dinámica al iniciarse el juego. Mi enfoque actual, sólo por ahora, y por agilizar, será tenerlo todo codificado a mano dentro de las clases. Más adelante ya llegará el código elegante, por ahora, ¡que funcione!

Mañana tocará ponerse con el manejador de estados y pantallas, y con suerte crearé el flujo completo de pantallas de Retrospector antes de irme a dormir. Eso sí, tampoco me quedaré hasta tarde, ya que el lunes toca madrugar para ir a una entrevista de trabajo en Barcelona :).

¡Buenas noches!

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: