
El ZX Spectrum sigue demostrando que todavía tiene mucho que decir. Su catálogo no deja de crecer con nuevos desarrollos que exploran los límites de una máquina concebida en los años 80, y Go 9×9 es uno de esos proyectos que llaman la atención tanto por su propuesta como por el desafío técnico que representa. Su autor, Yuri Emelin, conocido como LAWLORD, ha creado un juego de Go para ZX Spectrum 48K en el que podemos enfrentarnos al ordenador. También existe una versión específica para los modelos de 128K.
El Go es un antiguo juego de estrategia originario de China en el que dos jugadores colocan piedras negras y blancas sobre las intersecciones de un tablero para conquistar territorio. Sus reglas son relativamente sencillas, pero dominarlo resulta extraordinariamente complejo. Durante décadas, el enorme número de jugadas posibles y la dificultad para evaluar las posiciones convirtieron el Go en uno de los grandes retos de la inteligencia artificial. De hecho, mientras que Deep Blue derrotó a Garri Kaspárov en ajedrez en 1997, hubo que esperar hasta 2016 para que AlphaGo venciera a Lee Sedol, uno de los mejores jugadores profesionales de Go.
Para adaptar este desafío al Spectrum, Emelin eligió un tablero de 9×9, más pequeño que el habitual de 19×19, pero que conserva la esencia del juego. Según explica el desarrollador, Go 9×9 sería el primer juego de Go para ZX Spectrum que permite enfrentarse a un rival controlado por el ordenador.
Lo verdaderamente sorprendente está en cómo consigue hacerlo. Con un Z80 funcionando a unos 3,5 MHz y apenas 48 KB de memoria, el Spectrum no puede recurrir a las redes neuronales modernas que utilizan los programas más potentes. La solución de Emelin ha sido emplear el método de Montecarlo: el ordenador simula numerosas partidas rápidas y utiliza sus resultados para decidir qué jugada tiene más posibilidades de conducir a la victoria.
El problema es que el Spectrum solo puede realizar unas seis de estas partidas simuladas por segundo. Para mejorar sus decisiones, el autor incorporó patrones de juego extraídos de 233.000 posiciones evaluadas por una red neuronal, condensando ese conocimiento en aproximadamente mil patrones que ocupan apenas 4,4 KB. Según sus pruebas, esta mejora elevó notablemente la fuerza del programa, hasta el punto de que llegó a ganar aproximadamente la mitad de las partidas de prueba frente a GNU Go.
Para desarrollar y comprobar sus ideas, Emelin creó también una versión en C capaz de reproducir el comportamiento del Z80 y contabilizar sus ciclos de reloj. Gracias a esta herramienta, puede ejecutar las pruebas unas 16.000 veces más rápido que en el ordenador original y evaluar cada modificación en miles de partidas. El resultado es un trabajo de optimización en el que cada byte y cada ciclo cuentan.
La versión para ZX Spectrum 128K aprovecha la memoria adicional para incorporar patrones más complejos, un árbol de variantes más amplio y una biblioteca de aperturas con 8.000 posiciones. El autor también ha seguido mejorando la edición de 48K, que ha recibido ajustes destinados a reforzar su juego sin aumentar el espacio ocupado.
No todo ha funcionado como esperaba. Emelin cuenta que algunos intentos de mejorar el programa mediante un solucionador de problemas de vida y muerte, pequeñas redes neuronales o simulaciones especializadas terminaron empeorando sus resultados. En una máquina tan limitada, razonar mejor no siempre significa jugar mejor: si el conocimiento añadido ralentiza demasiado los cálculos, la pérdida de velocidad puede superar sus beneficios.
El proyecto tiene además una vertiente muy actual. El propio autor reconoce que ha utilizado un asistente de programación basado en inteligencia artificial, aunque subraya que cada idea fue comprobada mediante miles de partidas de prueba. Una experiencia concreta que añade un nuevo matiz al debate sobre la IA y el desarrollo de videojuegos para sistemas clásicos, un tema que ya abordamos en El Mundo del Spectrum en nuestro artículo «Adiós Homebrew, ¿hola Home-iA-brew?».
Y hay una última curiosidad. Las dos versiones de Go 9×9 pueden enfrentarse a jugadores humanos a través del servidor Online Go Server (OGS). Según explica Emelin, su profesor, Alexandre Dinerchtein, profesional de tercer dan y siete veces campeón de Europa, consideró que el programa podría haber ganado el primer campeonato mundial de Go por ordenador, celebrado en 1984. Para comprobarlo, el autor enfrentó su creación al programa NEMESIS, ganador de aquel torneo, y el resultado fue contundente: seis victorias para el Spectrum y ninguna para su rival.
Go 9×9 es un nuevo ejemplo de cómo el desarrollo para máquinas clásicas sigue explorando territorios inesperados. No se trata únicamente de adaptar un juego moderno a un ordenador antiguo, sino de encontrar soluciones ingeniosas para que una máquina con recursos mínimos pueda abordar un desafío que durante años puso a prueba a los sistemas más avanzados.
Puedes jugar a Go 9×9 en sus versiones de 48K y 128K desde el navegador o descargar los juegos para probarlos en emulador o en un ZX Spectrum real.







