3D Construction Kit
(This is a reprint of the original post)
Hoy toca recurrir de nuevo a la nostalgia para rellenar unas líneas. Me voy a remontar al año 1991, en el que yo andaba cacharreando con mi primer PC (un 286 pequeñito, muy entrañable, y que aún conservo). Por entonces usaba programas como DR-DOS, Windows 3.0, WordPerfect y cosas así. La maravilla técnica en cuanto a juegos se llamaba Prince of Persia, pero yo me entretenía haciendo mis propios juegos, como ya conté anteriormente. Reconozco que aún programaba en BASIC (usando QBASIC), aunque ya empezaba a mirar algún compilador de C y un libro de C++ (vale, no hay mucha gente que esté interesada en C++ con doce años, lo admito).
Tenía también un programa fascinante, llamado 3D Construction Kit. Se trataba de una especie de editor de mundos de realidad virtual, con un interfaz de usuario increíblemente avanzado para la época (algunas capturas). Por si alguno piensa que las tres dimensiones las inventó nVidia, aclararé que mi tarjeta gráfica era una Hércules y que la memoria de todo el ordenador era 1 MB. La única pega era que mi tarjeta era monocromo, y la realidad virtual en monocromo resulta menos real.
Lo más interesante de aquel programa consistía en que disponía de un sencillo lenguaje de script parecido al BASIC, con el que se podía dotar de cierta vidilla a los objetos del juego. Por ejemplo, podías desencadenar cierta acción cuando el jugador pasaba sobre un objeto, o accionaba un mecanismo. Curiosamente, es más o menos lo mismo que sucede hoy en día con las páginas HTML y el JavaScript. Por tanto, empecé a crear pequeños juegos tipo aventura gráfica o mazmorra. Me ayudó el manual del juego (que debo tener en algún cajón, muy gastado de tanto manosearlo) y el video VHS que venía incluido con el software, y que explicaba cómo empezar a usarlo (imágenes del video). No obstante, no recuerdo que hiciera ningún juego memorable, y mis adaptaciones del Tron tuvieron mucho más éxito.
Algo después (¿1993?) conseguí un nuevo PC, todo un señor 486 con tarjeta gráfica en color. Empecé a cacharrear con un raytracer llamado POV-Ray, que aún existe y goza de buena salud. El POV-Ray permitía crear escenas tridimensionales mucho más realistas, pero no interactivas. Una característica del POV-Ray es que no incluía modelador gráfico, de modo que las escenas tenían que ser descritas usando un lenguaje específico que exigía una buena visión tridimensional (mental, se entiende). Así que se me ocurrió hacer un conversor para transformar mundos 3D diseñados con el 3D Construction Kit en escenas POV-Ray. Lo escribí en BASIC (sí, aún programaba algunas cosillas en BASIC, pero se me pasó pronto), y lo llamé 3DK2POV. Por desgracia, no conservo el código, y tampoco recuerdo bien cómo era el fichero de entrada (el de 3D Construction Kit), pero considerándolo en perspectiva, resulta que fue mi primer procesador de lenguaje (vale, admito también que con 14 años no es muy normal escribir compiladores). Es curioso, once años después terminé la ingeniería superior escribiendo también un compilador.
No es que el programa fuera una maravilla, las posibilidades de traducir unos modelos en otros eran muy parcas. Sin embargo, decidí enviar el programa (con código fuente, naturalmente) a una revista que se llamaba PCManía, y que no sé si sigue existiendo. Por entonces no tenía acceso a Internet, así que enviar un disquete dentro de un sobre a una revista era la mejor forma de distribuir el programa. Entonces ignoraba completamente el concepto de software libre, y no recuerdo qué términos de uso le puse a mi programa, pero seguro que eran bastante libres (posiblemente, como freeware). La revista tardó un montón (más de un año) en publicar mi programa, pero finalmente lo hizo, incluso pidiéndome disculpas por el retraso. Y así fue como publiqué "masivamente" un programa por primera vez. Ignoro si alguien llegó a probar el programa, porque no recibí ninguna carta (insisto, no tenía Internet ni e-mail). Quien sabe, igual alguien todavía lo tiene por ahi, y si llega a leer esto, me encantaría recuperar mi código fuente (¡ahora es fácil, sí tengo e-mail!).