Remake (parcial) de Fruity Frank... paso a paso

Este es otro proyecto que iré dejando accesible por si a alguien más le interesara seguirlo...

Va a ser un "remake" de un juego de los 80. Sólo será un remake parcial, no pretendo reconstruir el juego original por completo, sino:

El juego escogido debería tener estas características:

Además, es deseable que se trate de un juego que esté disponible para alguna consola u ordenador doméstico, de modo que se puean capturar pantallas, para no perder tiempo en crear gráficos nuevos. También es preferible que sea un juego para el que ya no exista copyright, para que se puedan publicar esas capturas de pantallas. Por eso, en vez de elegir uno de los muchos juegos disponibles para máquinas recreativas, he optado por un juego poco conocido, que se desarrolló en el año 1984 para la gama de ordenadores Amstrad CPC, el Fruity Frank:

Aun así, los pasos que daré se podrán aplicar a otros muchos juegos, tanto nuevos como "remakes" de clásicos.

Si alguien quiere probar el juego original, lo puede descargar (junto con emuladores del Amstrad CPC) en:

www.amstrad.es/juegosamstrad/decargajuegos/fruityfrank.php

Los pasos previstos (el orden puede variar) son:

  1. Ocultar los detalles de SDL, creando ciertas funciones alternativas en español, y mostrar una primera imagen (la pantalla de fondo inicial de nuestro juego).
  2. Mostrar el personaje sobre esa imagen.
  3. Mover el personaje por encima del fondo, al pulsar las flechas del teclado.
  4. Hacer que el personaje no se pueda salir de los límites de la pantalla.
  5. Añadir un primer enemigo.
  6. Añadir transparencia a los personajes, así como una velocidad de juego más estable.
  7. Usar un "mapa" para dibujar el fondo.
  8. Comprobar colisiones usando el mapa, y así poder recoger "premios".
  9. Añadir "obstáculos" que no se puedan cruzar, usando el mapa.
  10. Hacer que el personaje "cambie de forma ".
  11. Incluir varios enemigos distintos.
  12. Una pantalla de presentación.
  13. Pasar a un lenguaje más moderno: migrar a C#.
  14. Que el movimiento del personaje sea "animado".
  15. Comprobar colisiones por coordenadas, para chocar con los enemigos.
  16. "Redistribuir" el fuente para hacerlo más modular.
  17. Tener varias vidas, que se pierdan al chocar con un enemigo. Poder volver a empezar la partida.
  18. Distintos niveles (fases) de juego que haya que ir superando.
  19. Que nuestro personaje pueda "disparar".
  20. Rediseñar usando "clases" (1 - Estructura básica).
  21. Rediseñar usando "clases" (2 - Escribir textos, marcador, varios niveles, colisiones).
  22. Rediseñar usando "clases" (3 - Personajes animados).
  23. Un movimiento del personaje más suave.
  24. Enemigos más inteligentes.
  25. Un disparo "más real".
  26. Tabla de mejores puntuaciones.
  27. Obstáculos móviles: las manzanas.
  28. Otro enemigo: la fresa.
  29. Dificultad creciente.

Todo eso, muy pronto aquí mismo...   ;-)