Prototipo
¡Buenas! Hoy os traemos un poco de contenido sobre el trabajo realizado en las primeras fases de desarrollo, concretamente para la primera entrega o hito.
Primeros pasos
En el Máster de Desarrollo de Videojuegos de la UCM se realizan hitos cada cierto tiempo, entregas donde cada grupo muestra los avances realizados hasta la fecha. En este primer hito se tenía como objetivo construir un prototipo del juego, teniendo total libertad en cuanto a qué herramientas y recursos usar.
De este modo, nos encontrábamos ante dos posibilidades con a respecto a cómo desarrollarlo:
- Hacer uso de motores de videojuegos, como Unity o Unreal Development Kit, que nos permitiesen desarrollar dicho prototipo en relativamente poco tiempo y con muchas facilidades.
- Utilizar como base la arquitectura por componentes que nos habían proporcionado en el máster. Dicha arquitectura estaba ideada para cumplir objetivos sencillos (apenas era escalable), de forma que seríamos los programadores los que tendríamos que mejorarla, consiguiendo así el esqueleto del juego final.
Tras debatirlo, nos decidimos por la segunda opción puesto que utilizar la arquitectura que acabaríamos usando para el juego final nos permitiría tener un primer contacto mucho más directo y por tanto, aprender muchas más cosas desde el primer día. De este modo, sabríamos a lo que nos enfrentaríamos de cara a desarrollar el «auténtico» juego (o al menos en parte).
Una vez decidida la arquitectura, optamos por hacer uso de la librería multimedia SFML para poder dibujar por pantalla el prototipo en 2D. Utilizamos recursos gráficos creados por uno de los programadores para otro videojuego suyo, así como de otros juegos ajenos como Cave Story, ya que no disponíamos de suficiente tiempo como para crear estos por nuestra cuenta.
Objetivos del prototipo
El objetivo principal era tener un prototipo jugable que se pareciera al resultado final y para ello este prototipo debía cumplir los siguientes requisitos:
- Personaje: incluidos todos sus movimientos y acciones de disparo.
- Enemigo prototipo: perseguirá al jugador por la pantalla.
- Mapas basados en tiles: crear mapas basados en tiles con la herramienta Tiled.
- Motor de física y colisiones: el jugador, los enemigos y las balas tendrán que colisionar tanto entre ellos como con el entorno, de modo que necesitaríamos desarrollar un motor de físicas que las manejase.
¿Cuál fue el resultado de todo esto? ¡Echad un vistazo!
Premortem: qué fue bien y qué fue mal
Como se puede apreciar en el vídeo, pudimos cumplir los objetivos marcados pero además pudimos incluir más contenido del que esperábamos.
- Arma principal y un arma secundaria.
- Animaciones de los enemigos, balas y del protagonista.
- Creación de un mapa extra con una ambientación diferente (Mapa acuático).
- Implementación de la primera habilidad: Múltiple salto.
- Enemigo extra, capaz de volar y disparar al jugador.
Aun así esto apenas supone un 1% de todo lo que tendrá el juego al final ya que todavía nos queda bastante camino por recorrer.
Al final, conseguimos nuestros objetivos (y con algunos extras) por lo que uno podría pensar «Entonces todo fue bien, ¿no?» Pero la verdad es que no. Tuvimos varios problemas a la hora de cumplirlos.
Al no usar un motor de juego como Unity o UDK, había muchas cosas que tuvimos que desarrollar por nuestra cuenta. Acabamos teniendo algunos problemas, principalmente tanto con la creación del motor de físicas como con la integración de SFML en una arquitectura por componentes. Si a eso sumamos que todos los programadores trabajamos por primera vez en una arquitectura de este estilo, el resultado que obtienes es el de un prototipo muy desechable.
Aunque nuestra idea era poder reutilizar algo de lo que se hubiese desarrollado en el prototipo de cara al futuro, pronto vimos que no iba a ser todo tan viable como nos parecía. Al final, aprendimos muchas cosas, entre ellas cómo NO se deben hacer ciertos aspectos.
¡Pues eso es todo por hoy! Como ya dijimos, iremos informando con publicaciones tanto de avances concretos (el desarrollo de algún arma, mecánica o enemigo, por ejemplo), como de aspectos más generales del proyecto, ¡así que estad atentos!
¡Un saludo de parte del equipo!
4 Notes/ Hide
- thegreythatmatters reblogged this from eternalsorrowgame
- gabbomanestamuyloco reblogged this from eternalsorrowgame
- mangotera reblogged this from eternalsorrowgame
- eternalsorrowgame posted this