En 1993, el estudiante de ingeniería Rabah Shihab escribió Babylonian Twins en un Amiga 500 en Bagdad: 512 KB de RAM, sin disco duro, pocas horas de electricidad al día, puro ensamblador 68000. Fue el primer juego comercial creado en Irak, pero la quiebra de Commodore y las sanciones lo dejaron en un cajón. Un port manual para iOS de 2010, unas 34.000 líneas de C++, superó luego los dos millones de descargas.
--level=<name> load a level directly
--pose=<spec> put the twins at exact positions
--drive=<spec> press buttons on a script, frame by frame
--probe dump switch / gate / door / key state
--screenshot=<path> render a frame and quitEste año realizó un experimento controlado con Claude Fable 5 en Claude Code, con acceso a terminal y al sistema de archivos. Primer paso: trasladar el motor C++ de 2010 a Godot 4. Las marcas de tiempo muestran 21 minutos desde el proyecto vacío hasta un personaje jugable; a las 02:15 el juego exportaba a macOS, iOS y Android. Segundo paso: portar las 72.758 líneas originales de ensamblador 68000, repartidas en 26 archivos, a los 50 Hz del Amiga. Tercer paso: incrustar el juego de 1993 dentro del moderno como segunda opción de arranque. Los tres funcionaron; el tercero llevó una tarde, de 21:58 a 23:43.
Antes de portar nada, el modelo hizo que las fuentes de 1993 volvieran a ensamblarse con vasm en Apple Silicon hasta obtener una salida idéntica byte a byte a los binarios distribuidos. Desde la importación hasta la primera reconstrucción coincidente pasaron quince minutos. Escribió un preprocesador que salva cinco diferencias de dialecto entre ASM-One y vasm, y corrigió un sutil error de org en el que un ds.b 800 dentro de un bloque retrocedido desplazaba todo lo demás, incluida la lista copper, 944 bytes. Una diferencia restante de 108 bytes lo llevó a concluir que los discos distribuidos eran una instantánea de memoria guardada tras una partida: el código escribe esas variables antes de leerlas, así que los ceros de un ensamblado nuevo quedan sin efecto. Shihab admite que nunca verificó esa afirmación por sí mismo.
El análisis de formatos partía del código que lee los bytes. El modelo decodificó los mapas de tiles sin cabecera de los cinco niveles en una sola pasada, los volvió a renderizar y obtuvo cero píxeles diferentes frente a sus capturas completas de 2020, tras tener en cuenta dos efectos copper: el degradado del cielo y el ciclo de color del agua. Reconstruyó el formato de 16 bits de cada celda (6 bits de propiedad, 1 de banco, 8 de imagen), las tablas de objetos por pantalla y el hecho de que las puertas se estampan sobre el mapa en tiempo de ejecución por código, nunca pintadas en el editor. Esto último corrigió la convicción de Shihab, mantenida 33 años, de que las puertas eran datos del mapa. Cuando las cuentas de las hojas de sprites eran ambiguas, señaló la ambigüedad y preguntó en lugar de adivinar.
También se equivocó, de forma instructiva. El empujón de un guardia perdió su límite superior, así que un soldado trece tiles por encima del jugador hacía daño a través de la roca. Renderizar fielmente la segunda capa oculta de tiles abría todos los pasajes secretos desde el inicio. Una lista de puertas "p1,p2,p3,p4" se interpretó como una sola llave y la salida del tutorial nunca se abrió. Un error de estéreo/mono cortaba cada sonido por la mitad. El fallo más costoso vino de una función que pidió el propio Shihab, el intercambio de los gemelos a cualquier distancia, que corrompía las estatuas. La investigación reveló que la comprobación de proximidad original nunca fue un límite de distancia, sino protección contra dos estatuas solapadas.
Después el modelo hizo el trabajo de publicación: capturas en cinco tamaños en once idiomas, textos de tienda, iconos y rellenado de formularios de Steamworks mediante automatización del navegador; los inicios de sesión y los botones de envío quedaron a cargo de Shihab. Recopiló quince años de reseñas de Google Play y rescató una de una estrella, "cant get through door on level one", que resultó ser un defecto real: el mensaje para cruzar la salida existía solo en dos de los dieciocho niveles. La corrección salió como 2.0.3. El aviso de que el trampolín se sentía demasiado alto no llevó a la física sino a la semántica de entrada: un workaround de tvOS de 2010 hacía que un botón de salto mantenido se leyera como soltado, y eso era lo que sus manos habían aprendido en el teléfono.
El juego original de 1993 ya está disponible gratis en itch.io tras 33 años, jugable en FS-UAE, WinUAE o en hardware real. Babylonian Twins: Definitive Edition está activo en iOS y Android, con demo gratuita en Steam; la versión completa de Steam llega este otoño con el juego de 1993 como opción de arranque. El producto distribuido no contiene código Amiga: los datos se decodificaron una vez a PNG, WAV y JSON, y el comportamiento se reescribió en GDScript. Shihab lo resume con sobriedad: él preguntó, jugó y decidió, y la IA fue más rápida de lo que podía seguir, también en los puntos donde se equivocaba.




Comentarios
Aún no hay comentarios — escribe el primero.
Inicia la conversación
Sin cuenta ni contraseña — introduce tu correo y te enviamos un enlace de acceso de un solo uso. ¿Primera vez? Todo se configura automáticamente.
Tu valoración se aplicará automáticamente al iniciar sesión.
Revisa tu bandeja de entrada
Hemos enviado un enlace de acceso a …. Ábrelo en este dispositivo — esta pestaña te conectará automáticamente.
¿No llega nada? Mira en la carpeta de spam — y marca el correo como «No es spam» para que la próxima vez llegue directo.