Cómo se hizo… La Aventura Casi Original

Introducción
Redactar un informe sobre cómo se hizo La Aventura casi Original es uno de los retos más complicados a las que me he enfrentado en los últimos tiempos. Lo que en principio podría ser una tarea fácil que se limitase a enumerar una serie de factores personales, profesionales y/o emocionales que, una vez mezclados (que no agitados) dieran como resultado una aventura, se ha convertido en una lucha por desfragmentar mi cerebro.
Los innumerables bandazos que he dado en el proceso creativo no solo certifican mis carencias intelectuales, sino que son una prueba palpable de mi desorden mental.
Sea como sea, voy a tratar de darle un orden más o menos coherente a los pasos que me han llevado hasta aquí.
Comencemos…
El origen
Quizás te sorprenda, amado lector, que esta Aventura casi Original no fue, en su origen, una aventura de texto. Pero tranquilo, antes de que prendas fuego a estas heréticas palabras, deja que me explique.
En los albores del año 2020 me familiaricé con la realidad virtual e incluso cofundé una conocida web dedicada a lo que ahora llaman metaverso. Mi fascinación por la posibilidad de crear mundos abiertos en los que desplazarte e interactuar con objetos y personajes me recordó a mi ya lejana juventud.
Nótese que esta idea al final sí se ha puesto en marcha por los propios Williams, sin duda con mejores medios y talento, así que habrá que estar pendientes.

Como si de un montón de DLCs mentales se trataran, a mi cerebro llegaron imágenes de un joven tranqui, sentado en una silla diminuta jugando en el ZX Spectrum conectado a una «enorme» televisión Sony 900eu de siete pulgadas.
Aquellas tardes después del colegio disfrutando de los personajes de Marvel que tanto le gustaban a mi hermano. Hulk, Spiderman… ¡Qué felices éramos cuando llegaron los juegos! ¡Y qué desgraciados cuando vimos que eran «de leer» y además, en inglés!
Sin duda, Questprobe fue la responsable de alejar a mi hermano comiquero del mundo de la informática para siempre. ¡No te lo perdonaré nunca, Questprobe!
El caso es que, al despertar del sueño nostálgico, me di cuenta de que mis limitaciones económicas iban a lastrar vilmente la calidad del juego. Desarrollar para realidad virtual requiere de un equipo moderadamente potente y ni mi equipo actual, ni mi cuenta bancaria estaban entre los requisitos mínimos.
Así que decidí hacer una aventura de texto. Al fin y al cabo, ya había hecho algunas en mi juventud. De hecho, hasta gané el premio de la AOL Comp en el año 2000 con mi Aventurero en el Sega Park, después magistralmente portado a la Comedycomp por dos grandes del mundo aventurero como Lumpi y El Clérigo Urbatain.
La elección del parser
Ahora empieza lo bueno.
¿A qué sistemas estará dirigida la aventura?
Esta es, en mi opinión, la primera pregunta que debes responder.
Yo tenía muy claro que mi aventura iría destinada a los nuevos sistemas (dejando de lado mis amados 8 bits) para poder disfrutar de las ventajas que ofrecen los nuevos tiempos.
Como hemos comentado muchas veces en el pódcast de Ricardo «TormentaDePlomo» Oyón, no se trata de competir entre sistemas, cada uno tiene su encanto y son todos igual de buenos y necesarios para el desarrollo del mundillo aventuril. Yo opté por desarrollar una aventura para el navegador por tres razones que, a mi entender, eran fundamentales:
- La posibilidad de actualizar el juego sin obligar al jugador a bajar nuevas versiones.
- Poder implementar un mecanismo de feedback con los jugadores de forma semiautomática.
- Poder dar rienda suelta a cuantas chorradas se me pasasen por la cabeza sin tener que lidiar con las limitaciones propias de los equipos de 8 bits.
Una vez decidido que sería un juego para el navegador, tenía que elegir entre varias de las opciones que la escena creativa aventurera ha puesto a nuestra disposición. Inform, Adventuron, ngPAWS…
Reconozco que, aunque tiene muchísimas virtudes, a mí Inform siempre se me hizo bola.
Adventuron fue mi primera elección por lo novedoso y fácil de programar, además de cumplir el primer punto de mis necesidades. Lamentablemente, no cumplía el tercero y, aunque comencé a diseñarla en el parser de Chris Ainsley, tuve que dejarla en reposo.
Fue entonces cuando rescaté el ngPAWS de entre las páginas de la vieja web del CAAD. Yo fui uno de los afortunados compradores del PAWS de Aventuras AD y recordaba vagamente algunos de aquellos famosos «condactos» y «banderas». El hecho de que se tratase de un parser que generaba un archivo en JavaScript, lenguaje que, aunque sea superficialmente, conozco, era otra de las ventajas.
Pero lo que me hizo decidirme por el parser de Uto fue la posibilidad de crear tus propios condactos, de modificar el modo en que trabajaba el parser y, en definitiva, tener la posibilidad de crear las funciones necesarias para ejecutar cualquier locura que se me ocurriese.
Ya tenía el parser y la idea. ¡Crearía una nueva versión de La Aventura Original en ngPAWS!

Pero… ¡Espera un momento! ¡Joan Cibersheep ya había hecho una versión en ngPAWS de La Original! Mi gozo en un pozo. Bueno, en realidad no tanto. De hecho, tener como referencia el magnífico trabajo de Joan parecía ser un regalo de los dioses para un primerizo como yo. Así que bajé el código y comencé a revisarlo, buscando los recovecos que los malvados integrantes de Aventuras AD pusieron en las entrañas de su criatura. Tratando de encontrar la forma en la que se generaban esos puzles que tanto me costaba solucionar en mi tierna infancia.
No podía hacer un copy-paste del juego de Joan, así que decidí darle un toque personal, algo que lo hiciese mío y solo mío… Mi tesssoro…
El guion
Para no perder la costumbre y fiel a mi norma de «si ya lo ha hecho alguien, para qué vas a esforzarte», pensé que lo ideal sería tomar como guía el libro de Andrés R. Samudio, La Aventura Original – La Gran Caverna.

He de reconocer, para mi vergüenza y escarnio, que, a pesar de haber comprado religiosamente el libro de «El Gran Hombre», no lo había leído más allá de un batir de páginas de vez en cuando.
Este fue el preciso momento en el que me di cuenta de que me había metido en un charco de proporciones bíblicas. La historia contada en el libro (no haré spoilers) tiene muchas similitudes con el juego que yo recordaba, la casita, la caverna, el elfo, el enano y todos esos elementos que le vienen a la cabeza a cualquier cuarentón++ que hubiese jugado a la Original.
El caso es que, al tratarse de un libro y no de un juego de 48k, el mundo descrito por Samudio es mucho más amplio, hay más personajes e incluso hay dos protagonistas. A medida que trataba de plasmar en el guion las cosas que iba leyendo, iba encontrando algunos detalles que, como lector y jugador, me rechinaban un poco. Así que decidí meter baza.
Comencé añadiendo referencias a personajes y lugares emblemáticos del imaginario colectivo de la comunidad CAADiana. Juanjo Muñoz como el arisco tabernero, Carlos Cabezuelo como el atareado escriba que deambula por el bosque en busca de material para maquetar, e incluso la adorable Petra, la piedra aventurera que Paco Zarco creó para aquellos CAAD en blanco y negro que aún pueblan mis polvorientas estanterías.
Este es uno de los puntos que más me han criticado, probablemente con mucha razón, de mi juego. Que mucha gente no conoce a estos personajes ni muchas de las referencias.
CONSEJO: Cuando hagáis una aventura, dejad de lado vuestros sentimientos nostálgicos y centraos en vuestro público objetivo.
El mapeado
El diseño del mapeado fue sencillo, al fin y al cabo, contaba con dos ayudas fundamentales. El mapa de La Aventura Original y el mapa que estaba en el libro de Andrés Samudio. Mi tarea solo consistía en unificarlos y darles una especie de coherencia.
NOTA: Mientras escribo estas líneas no está disponible al público la segunda parte del juego (el interior de la caverna) aunque puedo aseguraros que sí está construida, ¡un poco de paciencia, corcho!
Otra de las cosas que tenía en mente era que no hubiese dos partes como ocurría en la versión de ZX Spectrum, quería que fuese un todo y que incluso pudieras salir de la cueva en caso de necesidad. Una vez más, Joan Cibersheep lo pensó primero, así que en este aspecto vuelvo a tener un cero en originalidad.
Lo que sí hice en esta primera parte, y lo podréis ver fácilmente, fue dividir el mapa en dos mitades.



La parte oriental del valle, incluye todas las localidades que un jugador veterano de La Aventura Original debería conocer como la zona de pícnic, el volcán o la característica casita del bosque, mientras que la zona occidental del mapeado es completamente nueva. Algunas de las localidades como la Taberna, el castillo del Viejo Archivero (sin una ubicación específica) o la cascada sí aparecen en el libro, mientras que el Firfurcio es una de esas licencias que tantos dolores de cabeza me han dado.

Esto fue completamente intencionado, para que el jugador veterano tuviese la sensación de estar explorando nuevas tierras. Este efecto no lo habría conseguido si simplemente hubiese intercalado las nuevas localidades con las viejas.
Cuando comienzas el diseño de un mapeado no es extraño que te dejes llevar por una vorágine creativa. Comienzas a dibujar rectángulos para cada una de las localidades y líneas para marcar sus conexiones en hojas cuadriculadas, diseccionando cada una de las escenas del libro/juego en más y más localidades.
Es en ese momento en que tu hoja cuadriculada parece un juego de hundir la flota, cuando te percatas de que esos cuadrados requieren de una descripción, y en mi caso de tres gráficos y dos bandas sonoras.
En ese momento tu instinto de preservación se activa y comienzas a eliminar todo aquello que te parece superfluo o, en palabras del omnipresente Ricardo, de paso. En mi caso, reduje hasta la mínima expresión las pantallas, sobre todo para ahorrarme trabajo, pero aun así, mantuve algunas de esas «localidades de paso» para que la transición entre distintos lugares o climas tuviese algún tipo de sentido.
Diseñar una aventura con muchas localidades no es sencillo. Necesitas ser muy concienzudo y organizarte muy bien las cosas. El uso de herramientas auxiliares puede marcar la diferencia, no tanto en calidad del producto final, como en número de dolores de cabeza que te ahorras.
Me llamo Juan Palomo
Vista la dificultad de crear un mapeado usando el editor propio del ngPAWS, decidí sacar a pasear a mi espíritu procrastinador.

Lo primero que hice fue crear una extensión para VSCode que me permitiese programar directamente en esta herramienta tan útil. No es que el editor original de ngPAWS no sea bueno, es que yo, acostumbrado a las maravillas de las tecnologías modernas, necesitaba un resaltador de sintaxis que además me mostrase ayuda en línea sobre los condactos de ngPAWS, sus parámetros y para qué servían.

No es algo que sea imprescindible hacer, pero he de reconocer que, aunque perdí algunas al principio, me ahorró muchísimas horas de trabajo.
El siguiente paso fue buscar un programa que me permitiese diseñar el mapeado de forma gráfica (mis intentos por hacerlo yo mismo fueron un rotundo fracaso), y fue cuando encontré Trizbort – The Interactive Fiction Mapper, que cubría todas mis necesidades, desde crear conexiones gráficamente, hasta poner objetos en las distintas localidades.

El problema es que había algo que no hacía… ¡Exportar a ngPAWS!
Al que nace para martillo, del cielo le caen los clavos. Así es que me tocó crear un conversor que me generase el código necesario a partir de un archivo de Trizbort. ¡Et voilà!
Ya lo tenía todo montado, era la hora de empezar.
Los personajes
Otro de los grandes debates que existen en el mundo de la aventura es si los NPCs (en mis tiempos les llamábamos PSIs) son necesarios o no.
En mi opinión, este tipo de personajes le dan algo de vida a un entorno que, al tratarse de texto puro y duro, suele ser bastante estático.
Así que cogí a los personajes que aparecían en el juego original, añadí algunos cameos para arrancar una diminuta lagrimilla de los miopes ojos aventureros y traté de darles algo de conversación. Algunas veces con más acierto y gracia que otras, todo hay que decirlo.
¡No hay cosa más complicada que crear personajes creíbles!
La forma de comunicarse, las interacciones, hacer que un personaje tenga rutinas o que, aleatoriamente, haga o deje de hacer algo es lo más difícil que he tenido que hacer en este proyecto. Y lo peor, es que no lo he conseguido. Pero sí he aprendido mucho.
En esta primera parte hay doce personajes con los que se puede interactuar en mayor o menor medida, y puse mucho esmero en que sus respuestas fueran variadas tanto por su estado de ánimo como dependiendo del jugador.
![]() |
Don Enano, famoso por tener problemas de autoestima relacionados con la distancia de su cabeza al suelo. |
![]() |
El Elfito, rastrera criatura que, al igual que E.T., busca regresar a su casa. |
![]() |
El Viejo Archivero, un momio que vive encerrado en su biblioteca a la espera de más y más lectura. |
![]() |
Yiepp verde y desagradable secuaz del Viejo Archivero. |
![]() |
Igor el músculo que otorga fuerza a los atrofiados miembros del Archivero. |
![]() |
Juanjo el tabernero, un hombre encerrado en su trabajo que subsiste a base de ramen frío. |
![]() |
El pirata Pata de Plomo, capitán del Firfurcio de profesión y borracho de bar por devoción. |
![]() |
El Cocinero del Firfurcio, el terror de los inspectores de sanidad. |
![]() |
Carlos, un pobre diablo que se ve envuelto en una conspiración para acabar con su cordura. |
![]() |
Petra, la piedra aventurera que solo sabe desplazarse rodando hacia abajo. |
![]() |
Hebilla de Calatayud, que antaño fue una menuda y bella joven, se ha convertido en una bruja que vive en la oscuridad y es muy celosa de sus pertenencias. |
![]() |
Tranqui, una especie de Pepito Grillo que ayuda al aventurero antes de que cometa alguna tontería. |
Para el diseño gráfico de los personajes empleé Character Creator de Reallusion, una auténtica maravilla que permite modelar personajes de una forma rápida y sencilla.
El diseño de Juanjo y Carlos debe atribuirse a sus respectivas progenies y este humilde redactor declina cualquier responsabilidad sobre si su aspecto ha podido perturbar en modo alguno las sensibles mentes de los jugadores.
Petra fue diseñada con Adobe PhotoShop basándome en los magníficos dibujos que Paco Zarco publicó en el CAAD.
Los gráficos
Otra de las disyuntivas que tuve que resolver era si sería una aventura con o sin gráficos. Disyuntiva, patrocinada, impulsada y supervitaminada por el ínclito Juanjo Muñoz, que no paraba de «sugerir» mejoras.
Juro por los pasadizos de Quendor que traté de conseguir que se pudiese jugar en modo solo texto, pero el intento fue desastroso y quedó en eso, otro Ozymandias en el espagueti de mi código fuente.
Una vez decidido que habría gráficos, había que buscar herramientas que suplieran mis carencias artísticas. Y fueron Blender, Unity, Photoshop y, por encima de todas ellas, FlowScape las que me ayudaron a diseñar unas pantallas animadas tal y como yo las había imaginado.
Os recomiendo FlowScape con todas mis fuerzas. Si queréis diseñar fácilmente entornos en 3D, la cantidad de assets que tiene puede ampliarse con vuestras creaciones en Blender, así que, chiquipunto para FlowScape.
Parecía que todo iba sobre ruedas, pero una vez más, mi espíritu procrastinado se apoderó de mí y volvió a ponerme en problemas.
¿Y si hubiese un ciclo día/noche y los gráficos (y sonidos) cambiasen dependiendo de ello? Solo tendría que hacer el doble de gráficos y eso no era nada para un hombre del Renacimiento como yo (por mi edad más que por mis dotes artísticas).
¡Decidido! Día, noche… ¡Y linterna!
Efectivamente, si el jugador llevaba encendida la linterna habría que mostrarlo en el gráfico.
Como quería que los gráficos estuviesen animados, solo me quedaba la opción de substituir el condacto de ngPAWS por otro propio que mostrarse de fondo uno de los tres escenarios dependiendo de las condiciones.
El sonido
Otro de los puntos innegociables para mí era el sonido. No una música que estuviese repitiéndose durante todo el juego, sino un sonido ambiente que pudiese permitir al jugador saber dónde se encuentra solo por el oído.
Con la ayuda de algunos bancos de datos de sonidos, así como de grabaciones propias hechas con mi móvil en alguna de mis esporádicas excursiones, fui generando otro grupo de archivos, esta vez de audio, para que sonaran en las localidades (nuevo condacto al canto).
Y quizá te preguntes, ¿por qué no pusiste el audio en el propio vídeo? Pues básicamente por problemas de espacio: si un vídeo es un bucle de 5 o 10 segundos, el audio se repetiría muchas veces mientras estás en la localidad. Poniendo el audio en otro archivo puedes hacer que este sea más largo y que las repeticiones no sean tan evidentes.
Para montar tanto audio como vídeo utilicé la herramienta gratuita Kdenlive. (https://kdenlive.org/es)
El entorno del juego
Otro de los grandes retos a los que me tuve que enfrentar, no solo por lo que para mí representaba, sino por la cantidad de aportaciones «desinteresadas» que me iban llegando, fue el diseño del entorno de juego.
Aunque ngPAWS ofrece muy buenas formas de «customizar» el aspecto de tus aventuras, yo buscaba algo más, un punto extra que hiciese que esta, mi humilde creación, fuese llamativa para las nuevas generaciones.

La utilización de una imagen a pantalla completa unida a una zona de descripciones y línea de comandos semitransparente aportaba algo de inmersión a la trama. Unas zonas dedicadas al inventario y a los personajes ayudarían al jugador a conocer su situación sin necesidad de estar escribiendo el comando INVENTARIO o MIRAR.
En la parte superior, y como si de una barra de herramientas se tratase, integré el botón de menú (luego hablaremos de él), un reloj, fundamental para algunas acciones del juego, el nombre de la localidad y una rosa de los vientos que marca las salidas disponibles.
Cuando gráficamente ya creía que lo tenía todo, llegaron más retos: Las partidas guardadas.
Ciertamente, el sistema de guardado de partidas de ngPAWS no es el más intuitivo y puede que necesite de alguna revisión, pero funciona perfectamente… desde la línea de comandos.
Así que programé un sistema de gestión de partidas que, además de permitir guardarlas fácilmente, ofrecía información gráfica sobre el estado de la partida (gráfico de la localidad, objetos llevados, etc.).

También se me ocurrió hacer que la linterna mostrase la carga de las pilas mientras estaba en uso y que parpadease alertando al jugador de lo inminente de la tragedia.
Mostrar el interior de la mochila fue mucho más sencillo, y con algún pequeño truco en JavaScript y, sí, varios condactos propios, se solucionó fácilmente. Cuando ya estaba a punto de cantar victoria tuve una conversación con Juanjo y Ricardo en la que se me sugirió que «el personaje podría desplazarse más rápido en lugar de recorrer todas las localidades».
Pues eso, programado el condacto «IR A» solo para las localidades visitadas. ¿Y cómo sabías cuáles eran? Pues usando el mapa que amablemente dibujó mi hermana, la Pirata Parito.
Una vez terminadas las pruebas y gracias al sistema de registro de partidas, conseguí que el juego fuese mínimamente jugable.
Por último, quedaba conseguir un dominio, subir los archivos y rezar para que la acogida fuese benévola.
Solo me queda agradecer a todos los que la han jugado, a los que me han felicitado, a los que no, a los que han encontrado fallos y a los que me han aportado ideas.
Seguro que saldrán decenas de bugs, faltas e incongruencias, pero al fin he conseguido volver a aquel viejo valle que visité de joven y eso, para mí, es más que suficiente. A todos los que me habéis acompañado en este viaje. Gracias y…
¡Nos vemos en el interior de.. La Gran Caverna!