Cómo no llegar a ser un escritor de aventuras conversacionales
Descripción del contenido de la página
Compendio de consejos prácticos, avalados por la experiencia, para no llegar a ser escritor de aventuras conversacionales.
Lograr mi objetivo de no llegar a ser escritor de aventuras conversacionales me ha costado muchos años de práctica y disciplina, pero el esfuerzo ha merecido la pena. Me siento feliz por haberme librado al fin de la necesidad de crear buenas historias, lugares bien ambientados, personajes creíbles, problemas sensatos, puzles lógicos, descripciones cautivadoras, diálogos verosímiles... Así puedo centrarme en lo realmente importante de las aventuras conversacionales: su programación.
Sería una lástima que otros programadores, queriendo contribuir al desarrollo y popularización de las aventuras conversacionales, lo hicieran por el camino equivocado de escribir aventuras, en lugar de elegir el buen camino de programar aventuras.
He pensado que a otros programadores, especialmente programadores retro, que estén sintiendo la tentación de escribir aventuras conversacionales y no sepan qué hacer para evitar caer en ella, les podría ser útil el método que yo he utilizado. He desglosado mi experiencia en consejos muy claros y fáciles de seguir. Con un poco de fuerza de voluntad cualquiera puede lograrlo igual que yo.
No escribas un argumento detallado
Es obvio que si quieres evitar escribir aventuras, lo último que deberías hacer es escribir argumentos para aventuras, y mucho menos argumentos detallados. Si realmente necesitas partir de un argumento, una idea general, unas pocas notas y unos cuantos puzles inconexos bastan para empezar a programar inmediatamente, que es lo importante. Ya se te irá ocurriendo la aventura sobre la marcha, o quizá no.
No uses lenguajes de programación especializados
Este consejo es evidente pero es uno de los más importantes. Lo peor que puedes hacer si quieres evitar acabar convertido en un escritor de aventuras conversacionales es usar uno de esos lenguajes de programación creados especialmente para escribir este tipo de juegos. Según parece los hay incluso con entornos de desarrollo integrados. Ni los pruebes. Recuerda que no tienen por qué ser necesariamente más fáciles de aprender que un lenguaje de programación genérico. Además, un lenguaje de programación especializado no te dejará programar lo que quieras a tu manera. Sé consciente de que si los pruebas empezarás enseguida a crear puzles y objetos, solo para probar cómo se hace, y pronto terminarás olvidándote de la verdadera programación.
Usa lenguajes de programación minoritarios
Cuanto más minoritario sea el lenguaje de programación que uses, más probabilidades hay de que tengas que hacerlo todo tú mismo, y eso ayudará a que nunca termines de escribir la aventura, porque felizmente siempre estarás programándola. Por el contrario, si caes en la tentación de programar en lenguajes populares corres el riesgo de encontrar muchos ejemplos de código que te faciliten la tarea. E incluso, lo peor de todo, podrías encontrar colaboradores.
Un lenguaje de programación muy recomendable es Forth, probablemente el lenguaje de programación más flexible y versátil que existe; y que además no se parece en nada a los demás en ningún aspecto. De hecho solo hay un puñado de aventuras escritas en Forth por ahí, cada una programada de una forma diferente, cuyo código te llevaría más tiempo descifrar que reescribir desde cero.
Otro buen candidato es por supuesto el ensamblador del procesador de turno. Y en último caso, como una concesión, podrías usar dialectos minoritarios de BASIC, poco conocidos, ligados a máquinas concretas.
Programa para plataformas antiguas
Este consejo está muy relacionado con el anterior. Programar para sistemas operativos y computadoras antiguos, mediante emuladores, tiene la ventaja de que reduce mucho las probabilidades de que, en el improbable caso de que algún día por fin termines de programar la aventura, alguien alguna vez se tome la molestia de probarla: Lo que para ti es un placentero y gratificante reto de programación, teñido de nostalgia y romántico idealismo, para el usuario será una engorrorsa barrera: primero un emulador que instalar y en el que aprender a manejarse; segundo un entorno nuevo, el de la máquina original, tan desconocido para la gran mayoría como limitado en comparación con los sistemas actuales. Pero todo ello será precisamente un acicate más para no dejar de programar la aventura y nunca darla por terminada: Si nadie la jugará nunca y tú te lo pasas tan bien programándola... ¿qué más da terminarla o no?
Diseña mapas innecesariamente grandes
Este pequeño truco ayuda mucho a no ser escritor de aventuras. Una cosa es empezar a programar una aventura antes de tener claro el argumento, pero otra es hacerlo sin tener un mapa. Se necesita un mapa. Así que crea un mapa de cien escenarios o más para empezar. Si hay un bosque, añádele una red de túneles subterráneos; si hay una casa aislada en el desierto, por supuesto conéctala con el alcantarillado de la ciudad más cercana; y en la ciudad no olvides las torres de muchas plantas y unas buenas catacumbas. Así tendrás tantos escenarios que no te quedará tiempo ni fuerzas para escribir descripciones decentes para todos, y mucho menos pensar en sus gráficos.
Programa tu propio analizador lingüístico cada vez
Cada proyecto inacabado de aventura conversacional merece ser único. Y uno de los corazones del programa es el analizador lingüístico. Por eso es bueno dedicar todo el tiempo necesario a programar siempre un nuevo analizador desde cero, adaptado a las características del lenguaje de programación y de la computadora.
Cuanto más sofisticado y complejo sea el analizador, mucho mejor. Si la aventura queda inacabada, lo que es muy probable, por lo menos el programa será capaz de entender muy bien los comandos y detectar con gran precisión cualquier error lingüístico.
Diseña una base de datos muy compleja
Para enredarse aún más en la programación y no caer en las garras de la literatura es de gran ayuda intentar crear un mundo virtual lo más verosímil posible, por innecesario que sea. Para ello la base de datos de todos los elementos del juego (objetos, personajes, escenarios, eventos...) debe ser todo lo compleja que sea posible. Cualquier sofisticación es bienvenida: género gramatical, peso en gramos, volumen en centímetros cúbicos, posición en el espacio, textura, densidad, características organolépticas, composición química...
Haz nuevas versiones de tus aventuras inacabadas
Esta práctica no es muy conocida, pero es muy efectiva para no terminar jamás una aventura conversacional. Cuando el programa esté a medias (no debes esperar al último momento, pues correrías el riesgo de no saber cuándo parar y terminarlo sin querer) piensa qué instructivo y entretenido sería empezar sin demora una versión para otro sistema operativo y en otro lenguaje de programación. Para animarte, piensa en el placer intelectual de traducir los algoritmos de un sistema a otro. Si la nueva plataforma es menos potente, piensa en el apasionante desafío de cómo hacer esto o aquello con menos medios; si por el contrario la nueva plataforma es más potente, piensa en la enorme comodidad de poder hacer esto o aquello con más facilidad y rapidez, y en la cantidad de características nuevas que podrás programar para una máquina más rápida, con más memoria y en un lenguaje de programación más potente. Nunca te quedarás sin excusas para seguir programando.
Abúrrete jugando a aventuras conversacionales
Este consejo es el último pero es el fundamental. Debes lograr que te aburran las aventuras conversacionales. Si no todas, por lo menos la gran mayoría. Si no lo consigues, correrás el riesgo de acabar convirtiéndote en un escritor de este tipo de juegos.
Para lograr aburrirte debes poner algo de tu parte. Cuando juegues a una aventura conversacional, desespérate pronto debido a la pobreza de su vocabulario, a la poca sofisticación de su analizador lingüístico, a sus puzles lineales que no te dejan hacer lo que quieras, a sus faltas de ortografía, al tipo de letra tan artístico como ilegible, a los gráficos que no aportan nada, e incluso al color de fondo de la pantalla... Cualquier excusa es válida para dejar de perder el tiempo jugando a aventuras conversacionales y dedicarte a lo realmente importante: programarlas.
Este texto fue publicado en julio de 2011 en el número 12 de SPAC.