← Volver a proyectos
Proyecto personal En desarrollo

TMNT: The Arcade Game — port a Sega Mega Drive

Demake/port en C con SGDK del arcade de Konami de 1989, con selección de personaje para 2 jugadores y scroll de nivel. En desarrollo.

Ver repositorio
TMNT: The Arcade Game — port a Sega Mega Drive — captura 1
TMNT: The Arcade Game — port a Sega Mega Drive — captura 2
TMNT: The Arcade Game — port a Sega Mega Drive — captura 3

Qué es

Un port/demake no oficial de Teenage Mutant Ninja Turtles: The Arcade Game (Konami, 1989) para Sega Mega Drive/Genesis, escrito en C con SGDK (Sega Genesis Development Kit). Es un proyecto fan-made sin fines comerciales: uso el arcade original como referencia de diseño y voy reconstruyendo el juego desde cero para el hardware de la Mega Drive, que funciona muy distinto (sin framebuffer, todo a base de tiles y planos de VRAM).

Es un proyecto en desarrollo activo, no terminado. Le voy dedicando tiempo cuando puedo sacarlo del estudio y del trabajo, así que avanza de a partes. Lo sumo igual al portfolio porque ya tiene decisiones técnicas concretas y es el proyecto que más me está enseñando de programación en C y de cómo funciona el hardware por debajo del sistema operativo (acá no hay sistema operativo).

Qué hace (hasta ahora)

Lo que falta: los niveles 2 en adelante, los enemigos con su propia IA (por ahora solo está el sprite de Rocksteady importado), sonido con el chip YM2612, y pulir el balance del combate. El propio código lo marca: el loop principal en main.c todavía tiene un comentario de // ... agregar el resto de casos ... esperando los estados que faltan.

Qué aprendí / qué resolví

Por qué lo incluyo

Porque es honesto mostrarlo así: en progreso. Es el proyecto que más me empuja a entender qué pasa “por debajo” del código —memoria, VRAM, timing de frame— y quiero que se note ese proceso de aprendizaje, no solo un resultado pulido. Además conecta directamente con Swapprite, mostrando cómo un problema de un proyecto (el límite de colores de la Mega Drive) generó otra herramienta separada para resolverlo.