The Legend of CPCerdo / CPCR2

Pantalla Inicio Partida en curso Pantalla Game Over Pantalla Créditos
The Legend of CPCerdo

Descargar Juego Descargar Código Fuente

Introducción

The Legend of CPCerdo es un juego creado por cuatro estudiantes de la Universidad de Alicante en el contexto de la asignatura Razonamiento Automático.

Para los cuatro este proyecto ha sido el primer contacto con la programación del microcomputador Amstrad CPC 464. Hemos puesto toda nuestra dedicación en este proyecto, que nos ha servido para revivir nuestras primeras experiencias con los videojuegos, desarrollar nuestra creatividad y, sobre todo, aprender. Por todo ello, estamos ampliamente satisfechos con el resultado obtenido, aunque somos conscientes de que apenas hemos empezado en este mundo de la programación de juegos retro, y que todavía nos queda muchísimo por aprender y por mejorar.

La idea en la que está basada este juego es fruto de la vivencia personal de todo el equipo de desarrollo, y por eso esperamos que disfruten tanto probando este sencillo juego como nosotros desarrollándolo.

Historia

El héroe de nuestra historia, CPCerdo, se enfrenta a el mayor reto al que se haya enfrentado antes un personaje en 8 bits. Ha sido requerido por el rey de los cerdos para llevar a cabo una misión secreta que cambiará el rumbo de la historia de forma irremediable.

El reino de los cerdos estaba en grave peligro, ya que ese año había sido nefasto para las cosechas y apenas les quedaban bellotas para alimentarse unos meses. Nuestro héroe debía emprender un largo viaje para pedir ayuda al reino de las nutrias, fieles aliadas de los cerdos, y así poder salvar el reino.

El viaje es muy largo y está plagado de peligros. Magos, trols, y enemigos de toda clase acechan por todas partes. Sólo un cerdo en todo el reino es capaz de acometer semejante misión: ¡¡CPCerdo!!

Durante su aventura, nuestro amigo se encontró con multitud de peligros, pero ninguno podía compararse con superar las cavernas tenebrosas que separaban el reino de los alcones del reino de las nutrias, destino final de nuestro héroe. Estas cavernas eran el refugio habitual de unos temibles guerreros, los Porkians, que ansiaban por encima de todo destruir a los cerdos y que parecían estar detrás del problema con las bellotas.

En esta caverna es donde nos encontramos en nuestro juego. Nuestro héroe se encuentra muy debilitado y desarmado debido al largo viaje, de modo que debe superar esta caverna haciendo uso sólo de un artefacto mágico que le dio su abuelo y que permite neutralizar momentáneamente a los enemigos creando una llama paralizadora.

CPCerdo debe encontrar todas las llaves necesarias para poder abrir la puerta que le permitirá superar la caverna, pero para ello deberá superar a los Porkians, que siempre visten de rojo y que no dudarán en matar a nuestro salvador cerdo si lo encuentran. También debe guardarse de la vista de los observadores porkians, que suelen vestir de blanco, que alertarán a los guardias ante la más mínima sospecha de un intruso.

¿Será nuestro compañero capaz de superar esta difícil prueba y así alzarse como el salvador de toda la raza cerda…?

Objetivos del juego

  1. El jugador debe encontrar todas las llaves repartidas por el mapa.
  2. Debe evitar ser eliminado por los enemigos rojos. El jugador no es eliminado si es detectado por los enemigos blancos, sólo puede ser eliminado por los enemigos rojos. Los enemigos no pueden ser eliminados, pero sí bloqueados utilizando convenientemente el artefacto.
  3. Una vez encontradas todas las llaves, debe llegar ileso a la salida para completar la aventura.

Personajes

El juego se compone de cuatro personajes:

  • Hero: el héroe de nuestra aventura.
  • Enemy 1: defensor de la mazmorra.
  • Enemy 2: ayudante de Enemy 1 para defender la mazmorra.
  • Princesa: amor de Hero que necesita ser rescatada.
Juego The Legend of CPCerdo

Varios personajes del juego

Idea y desarrollo

El nacimiento de The Legend of CPCerdo

El tipo de juego surgió de una lluvia de ideas por los integrantes del juego, principalmente de los juegos a los que juegan.

Pasos de elaboración

Juego The Legend of CPCerdo

Pantalla con idea inicial del juego

  • Estudiar la arquitectura de la videoconsola.
  • Conocer a fondo la restricciones del hardware.
  • Estudiar muy estrictamente la memoria de video de la videoconsola.
  • Imprimir el personaje por pantalla.
  • Imprimir un mapa entero por pantalla.
  • Colocar al personaje en este mapa y dotarlo de movimiento.
  • Colocar un enemigo.
  • Establecer un comportamiento de movimiento muy sencillo al enemigo.
  • Situar ítems de recogida para el héroe.
  • Dar música al juego.
  • Dotar de Inteligencia Artificial al enemigo.
  • Dotar de un arma de ataque a Hero para defenderse del enemigo.
  • Colocar un segundo enemigo en otra zona del mapa (con el mismo comportamiento que el primero).
  • Colocar otros cuatro enemigos con un comportamiento distinto, simples chivatos que avisan a otros enemigos.
  • Implementar pantallas de controles, game win, game over y créditos.

Tiempo de desarrollo

El tiempo de desarrollo se divide en 3 etapas:

  1. En la etapa inicial del desarrollo nos centramos en conocer la tecnología y proponer varias ideas de cómo sería el juego, es decir, durante 1 semana los miembros del grupo estuvimos haciendo ejemplo para amstrad con el objetivo de comprobar la dificultad a la hora de desarrollar un proyecto y así moldear las posibles ideas que nos iban surgiendo.
  2. En esta segunda etapa duró 3 semanas y se centró en los primeros prototipos que teníamos del juego. Durante este tiempo estudiamos más a fondo las librerías y además desarrollamos las primeras ideas de mapas y enemigos que podían haber en el juego.
  3. En las últimas 2 semanas nos centramos en el desarrollo de la inteligencia artificial de los enemigos y arreglo de las mecánicas del juegos como son los conos de visión, el ataque del personaje principal y velocidad a la que se mueven los enemigos. Además de arreglar pequeños fallos que teníamos.

Tecnologías utilizadas

  • Emuladores de Amstrad: WinApe.
  • La propia consola Amstrad CPC.
  • Control de versiones: git.
  • Software RGas.
  • Software GIMP.
  • Software CDT2WAV.
  • Ordenadores.

Detalles técnicos de la implementación

  • Uso de GIMP + RGAS para la realización de:
    • Personaje y enemigos
    • Suelo de la mazmorra
    • Muros de la mazmorra
    • Fuego, Puerta y llaves
  • Librerías Utilizadas:
    • CPCtelera de lronaldo
    • CPCrslib de Artaburu
    • WyZ player de WyZ

Problemas encontrados y cómo los solucionamos

Tardamos mucho tiempo en poder llegar a pintar sprites por pantalla, ya que tuvimos que aprender a manejar la memoria de vídeo a bajo nivel. Una vez familiarizados con estos detalles, pudimos comenzar a hacer pruebas con los sprites.

La capacidad de proceso del CPC fué un reto constante. Tuvimos estas limitaciones en cuenta en cada parte del desarrollo, de tal modo que cada nuevo desarrollo estaba tan optimizado como era posible.

Qué cosas aprendimos

Lo más importante es que aprendimos a desarrollar algoritmos en un sistema con fuertes restricciones hardware que, además, nos era completamente ajeno. Teniendo en cuenta estos factores, estamos plenamente orgullosos del resultado final, aunque somos conscientes de que hay todavía un gran margen de mejora, tanto a nivel de concepto de juego como a nivel técnico.

Anécdotas del desarrollo

  • El traje de Hero iba a ser en un principio gris, como un soldadito.
  • Hero en un principio iba equipado con una espada, pero al no dotarlo de movimiento de ataque, se le cambio por una antorcha con la que colocaba trampas de fuego.
  • Los sprites iban a estar dotados de movimiento, pero por la falta de tiempo no se implementó.
  • El sprite de stun de Enemy 1 iba a ser otro enemigo de la mazmorra con un comportamiento de vigía ninja, pero por falta de tiempo no se desarrolló y como guiño se colocó en el estado de stun de Enemy 1.
  • Enemy 2 iba a ser un mago que lanzará hechizos a Hero al verlo.
  • El juego iba a ser de tres niveles normales más un cuarto, donde nos enfrentabamos a un Boss final.
  • La trampa de fuego iba a stunear también a Hero si la pisaba.

Así se hizo…

Primera noche larga de desarrollo Primera noche larga de desarrollo Primera noche larga de desarrollo
Primera impresión de mapa por pantalla Primera impresión de mapa por pantalla Implementando la IA

Agradecimientos

  • http://www.cpcmania.com/
  • http://www.cpcwiki.eu/index.php/Main_Page
  • http://www.amstrad.es/
  • http://fremos.cheesetea.com/
  • CPCtelera (Lronaldo)
  • CPCrslib (Artaburu)
  • Musica (WyZ)
  • cpc-dev-tool-chain (CPCitor: https://github.com/cpcitor/cpc-dev-tool-chain)

Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.