Space Debris: una inteligencia artificial programa una demo para Amstrad CPC

¿Puede una inteligencia artificial crear una demo para un Amstrad CPC sin ver la pantalla ni escuchar la música? El desarrollador Siko ha querido comprobarlo con Space Debris, un experimento que lleva la programación asistida por IA al terreno de la demoscene de los años 90.

El proyecto parte de una idea muy concreta: utilizar la música Space Debris, de Captain, en su versión para CPC realizada por BSC (BetaSoft Cologne), conocida por su presencia en la demo Digital Orgasm. A partir de ahí, Siko dejó que Claude Opus 5.5, el modelo de inteligencia artificial de Anthropic, se encargara del desarrollo, sin intervenir en el contenido generado.

El reto era considerable. El Amstrad CPC 6128 dispone de un procesador Z80 a 4 MHz, 128 KB de RAM y el chip de sonido AY-3-8912, con tres canales. Un hardware muy limitado frente a los ordenadores actuales, donde crear efectos gráficos sincronizados con la música resulta mucho más sencillo.

partes de gráficos y música sincronizados

Michael Kargas Portfolio - Retro Coding

La demo alcanza los 6 minutos y 27 segundos de duración, repartidos en 21 secciones que siguen los cambios de la composición musical. Entre los efectos incluidos encontramos estrellas animadas, barras raster, túneles, objetos vectoriales en 3D, un planeta con anillos de fragmentos, plasmas, medidores de sonido, efectos de partículas y textos desplazándose por pantalla.

Uno de los detalles más interesantes es la sincronización. La IA analizó los datos internos del reproductor musical para identificar notas, instrumentos, patrones y cambios de ritmo. De esta manera, los movimientos y las transiciones visuales responden a los acontecimientos de la música, en lugar de limitarse a reproducir animaciones independientes.

También se han aplicado técnicas clásicas de programación para CPC, como la modificación de colores mediante el raster, el uso de sprites compilados y la reutilización de memoria entre diferentes efectos. Todo ello para conseguir que el conjunto funcione dentro de los límites del ordenador.

Programada, probada y depurada por una IA

Para desarrollar el proyecto se utilizaron fantams, un ensamblador propio, y AMSpiriT, el emulador de Amstrad CPC que ofrece una API REST para controlar su funcionamiento, consultar la memoria y obtener capturas de pantalla.

Precisamente, esta herramienta fue fundamental: Claude no podía ver físicamente el ordenador ni escuchar la música. Trabajó mediante peticiones al emulador, examinando registros, analizando la memoria, ejecutando código y comprobando los resultados a través de capturas.

El desarrollo también tuvo sus tropiezos. Se detectaron errores en la emulación de instrucciones del Z80, problemas de memoria y fallos que solo aparecían al reproducir la demo completa. La IA tuvo que corregir estos problemas hasta conseguir un resultado funcional.

Las cifras del experimento son bastante reveladoras:

  • 21 secciones sincronizadas con la música.
  • 6 minutos y 27 segundos de duración.
  • Aproximadamente 4.300 líneas de ensamblador y 800 líneas de Python.
  • Hasta 25 imágenes por segundo en los efectos con doble búfer y 50 en otros efectos.
  • 13,4 KB de música, gestionados fuera de la memoria principal mediante la paginación.

La música se extrajo del snapshot original de Digital Orgasm y se reconstruyó en formato YM mediante la ejecución del reproductor en un Z80 emulado.

¿El futuro de la demoscene?

Siko reconoce que el resultado no es perfecto. Algunos efectos son bastante clásicos, ciertas partes podrían aprovechar mejor las posibilidades específicas del hardware del CPC y hay secuencias que se repiten para completar la duración. Sin embargo, lo realmente llamativo no es solo el resultado visual, sino la autonomía con la que se ha desarrollado.

Space Debris demuestra hasta dónde puede llegar la programación asistida por inteligencia artificial en un ordenador de 8 bits. La máquina sigue teniendo sus límites, pero ahora una IA puede analizar una composición musical, escribir ensamblador, generar gráficos, ejecutar pruebas y localizar errores mediante un emulador.

Un experimento que abre un debate interesante dentro de la demoscene: ¿hasta qué punto puede una IA acercarse al trabajo de un programador experimentado? En este caso, el resultado queda entre la sorpresa y la prudencia, pero deja claro que las herramientas de desarrollo están evolucionando a una velocidad considerable.

Créditos: programación realizada por Claude Opus 5.5 (Anthropic); música de Captain, versión CPC de BSC; ensamblado con fantams; pruebas con AMSpiriT y compresión ZX0 de Einar Saukas.

Enlace original: Space Debris: quand une IA code une démo Amstrad CPC



Deja una respuesta

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