Mi primer contacto con un lenguaje de programación fue en el año 1986 a la edad de 12 años; desarrollé un programa muy sencillo en uno de los mejores interpretes de BASIC que se ha hecho jamás: el Locomotive BASIC creado para el extraordinario Amstrad CPC6128, equipo basado en el no menos extraordinario microprocesador Zilog Z80. Con aquella primera incursión en un lenguaje de programación logré, a modo de trofeo, adquirir una gran fascinación por la informática y por el desarrollo de programas.
Poco más de un año después, habÃa abandonado el mundo de los ordenadores propietarios de 8 bits para acceder al nuevo y fascinante mundo de los compatibles con el IBM PC. Aquello me llevó del Locomotive BASIC y el CP/M, al intérprete BASICA de IBM y al MS-DOS de Microsoft. En realidad, el intérprete BASICA era la versión distribuida por IBM con el PC-DOS creado por Microsoft para los ordenadores IBM PC. Pero gracias a «La Habitacion Limpia», con la salida al mercado de los ordenadores compatibles con IBM PC, a Microsoft le salió una nueva clientela, ajena al fabricante IBM, a los que les comercializó un MS-DOS que incluyó como intérprete el GW-BASIC.
Inicialmente empecé a programar en el BASICA, para después pasarme al GW-BASIC... un intérprete de BASIC de gran calidad, y en cortos espacios de tiempo iba necesitando crear mejores programas... atacar mayores retos. Ya habÃa ido de academia en academia buscando aprender más sobre informática, pero lo ofrecido en todos los centros de formación no pasaba del BASIC al que ya le habÃa cogido el truco.
A mis catorce años estaba en una academia en la que ya me habÃa cansado de desarrollar las tÃpicas aplicaciones «Alta / Baja / Consulta / Modificación»... terminaba una aplicación, y me mandaban desarrollar otra, y asà me tenÃan una clase tras otra. Entre clase y clase se me ocurrió desarrollar en BASIC un juego de ordenador para ocupar mis ratos libres y, de paso, seguir aprendiendo... menos jugar al ordenador y más trabajar con el. Pero claro, querÃa que mi juego tuviera gráficos, sonido, y alguna animación... pero el BASIC del MS-DOS contaba con sus limitaciones. Un dÃa se lo comenté al profesor de informática de la academia, y me respondió que no era posible desarrollar con el GW-BASIC un videojuego de esas caracterÃsticas -supongo que, además, pensó: menos un crÃo de 14 años-. Aquel profesor era joven, no tendrÃa de aquella más de 27 o 28 años, y en su centro de trabajo lo tenÃan por las nubes porque era uno de los primeros ingenieros informáticos titulados, ya que en mi ciudad hacÃa poco tiempo que existÃa una facultad dedicada a la ingenierÃa informática.
Lo imposible, en ocasiones, es realmente imposible, pero otras veces solo existe una barrera en la mente de cada uno; si crees que algo es imposible de hacer... ya da igual que realmente se pueda hacer o no. Asà que me puse manos a la obra y empecé a desarrollar mi videojuego en GW-Basic: un juego de preguntas de cultura general que bauticé con el nombre de Cult-Test. Realmente el GW-BASIC disponÃa de sus limitaciones, los videojuegos con buenos gráficos eran desarrollados por auténticos artistas del apartado visual y, normalmente, ejecutados en aquellos años en ensamblador o en lenguajes de medio nivel como el C. Crear una pantalla gráfica con GW-Basic era posible, pero quedaba un poco cutre.
En el año 1988 no existÃa el Internet público que tenemos en la actualidad -la gran fuente de información-, y para lograr fines importantes en la informática se requerÃa de una dosis de ingenio propio, y la escasa bibliografÃa sobre informática que se pudiera encontrar. TenÃa solucionado el asunto del sonido para el videojuego: cambiando las frecuencias enviadas al altavoz se lograba emitir música con la escala de notas musicales que todos conocemos. En el apartado gráfico me puse a investigar y encontré, por mis propios medios, un camino paralelo que me permitÃa cargar en GW-Basic ficheros binarios externos; después de muchos intentos -prueba y error- logré abrir binarios que contenÃan gráficos dentro de un programa de BASIC. Asà que las pantallas de mis juegos podÃan ser creadas por medio de capturas de pantallas -retocadas después-, o en base a diseños ejecutados con algún programa de dibujo como, por ejemplo, el famoso PC Paintbrush. Aquello me permitió incluir gráficos de gran calidad en mi videojuego.
TenÃa solucionada la música y las pantallas gráficas. Me faltaba por solucionar las animaciones... y para aquello, gracias al mismo método que habÃa descubierto para cargar ficheros binarios, utilicé transiciones. Después vino la parte de programar todo teniendo en cuenta que el GW-Basic era un intérprete y, por ello, cualquier programa desarrollado en aquel entorno necesitaba para su ejecución tener abierto el mencionado software para hacer un «RUN». Para automatizar la ejecución del juego y que fuera posible desde el propio sistema operativo MS-DOS, al igual que un ejecutable «COM» o «EXE», desarrollé un pequeño proceso «BATCH» en el sistema operativo.
En un par de meses terminé el videojuego cumpliendo todos los objetivos prefijados al inicio. En una clase le comenté al profesor de informática que habÃa desarrollado el videojuego bajo las condiciones que le habÃa preguntado en su momento, y él puso en duda la veracidad de mis palabras; un dÃa llevé mi videojuego a la academia y lo ejecuté en uno de los ordenadores. El profesor no dijo nada, puso cara de mal humor, y no volvió a hablar del tema. Poco tiempo después dejé la academia.
En los siguientes años desarrollé algunos videojuegos más complejos y de más calidad, pero programados en lenguajes más completos como el C y creando las animaciones en programas como el IBM StoryBoard Plus, para terminar por usar, después, las «puertas traseras» para cargar los binarios. La experiencia es un grado, y con cada proyecto personal que pude ejecutar aprendà nuevas y mejores cosas, hasta los 17 años que programé el último videojuego; mi objetivo dentro de la informática era diferente... para el año 1991 ya estaba pensando en mi futuro como informático profesional en la industria o en la administración.
Entre clase y clase se me ocurrió desarrollar en BASIC un juego de ordenador para ocupar mis ratos libres y, de paso, seguir aprendiendo.