peron:~$ cat tetris.txt

TETRIS: el juego soviético de la mente

La Academia de Ciencias de Todas las Rusias, principal ente académico de la Unión Soviética, era en 1979 el centro estatal por antonomasia de la inteligentsia del Bloque del Este. En el mundo era uno de los más renombrados en lo concerniente al cómputo y la alta matemática.

Sin embargo, para ese entonces y desde hacía poco más de una década, la política oficial de la URSS había virado de sus notables desarrollos propios a la réplica y adaptación de hardware del bloque occidental con vistas a una industrialización lo más masiva posible.

La Academia de Ciencias contaba con el Centro de Cómputo, situado en el Moscú. En un magno edificio dirigido por el matemático en jefe del antiguo programa espacial soviético, Anatoli Doronitsyn, daban servicio a los estudiantes de ciencias varias computadoras mainframe producidas en la Unión. También había acceso a hardware importado tanto legal como subrepticiamente, sobre todo de Europa y de los Estados Unidos, sobre el cual un excelente plantel de hackeres y hackeresas sometía al arte de la ingeniería inversa.

En este ámbito se unió al instituto un graduado en calidad de investigador de lenguajes de programación: Alexei Pajítnov. Siendo adolescente se había apasionado con la revista RadioTecnika, y formado en cálculo. Ahora, con 24 años, este hombre bonachón y estudioso no había abandonado su ambición de "utilizar computadoras para brindar felicidad al Pueblo".

La tarea oficial de Pajítnov dentro del laboratorio de lenguajes del Instituto era la de participar en tareas de programación y estudio de hardware extranjero, específicamente para evaluar las capacidades del hardware nuevo y estudiar su implementación práctica en la industria soviética.

Para principios de 1982, los técnicos del ámbito militar industrial soviético se habían propuesto crear en la ciudad de Veronezh máquinas de cómputo "de propósito general capaces de servir al pueblo", en base al estudio e ingeniería inversa de equipamiento computacional norteamericano más reciente. En base a estas propuestas habían logrado - para mediados de 1983 - el desarrollo de la Electronika-60, versión adaptada para sus procesos de manufactura automática de la minicomputadora PDP-11/03 de la Digital Equipment Corporation. Se trataba de máquinas de 16 bits montables en rack provistas del microprocesador de fabricación local M2. Representaba un clon de la tercer y más veloz generación de las PDP-11, la LSI-11, surtidas ahora con 32 KB de memoria, lo que superaba al modelo original en un orden de magnitud. Estas Elektronika-60 alimentadas por conexión trifásica de 380 voltios comenzaron a ser asignadas a algunas de las dependencias oficiales más importantes de la URSS, no bien salían de la línea de producción.

Fue así que a finales de 1983 Pajítnov se sentó frente a la terminal serial 15IE-00-013 y comenzó a escribir - enmarcado en las implementaciones de evaluación solicitados por el instituto - varios programas en Ensablador-11. El objetivo básico de laboratorio era adaptar el DEC RTSE - sistema operativo de tiempo real multiusuario de la DEC PDP-11 - a la Elektronika-60. La tarea de desarrollo tendía a depurar una versión específica denominada ФОБОС (FOBOS).

Para Pajítnov "los juegos permiten a la gente conocerse mutuamente, a la vez que actúan como reveladores de cosas que normalmente podrían no notarse, tal como la manera de pensar".

Terminando el crudo invierno de 1984, las tareas técnicas de Pajítnov dieron buenos resultados con el FOBOS, y se desviaron en su interés personal. En particular, lo que mas interesó al investigador fue explotar puzzles de tipo matemático y juegos de rompecabezas aprovechando los 32 o 64K del sistema operativo multiusuario. Se abocó a recrear en la terminal de caracteres un juego de rompecabezas de piezas de madera típico llamado pentamino , al que había sido adepto durante su niñez. Imaginó que podría escribir un programa en la Elektronika-60 capaz de presentar en tiempo real en su terminal serial el descenso de piezas de pentamimo generadas aleatoriamente (es un "dominó" con piezas de cinco celdas en lugar de dos), a las que el operador debería girar para rellenar columnas organizadas.

Como la Elektronika-60 carecía de gráficos por control de píxel individual y - al igual que las terminales seriales - generaba un patrón fijo de caracteres almacenados en ROM, Pajítnov modeló el campo de juego y piezas en base a caracteres puros usando corchetes para componer las celdas de los pentaminos: [].

Al poco andar se encontró con un escollo: el rompecabezas de pentaminos típico se consta de doce formas de piezas distintas. Tras evaluar varias impolementaciones, Pajítnov juzgó que no tanto la potencia de cálculo sino el esfuerzo para ordenar doce tipo de piezas resultaba excesivamente alto. Decidió alterar el código fuente reduciendo el concepto general al de los tetraminos (de los cuales existen sólo siete variantes posibles). Fue así que dio el nombre característico a su software, a partir de la combinación de "tetra" ("cuatro") y su deporte favorito, el tenis.

Como las líneas completas llenaban rápidamente la pantalla del terminal, decidió agregar una subrutina condicional que borraba una línea una vez que se la completaba, y transportaba el resto de las líneas hacia abajo para dejar más espacio. Logró así un objetivo fundamental en la lúdica que ofrecía el programa. Un pitido de terminal completaba el efecto.

Pajítnov compiló la primera versión jugable del Tetris el 6 de junio de 1984, y lo presentó a sus colegas del Centro de Cómputo. Esta primera versión del Tetris carecía de sistema de puntaje o niveles, pero lo adictivo del juego lo distinguió rápidamente de otros juegos de rompecabezas que Pajítnov había desarrollado anteriormente, y de otros juegos portados al sistema FOBOS.

Sus colegas y los matemáticos se hicieron rápidamente adictos al juego. A través de la Red Local que unía a las terminales de todas las oficinas, no tardó en correr como reguero de pólvora, y se copió a través de las unidades de disco de 8 pulgadas adosadas a las máquinas. A los pocos días no quedaba Instituto en Moscú cuyas Elektronikas no tuviesen una copia del TETRIS.

Se dice que el mismísimo Director - laureado Héroe del Trabajo Socialista y condecorado con Órden de Lenin por el desarrollo del mainframe ES EVM (clon del mainframe IBM S/370) - había vislumbrado a sus matemáticos jugándolo, pero que de alguna forma - tal vez con poca ciencia cierta - pudieron convencer al enorme catedrático de la valía de este nuevo "juego para la mente".

Vladimir Pokhilko, jóven pediatra de 26 años y amigo de Pajítnov, fue menos condescendiente. Le había pidido el juego para la Elektronica del Instituo Médico de Moscú, y se lo llevó en un disco flexible de 8 pulgadas. Pokhilko estaba a cargo por entonces del plantel humano - que comprendía las pasantes - y del material, que incluía la computadora y las cuatro terminales, junto con la base de datos médica computarizada del instituto de medicina pediátrica. El médico no tardó mucho comprobar como sus pasantes y secretarias encargadas del data entry abandonaban el trabajo en sus terminales de FOBOS para abocarse al TETRIS. Tuvo que banear el juego del mainframe del instituto para recuperar la productivad perdida. "Los becarios médicos me odiaron, y la supervisora de la comisión hospitalaria Demodeva quería matarme por no alcanzar las cuotas del registro computarizado del cuidado de la niñez. El juego se había convertido en una excusa excelente para que los estudiantes conocieran a las nuevas chicas del plantel técnico".

Para 1985 arribaron al Instuto de cómputo las primeras Computadoras Personales IBM "AT". Estas máquinas disponían de un hardware de video perfeccionado con respecto a las terminales de la Elektronika-60. Fue por tal motivo que - aprovechando al pasante de 16 años y autodidacta Vadim Gerasímov - se propuso un portado del código fuente a la misma. Gerasímov portó el código desde el Ensamblador-11 al Ensamblador x86, e incorporó al programa el uso de los 16 colores que permitía el novísimo Adaptador Gráfico Mejorado de la PC. Compiló un ejecutable que era capaz de correr en sistemas operativos tipo DOS de sólo 256K de memoria RAM. A la vez, el programador Dimitri Pavlovski se ocupó en agregar un array mejorado de tiempos, que - haciendo uso de las propiedades de esta computadora - permitía variar la velocidad de juego gracias al uso bruto de ciclos de reloj, y por lo tanto disponer niveles de dificultad, así como desplegar un sistema de puntajes salvables (que permitía recompensa). Para 1986 esta versión para PC "definitiva" quedó completa.

Si bien las IBM PC eran raras aún en la Unión Soviética, las características del juego lo hicieron muy "solicitado". Se copiaba en diskettes de 5 1/4 de baja densidad y se transfería "mano en mano".

Pajítnov le preguntó a su supervisor Victor Brjabrin - quien había viajado fuera de la Unión Soviética en procura de hardware - que lo ayudara a difundir Tetris. No se vendía software en la Unión Soviética, y las creaciones dentro de la Academia en capacidad científica eran - teóricamente - propiedad del Estado.

Brjabrin envió una copia del Tetris al comerciante húngaro de electrónica Novotrade. Desde allí comenzaron a circular copias del juego de muy bajo costo, pero fundamentalmente copias pirateadas de estas. La vía de transmision era el disco flexible de 360KB para DOS, y así llegó a Hungría, Alemania Oriental e incluso Polonia. Para mediados de junio de 1986 el juego era una sensación tal en Hungría, que Robert Stein - vendedor de software de la firma londinense Andromeda Software - no pudo dejar de alucinar al ver cómo este sencillo juego de video durante una visita comercial a Hungría para vender software de Spectrum ZX allí.

La Guerra Fría de los Clones

peron:~$

Retorno