Aventuras en Megadrive: Hijos de Camelot
Voy a portar mi juego para Android Arturo & Merlín: Hijos de Camelot a mi consola retro preferida: la Sega Megadrive.
Programar para las consolas de 16 bits era todo un ejercicio de orfebrería, casi todo se hacía en ensamblador y muy poco en lenguajes de alto nivel. Afortunadamente hoy tenemos disponible el SGDK, un kit de desarrollo creado por Stephane Dallongeville, que nos permite programar en C y ahorrarnos muchos dolores de cabeza.
La idea, como siempre, aprender cosas nuevas.
Por otro lado, no hay muchos juegos del estilo de Cabal / Blood Bros para la negrita, con lo cual ampliamos un poco el catálogo de la consola, de forma muy humilde claro.
¿No has probado Arturo & Merlín: Hijos de Camelot? Pues haz clic en el link y descárgalo de la Play Store ¡Puro vicio señores!
En Hijos de Camelot manejamos un personaje (Arturo o Merlín) que debe matar enemigos hasta rellenar la barra NEXT y pasar de pantalla. Debemos esquivar las balas enemigas, mover la mira para disparar y además usar una poderosa magia cuando lo estemos pasando mal.
ANDROID vs MEGADRIVE
Hoy no tenemos limitaciones a la hora de desarrollar un juego. ¿Podré portar el juego a una consola de 16 bits que cumple estos días 30 añitos?
ESPECIFICACIONES SEGA MEGADRIVE
CPU: Motorola 68000 @ 8 MHz
RAM: 64 KB
VDP: 64KB VRAM, 61 colores en pantalla, paleta de 512 colores.
2 planos de fondo por HW. Hasta 80 sprites simultáneos (max 20 por scanline).
2 modos: 320×224px / 256×224px
Audio: Procesador Z80 @ 4 MHz, 8 KB RAM
Chip FM de 6 canales (Yamaha YM2612),
Chip PSG de 4 canales (Texas Instruments TI76489).
Capacidad de los cartuchos: hasta 32 Mbits (4 MB) sin bankswitching, aunque Super Street Fighter II usa 40 Mbits (5 MB), y Pier Solar llega hasta los 64 Mbits (8 MB), usando un mapper.
Vamos a hacer un análisis rápido de la primera pantalla de Hijos de Camelot:
<<Elige un héroe: Arturo o Merlín, acaba con la Muerte y rescata (o no) a la princesa.
Revive los arcades de de los 90, eres tú contra un ejército de no muertos.
No desesperes. Aumenta el poder de tus armas con los power Ups y cuando estés contra las cuerdas, utiliza tu magia. Toma un pequeño descanso al terminar cada fase y compra mejoras en la tienda. Tú eliges: Arturo o Merlín>>
El jugador aparece en primer plano. Al fondo aparecen toda clase de enemigos, de cerca o de lejos no van a dejar de atacar, incluso desde las torres. La mira se mueve al mismo tiempo que el jugador y establece dónde dispara, también podemos usar magias en momentos comprometidos o usar un movimiento especial para esquivar los proyectiles enemigos. En determinados momentos pueden coincidir un gran número de enemigos en pantalla. Al igual que en Cabal, el personaje no se sale de la pantalla en ningún momento, pero a diferencia, en algunas pantallas del juego hay un scroll de fondo.
Vamos punto por punto.
Los controles desaparecerán de la pantalla, es obvio. Una cosa menos.
Respecto a los planos, la muralla, el castillo y la luna pueden estar en la plano del fondo, las nubes en el plano intermedio y todo lo demás puede estar en el plano de sprites.
¿Y el número de objetos en pantalla? MD permite mostrar 80 sprites en pantalla, no parece que vayamos a sobrepasar este límite pero habrá que vigilar qué pasa si muchos enemigos coinciden en la misma línea(scanline), las torres también serían sprites (son destructibles)
¿Y la resolución? Será necesario reducirla de 640x480px a 320x224px, la nativa de MD, por tanto tendremos cierto trabajo con el arte del juego.
Los colores nos van a dar más de un quebradero de cabeza. MD soporta 4 paletas de 16 colores, así que tendremos que repartir los colores sabiamente.
Por ejemplo una paleta para ambos fondos (colores marrones y negros para el castillo y el cielo, blanco para las nubes). Otra paleta para el jugador y los marcadores. Y finalmente las otras paletas para los enemigos y los objetos del escenario. Por supuesto esto nos vale para la primera fase, pero para otras fases tendremos que adaptarnos.
Scrolls, transparencias… habrán cosas que podré hacer y otras cosas que no.
Otro quebradero de cabeza va a ser el tamaño del juego. El APK para Android ocupa unos 20MB. La MD puede manejar, sin mappers, roms de 4MB. Afortunadamente la mayor parte de esos 20MB son los efectos de sonido y la música, tendremos que bajar la calidad de los efectos y probablemente sustituir la música del juego, ya que la mega no lee MP3 y además ocupan demasiado.
Hay muchos más detalles a tener en cuenta… pero parece factible. ¡Vamos a ello!