El título del primer videojuego de la historia es algo que no está para nada consensuado y que, lógicamente, depende de lo que entendamos por videojuego. La semana pasada viajamos a los Estados Unidos de 1958 para recordar Tennis for Two de William Higinbotham, uno de los videojuegos pioneros (y que desde luego es el primero de índole deportivo) y, en esta ocasión, vamos a retroceder en el tiempo hasta la Inglaterra de 1952 para conocer a OXO. Yo diría que ésta es la primera implementación electrónica del juego de las tres en raya (también conocido como tic-tac-toe) y fue realizada por Alexander S. Douglas, "Sandy", para el EDSAC, una de las primeras computadoras de la historia.

La verdad es que la historia del OXO y del ESDAC son bastante interesantes. Tras la Segunda Guerra Mundial, muchos de los matemáticos que trabajaron para descifrar los códigos de Enigma, se reincorporaron al mundo de la Universidad y trabajaron en la construcción de los primeros computadores electrónicos. En Estados Unidos se desarrolló la EDVAC, en la Universidad de Manchester la Machester Mark I y en la Universidad de Cambridge el ESDAC (Electronic Delay Storage Automatic Calculator).

El EDSAC fue el fruto de un proyecto liderado por Maurice Wilkes y que comenzó como un proyecto para que la Universidad construyese su propia computadora basándose en los trabajos publicados de las ya existentes, es decir, mediante un desarrollo ágil que utilizase todo lo que ya se había descubierto y que, entre otros materiales, utilizaba válvulas de vacío para implementar la lógica digital. De esa manera consiguieron, en mayo de 1949, poner en marcha la EDSAC que, además, se convirtió en uno de los primeros computadores en tener un programa almacenado en memoria y que, en 1951, introdujo el concepto de microprogramación al hacer que la CPU del computador estuviese controlada por un programa escrito la ROM del sistema.

En este caldo de cultivo del Laboratorio de Matemáticas de la Universidad de Cambridge, en 1952, el estudiante de doctorado Alexander "Sandy" Shafto Douglas (que luego se convertiría en profesor de Ciencias de la Computación en la Universidad de Leeds) trabajaba en una tesis que versaba en la interacción entre computadoras y seres humanos por lo que pensó que un buen ejemplo podría ser la codificación de un juego que permitiese a un humano jugar contra una máquina. Así nació OXO, un juego programado para el ESDAC (y, lógicamente, sólo funcionaba para este computador) que utilizaba como control un dial telefónico y, como salida, una pantalla de osciloscopio.

Dicen que el código del juego era bastante sencillo (se introducía en la máquina codificándolo en una tarjeta perforada) y que el computador, efectivamente, jugaba bien al juego. Una vez que el juego era cargado, la pantalla mostraba un mensaje en el que se indicaba al usuario que eligiese quién haría el primer movimiento, si el humano o el computador, una vez lanzado el juego, el usuario indicaba la posición de la casilla que iba a ocupar mediante el número del dial telefónico (del 1 al 9) y, acto seguido, el computador respondía colocando su ficha en el tablero. Hoy en día tan sólo podemos ver el funcionamiento de este juego gracias al simulador del ESDAC creado por Martin Campbell-Kelly en la Universidad de Warwick pero, aunque sea un simulador, es fascinante pensar en que una máquina realizada mediante válvulas de vacío a principio de los años 50 ejecutase un programa que fuese capaz de jugar a este juego contra un humano:

Realmente, una partida bien jugada al tres en raya debe terminar en tablas, es decir, que jugando bien no debe haber forma de ganar, esa es la gracia de este algoritmo. Este videojuego está considerado, además de uno de los primeros de la historia, como una de las primeras implementaciones con gráficos como salida y, además, una de las primeras demostraciones prácticas de inteligencia artificial.

Por cierto, gracias a OXO, Alexander S. Douglas obtuvo el título de Doctor, si bien nunca más programó ningún otro juego.

Imagen: Universidad de Cambridge