|
|||||
Chipotle Warfare
|
|||||
|
Resumen de la historia
Año 2015, los mariachis han conquistado la Tierra, el pan ha sido perseguido y aniquilado, y los tacos son ahora el nuevo pan. La gente tiene muchos gases por comer tanto taco, probablemente sea el fin de la humanidad tal y como la conocemos, y aquellos que sobrevivan pasen a formar parte de los mariachis del nuevo mundo, o como se hace llamar su conjunto, la mariachidad.
La única esperanza de supervivencia para la gente corriente reside en un templo antiguo del pan, en el que se dice que se encuentra el pan legendario, el que utilizó Jesucristo para multiplicarlo, y aquel que lo desee, puede multiplicarlo cuantas veces quiera. Manholo, un empresario todavía poco famoso, ha interceptado las conexiones de los mariachis, y de acuerdo a éstas, han localizado ese pan y se disponen a llegar hasta él para destruirlo. Manholo deberá llegar antes para salvarnos a todos.
Personajes
Descripción: Empresario de Manholo Corp. En el futuro se volverá un ciborg inmortal y tendrá una de las empresas universales más cotizadas de los últimos tiempos (en ese entonces “Era Calypse XIX”).
Descripción: Es un enemigo que persigue al jugador, buscando el camino más corto para acceder a él, aunque haya obstáculos. Puede ser derrotado disparándole varias veces. Si toca al jugador, el jugador muere.
Controles
- Disparo -> Barra Espaciadora
- Movimiento:
– Arriba -> W
– Derecha -> D
– Abajo -> S
– Izquierda -> A
Uso
El jugador deberá escapar de los enemigos que se encuentre en el nivel y derrotarlos con el objetivo de destruir la puerta que bloquea la salida.
Así se hizo
Idea
Surgió de repente, teníamos hambre, y surgieron temas variados de dudoso interés individual, pero de considerable si se combinaban. Además nos gustan los mariachis, y el pan. Y el chipotle está sabroso.
Pasos para la elaboración
Partimos de los ejemplos de cpcrslib haciendo ejecutables para cada uno de los aspectos de nuestro juego, porque estaban muy completos. Y luego de esto procedimos a unirlos.
Desarrollo – Crónicas
La idea principal del juego era tener varios niveles donde apareciesen distintos tipos de enemigos, a los que tenías que esquivar o eliminar, para poder disparar a la puerta hasta abrirla. Sin embargo, implementando a uno de los enemigos, el cual usaba pathfinding para encontrarte encontramos un problema, y es que consumía muchos recursos. Para solucionarlo modificamos los mapas para que fuesen más sencillos, pero solo conseguimos poder usar un enemigo a la vez.
Finalmente, debido a este problema, decidimos cambiar la mecánica a que el jugador tuviese que matar una cantidad de veces el enemigo (en cual siempre reaparece) para abrir la puerta.
Otro problema nos surgió, y es que ocurría un bug algunas veces en el cual se paralizaban los personajes. Este bug no fuimos capaces de resolverlo.
Ayuda técnica
Si es posible descargar nuestro proyecto, incluye comentarios, especialmente en el apartado sonoro, y de definición de inputs, que pueden ser útiles para futuros desarrollos.
Anécdotas del desarrollo
Santiago y su programación ultrasónica. Un día estaba programando con tal ímpetu que se hizo daño en los dedos, luego le dolían estos y eso le molestó a su novia.
Tecnologías utilizadas
- CPCDevToolChain como entorno de desarrollo.
- CPCRSlib con SDCC como compilador.
- Notepad++ para la elaboración del código.
- RGAS para la elaboración de los sprites
- WIZTracker para la elaboración de la música.
Tiempo de desarrollo del proyecto
Estuvimos desarrollando aproximadamente 2 semanas, pero no con total dedicación.
¿Qué hemos aprendido?
- A apreciar la tecnología actual más de lo que ya la apreciábamos.
- Planificar es importante.
- Si algo puede salir mal, en amstrad puede (va a) salir mal.
Ficha Técnica
Lenguaje utilizado: C
Tamaño en Kbytes: 31.387 Kbytes el .CDT
Modo gráfico: Modo 0
Detalles técnicos de la implementación:
- Todos los recursos del juego han sido creados por el equipo Cosmic Warpigs, a excepción de los efectos de sonido.
- El juego cuenta con un nivel y varios menús.
- Sprites de paredes, suelo, personaje, enemigo, y puerta.
- Las librerías que se utilizan son las que proporciona cpc-dev-tool-chain, es decir, cpcrslib.
El código del proyecto se ha dividido en varios archivos de cabecera de distinto ámbito:
- cosmicPathfinding: Para el pathfinding del juego, contiene el algoritmo de pathfinding, basado en el de Dijkstra.
- graphsData: Define los grafos de recorrido del juego.
- music: Para la música del juego, incluye la definición de la música y los efectos de sonido del juego, y los incluye.
- sprites: Contiene los sprites del juego.
Y el código main, que contiene el juego en sí.
Todos los archivos llevan una cabecera de comentario de GNU, ya que el código es libre, con licencia GNU para su libre uso y consulta.
Instrucciones para compilar el juego y código fuente:
- Usar cywin
- Instalar sdcc y cpc-dev-tool-chain
- Situarse en la carpeta
- Hacer «make dsk» para obtener el dsk o «make cdt» para obtener el cdt.
- Ejecutar en emulador