Recuerdo cierto momento en la última quedada RetoBloggera (en Cazorla), cuando cierto compañero me hizo la siguiente reclamación: Álvaro, si has sido tan buen programador en el pasado ¿por qué no te animas a desarrollar una de esas aplicaciones (apps) para los sistemas Android o Mac que tanto triunfan ahora?
Este comentario me hizo pensar, y mucho. Ha pasado tanto tiempo de aquello que podéis considerarme un completo analfabeto de la informática actual. No obstante, aunque han pasado muchos años puedo hacerme una idéa de cómo se hacen las cosas a día de hoy. No cabe duda que los programadores de hoy basan su trabajo en el esfuerzo de otros programadores que, antaño, exprimieron sus neuronas una noche tras otra.
Hubo un tiempo en que todo estaba por hacer. Si querías una rutina para borrar la pantalla o mover un sprite, te lo tenías que currar. Si querías que un monigote pasara por encima de un escenario sin que este se borrara, te lo tenías que currar. Si querías que ese mismo monigote se parase al chocar con una pared o se cayera cuando el suelo desaparecía bajo sus pies… TE LO TENÍAS QUE CURRAR.
Las cosas que hoy día se obvian eran un verdadero quebradero de cabeza para los programadores de antes.
Programar desde cero tenía sus ventajas, pues se podía hacer casi de todo hablándole directamente a la máquina (se utilizaba el lenguaje ensamblador como código fuente). El inconveniente de esto era la gran complejidad que alcanzaban algunas rutinas. Hacer un pequeño programa podía llegar a ser algo endemoniadamente tedioso, por no hablar de los inevitables errores que conducían irremediablemente al “colgado” del sistema con la consiguiente pérdida de la información.

Con el tiempo te ias creando tu propia “cartera de rutinas”, las cuales podías ir mejorando poco a poco o sustituirlas por otras mas cortas y potentes que encontrabas en revistas especializadas (Microhobby, Todospectrum, etc.). Los nuevos juegos se iban programando ensamblando unas rutinas con otras, acortando el tiempo invertido en cada programa.
Con los años apareció un tipo de software específico, como el Arcade Game Designer o el 3D Game Maker, donde el usuario dejaba a un lado la programación pura y dura y se centraba en el diseño propiamente del juego, dentro de un marco establecido. La ventaja es que era mucho más facil, y el inconveniente era que el tipo de juego estaba limitado a los esquemas que te permitía el software. Por ejemplo, el 3D Game Maker te permitía hacer juegos en perspectiva isométrica empleando la técnica Filmation. Pero todos tenían la misma estructura de juego y el mismo número de tipos de personaje, enemigos, etc. cambiando solo el diseño y la distribución de los elementos en el mapa.
En este contexto vi evolucionar el mundo de los videojuegos desde mi ZX Spectrum.
Conforme salían al mercado nuevos juegos (de mayor calidad) aumentaba mi curiosidad por conocer cómo estaban pensados por dentro, hasta el punto que me convertí en un auténtico hacker, modificando los contenidos de los programas comerciales.
Pero la llegada de los microordenadores de 16 bits a principios de los años 90 me condujo, inexplicablemente, al abandono de la que fué, sin duda, una de mis mayores pasiones, la programación.

Foto: encuentro retro informático (Casas de Lázaro 2012)
Glosario (sólo apto para frikis)
La evolución de este mundillo refleja, de algún modo, mi propia evolución en la programación de videojuegos durante la década de los 80, memento en el que reinaban los microordenadores de 8 bits.
Los tipos básicos de programas eran:
Nº1) Marcianitos de una pantalla. Los marcianitos descendían de acuerdo a un patrón de comportamiento, y tú les tenías que disparar desde un punto (nave espacial) que se movía por la pantalla. Originariamente comenzaron con un solo movimiento, de izquierda a derecha (Pheenix), y luego llegaron los modernos con más movilidad (Ad Astra).
Nº2) Tenis de palotes. Básicamente eran lo mismo que el anterior, sustituyendo el disparo por una pelotita que rebotaba en la pantalla y entre dos palotes.
Esto dió origen a un gran impostor, el Arcanoid, mezcla de los dos anteriores.
Posteriormente vino una saga de impostores donde todos eran, en esencia, el mismo programa: el juego de hostias a) con un personaje al que todos seguían para aniquilarle, o b) con pelotita, incluyendo los de deportes, fútbol, baloncesto (Fernando Martín Basket Master), etc.
En este caso encontrábamos las variantes:
Arcade plano lateral: el combate se producía en una sola pantalla 2D. Encontramos juegos como Exploding Fist, Yie Ar Kung Fu, Barbarian, etc.
Modificación del anterior son los que los personajes andan en un escenario de más de una pantalla 2D, también con scroll, en vista lateral. Es típico de Navecitas (R-Type). Hay un subgrupo dentro de éste, que es el de esos que intentan emular las 3D, pero no os engañéis, es el mismo que el de las navecitas: Renegade; y en deportes el Match Day.
Arcade plano cenital: como el Atic Atac o el Gauntlet. Otros intentaron imitar las 3D en plano cenital, como el Comando, el Rambo o el Ikary Warriors. También incluye deportes, como el Emilio Butragueño Fútbol.
Arcade-Aventura: en proyección isométrica utilizando la técnica Filmatión. Destacan Knight Lore, Alien 8, Batman o Head Over Hells.
Paralélamente está el tipo Nº3) que es el juego de plataformas. No se dónde clasificarlo, ya que se trata del mismo programa pero con la peculiaridad de que los personajes andaban por plataformas. La evolución en el timpo pasa de una pantalla (Manic Miner) a un mapa más complejo (Jet Set Willy , Abu Simbel Profanation o Dynamite Dan).
Por último, el tipo Nº4) Aventuras conversacionales. Ni siquiera hay muñecos, sólo letras. Diosssss. Aburridísimo. Sólo salvaría a The Hobbit y a Don Quijote ).