Durante los 80, mis aficiones principales eran tres:
- Mi Commodore 64.
- El baloncesto.
- El ajedrez.
Por eso me gustaban juegos como "One on One" o "International Basketball". Y relativos al ajedrez, yo creo que estaremos todos de acuerdo en que el mejor juego, de largo, era "Colossus Chess".
Yo entonces no lo sabía, pero por lo que leo ahora, "Colossus Chess" fue una serie de juegos de ajedrez ganadores de muchos premios durante los 80. Lo programó Martin Bryant y se portó a casi todos los equipos de 8 bits de la época.
Muchas veces jugué contra "Colossus Chess". Ya no recuerdo si conseguí ganarle en alguna ocasión, pero sí recuerdo haberlo puesto contra las cuerdas alguna vez. Al final, casi siempre cometía algún fallo garrafal, se me revolvía, y me daba un buen repaso.
Aquí os dejo un par de pantallas de una partida reciente. Este es el tablero de juego (tenía una vista 2D y otra 3D):
Y este es el registro de la partida y lo que está pensando la máquina:
El juego tenía muchísimas funcionalidades, entre las que destacan:
- Tablero de juego con vistas 2D y 3D. Se pueden cambiar los colores. Se puede cambiar la orientación del tablero.
- Registro de jugadas de la partida en notación algebraica, incluyendo los tiempos de juego de cada jugador.
- Información sobre el análisis de jugadas que está haciendo Colossus (lookahead: profundidad de análisis, positions: número de tableros analizados, best line: evaluación que hace de esos tableros, etc.).
- Evaluación de tableros atendiendo a criterios materiales (número y tipos de piezas), de posición (posición de las piezas en el tablero), y otros.
- El juego no sólo "piensa" durante su turno, sino que también analiza jugadas mientras piensa el contrincante humano. Para ello, hace una hipótesis sobre la jugada que jugará el humano (assumed), y analiza jugadas a partir de esa hipótesis.
- Se permite alterar la posición de las piezas, para así llevar el tablero a una situación X desde la que se quiera continuar una partida.
- Se permite deshacer movimientos, por ejemplo, para rectificar errores; también se permite repetir movimientos.
- Guardar partidas a cinta o disco, y cargarlas de nuevo.
- Cambiar de bando. Pedir a Colossus que haga una jugada por ti.
- Que Colossus juegue contra sí mismo.
- Aplicar una base de datos de aperturas y finales de partida.
- Repetir una partida, en el sentido de reproducir todos los movimientos del registro de jugadas, desde el primero hasta el último.
- Modificar los parámetros de configuración del juego (si Colossus usa o no la base de datos de aperturas / finales, si Colossus "piensa" o no durante el turno del contrincante, profundidad de análisis del árbol de jugadas, etc.).
- Etc.
En definitiva, un juego completísimo e imbatido cuando se midió contra programas similares en otros equipos de 8 bits (Apple II, Spectrum, Atari, etc.).
Por supuesto, nuestro objetivo no va a ser destripar cómo estaba hecho Colossus Chess. Y tampoco intentar hacer un programa similar. Pero sí conocer los principios básicos de diseño de esto tipo de juegos, y esbozar en ensamblador un juego de tablero, aunque sea mucho más modesto.
¿Interesante? ¡¡A mí me parece que sí!!
No hay comentarios:
Publicar un comentario