Mes: octubre 2020

El Paciente 106

“El Paciente 106” es una aventura conversacional programada por Raúl Simarro (Artaburu) y con gráficos de José Ignacio Ramos (KendroocK), aparecida bajo los sellos ESP Soft y CEZ Adventures en 2007, para los ordenadores de la gama Amstrad CPC disco.

Primero, un poco de historia

Siempre he sido de Spectrum. Eso me permitió acceder al PAWS, que en España solo se publicó para ese ordenador, y, a través del CAAD, a la ingente producción amateur de aventuras que el PAWS propició para Spectrum (recordemos el proyecto B.A.S.E.: http://base.speccy.org/).

Mi relación con los otros sistemas de 8 bits de la época se limitó a ver algunos de ellos en casa de amigos o primos, y en particular con el Amstrad CPC, a jugar en casa de un vecino con su Amstrad CPC 464 con monitor de fósforo verde. Como he comentado algunas veces, ese monitor de fósforo verde impidió, en cierta forma, que fuera consciente de las capacidades de la máquina de Alan Sugar, y que no la considerara muy superior a mi querido Spectrum.

No puedo ni imaginarme lo que pasarían los aventureros “amstradianos” cuando Aventuras AD dejó finalmente de hacer aventuras. Si los poseedores de un Spectrum pudimos, con la producción de la bolsa de aventuras del CAAD y de otros programadores “homebrew” seguir con la afición hasta la aparición de los primeros parsers y aventuras para PC, los pobres poseedores de un Amstrad no tuvieron un PAWS que llevarse a la boca y por tanto no pudieron disfrutar de, por ejemplo, ni de las aventuras ganadoras del concurso de MicroHobby, ni de la producción de Grupo Creators Union, etc., y lo que es más importante, no pudieron desarrollar (al menos con PAWS) su creatividad aventurera con su Amstrad.

Y pasó el tiempo, y llegaron los PC y sus aventuras gráficas, y guardamos los Spectrums y Amstrads en los armarios y trasteros. Y para aquel que siguió con el gusanillo de crear conversacionales llegó SINTAC y CAECHO?, y finalmente Inform, y la máquina Z y Glulx, y los clones “modernos” de PAWS, como Superglús, etc, etc.

Y poco a poco hubo gente que desempolvó sus viejos Spectrum y Amstrad y empezó a jugar, no ya los viejos juegos de la época, sino también a crear nuevos juegos, y “lo retro” se volvió a poner de moda…

He de confesar que cuando se mencionó por los foros del CAAD “El Paciente 106” no me llamó mucho la atención… una aventura solo para Amstrad, en 2007, me pareció algo anecdótico, y creo que ni me molesté en intentar jugarla.

Pero pasaron los años, y el CAAD, como los foros, se marchitaron… mientras la afición por lo retro pareció fortalecerse, la gente acumuló cacharros, se creó hardware moderno que permitió jugar de nuevo con nuestros antiguos ordenadores de forma rápida y cómoda a través de tarjetas SD, se crearon podcast y grupos de Telegram, e incluso se recuperó el DAAD, el viejo parser usado por Aventuras AD…

Y así acabé en un grupo de Telegram llamado @RetroAventuras, dedicado en principio a aglutinar a aquellos interesados en programar con el recién recuperado DAAD, y que evolucionó después a tratar cualquier tema relacionado con las aventuras en sistemas “retro” (o no tanto).

A través de RetroAventuras entré en contacto con el mundillo retro. Recuperé mis Spectrums, y finalmente, dudando entre un Commodore 64 o un Amstrad CPC 464 acabé comprando un Amstrad CPC 6128… el Amstrad había entrado en mi vida. Era junio de 2019.

Como conocí “El Paciente 106”

Y así, con mi flamante 6128 entre manos, empecé a probar aventuras, a ver qué tal se veía en Amstrad. La primera fue “El Jabato” de Aventuras AD. Creo que la segunda fue “La Casa”, también de ESP Soft, que se estrenó por aquellas fechas. Y finalmente le llegó el turno a “El Paciente 106”. He de destacar que en aquel momento no tenía otra forma de jugar con mi 6128 que grabando disquetes de 3,5” desde el PC, y ejecutándolos en una disquetera externa de PC que había conectado al Amstrad. “El Paciente 106” carga las imágenes desde disco, y obliga a cambiar entre disco A (imágenes) y disco B (código), así que mi primera prueba consistió en un intercambio de disquetes (mete la cara B para ejecutar la aventura, la cara A para ver las imágenes, la B de nuevo si quieres grabar o volver a comenzar…). Ahora, finalmente ya la he podido disfrutar y terminar en una Gotek.

Primeras impresiones

Mis primeras impresiones con la aventura fueron muy buenas. Gráficamente es espectacular, todas las localidades muestras gráficos en modo 1, con unas paleta básica con el negro, el blanco y el rojo. Los gráficos tienen un estilo “de comic”, y son, hasta cierto punto algo infantiles, pero confieren al conjunto una peculiar atmosfera, alejada de los acostumbrados gráficos vectoriales de las aventuras de parser.

Dejando de lado el aspecto visual, en una primera impresión, el parser parecía ser bastante “sordo” y algo desesperante. Algunas veces he leído que el CAAD era “hostil” a las aventuras retro, o a aquellos que se presentaban en los foros con la idea de desarrollar un nuevo parser, pero hay que tener en cuenta que la evolución de la producción aventurera desarrollada desde 1992 ha puesto especial hincapié en mejorar la “sordera” de los parsers, apoyándose en las optimizadas librerías de inicio de parsers como Inform o Superglús, pero también estandarizando ciertos comportamientos o respuestas, que huyen del consabido “No puedes hacer eso”. Es paradigmático que aventuras como las de la serie Van Halen, desarrolladas por Josep Coletas en PAWS, han sabido interiorizar estas prácticas, incluso en los escasos 48Kb de memoria del Spectrum, y pueden codearse sin problemas con producciones de parsers a priori más potentes de forma digna.

Así, la aparición de aventuras “retro” o programadas en sistemas propios, en los foros del CAAD, eran juzgadas, en más de una ocasión, como aventuras difícilmente jugables para un jugador “moderno”, tanto por las propias dificultadas que el parser plantea, como, incluso, por el tipo de puzles,  argumentos o calidad literaria. Décadas de evolución de las aventuras conversacionales (y de sus jugadores) hacen que para muchos jugar productos retro, más cercanos en su concepción a los antiguos juegos de AD que a las últimas producciones aparecidas, suponga realizar un importante esfuerzo de adecuación al “medio” y las características del producto.

En resumen, “El Paciente 106”, me ofrecía, en un primer vistazo, una aventura vistosa para un sistema como el Amstrad CPC, pero con un parser al que tendría que acostumbrarme, sí o sí.

Aspectos destacados

Sin duda el aspecto visual y la ambientación. Visualmente es bastante espectacular para un Amstrad CPC. Aún con su paleta limitada, los gráficos bitmap estilo comic se alejan de aquello a lo que estamos acostumbrados en una aventura conversacional. Además, incluyen varios guiños al mundillo retro en general. La ciudad, los personajes, etc., están perfectamente caracterizados, y contribuyen a la ambientación…

Una ambientación a la que también contribuye tanto el texto como el desarrollo. Si bien las descripciones son ciertamente parcas, esa sensación de misterio al principio: ¿quién eres? ¿por qué estás en el hospital? Se va transformando poco a poco en casi una peli de acción (sin pasarse), una historia de corrupción policial y tráfico de drogas. Un tema más adulto, tampoco demasiado visto en aventuras conversacionales (¿recordáis Carvalho?) y desde luego alejado de los típicos tópicos de las “espada y brujería”. Y oiga, aunque a mí me gustan estos últimos, de vez en cuando también apetece un cambio. Desde luego, se nota que es una aventura con vocación “más adulta”, aunque la misma parquedad de las descripciones y el desarrollo no acaben de poder desarrollar la historia del todo.

Cosas mejorables

Sin duda es algo más “durilla” en nuestra relación con el parser que otras aventuras para el mismo sistema, y en especial que las aventuras de AD. La utilización de un parser propio siempre genera este tipo de problema. La descripción de las localidades y los textos de respuesta son muy muy justitos, y si bien en general el conjunto consigue una ambientación notable, se echan en falta un mayor número de respuestas negativas a acciones no correctas, ya que podemos terminar viendo demasiadas veces ese poco afortunado “¿Mande?”.

Sufre, como casi todas las aventuras de texto, de síndrome de palabra exacta en algunos casos. Incluso con la solución en la mano, en algún momento me costó dar con la frase o la combinación de palabras adecuadas para poder realizar una acción. Quien esté libre de pecado que lance la primera piedra, pero una vez más, echo en falta algunas respuestas negativas más elaboradas.

Se ha optado por una relación con los PSI tipo palabras clave, es decir: >decir policía hola, >decir policía quiero mis cosas. Dejando de lado la no utilización de las comillas para enmarcar nuestra frase (una situación que hay que asumir sí o sí), este tipo de conversación siempre presenta el mismo problema: hasta dar con la palabra que hace reaccionar al PSI, la conversación más que con un personaje seudo inteligente parece que sea con un personaje seudo idiota… pero es lo que hay. Quizá la utilización de un comando “Hablar con”, hubiera permitido no tener esta sensación un poco rara cuando no consigues que el personaje te entienda, y profundizar más en la historia… pero esto mismo podría achacarse a todo ese tipo de aventuras que usan palabras clave como resortes de sus conversaciones con los personajes.

La aventura, como muchas otras, se me ha hecho finalmente corta, además, justo en la escena final cuando le damos al tipo la droga y el papel no andaba muy seguro de estar haciéndolo bien, ya que el tío no parecía muy receptivo. Algunos pasajes me han parecido algo forzados, como por ejemplo en la disco cuando nos dejan literalmente entrar hasta la cocina… sin embargo, como he comentado antes, el conjunto final te deja un gran sabor de boca y muy buenas sensaciones.

¿Hubiera podido ser un producto comercial en la época?

Indudablemente sí. Quizá el único problema hubiera sido la falta de versiones. No sé si sería muy complicado pasarla a Spectrum o MSX, pero con todo su principal desventaja en la época comercial hubiera sido el necesitar disco para funcionar, lo que descartaba a la mayoría de usuarios de 464, lo que quizá la haría inviable comercialmente en España. Parece que en Francia sí era más normal que los juegos hicieran uso intensivo de la unidad de disco y que aparecieran juegos solo para estos sistemas. En todo caso, seguro que se publicaron aventuras peores en su conjunto que esta, aunque quizá esté un peldaño por debajo de grandes éxitos de AD como la Original o Cozumel. Por temática hubiera sido un soplo de originalidad… aunque, como el ya mencionado Carvalho, quizá no apta para el público infantil, o sí, los ochenta eran así.

Defínelo en una frase

“Aventura ilustrada de policías corruptos”

Yo, desde luego, una vez “adaptados” y asumidas las limitaciones del parser, la recomiendo.

Página web del juego: http://espsoft.blogspot.com/2015/08/el-paciente-106.html

Ficha en Amstrad.es: https://www.amstrad.es/doku.php?id=juegos:el_paciente_106

El DAAD

En el último podcast del Carrascosa (@XCarrascosa),  se comentaba el recientemente aparecido CAAD 52. En un momento dado, y ante la vista de la portada, Xavi comenta: “Mapa y solución de Rudolphine Rur, una aventura antigua, que creo que se ha portado a otros sistemas con la aplicación esta que existe en Amiga creo”. WTF? Juanjo (Muñoz) puntualizó: ”la aplicación es el DAAD, que permite la conversión de aventuras a diferentes formatos a partir de un mismo código fuente.” Esto me hizo pensar que no todo el mundo tiene tan claro que es el DAAD ahora mismo, qué posibilidades tiene, ni cómo puede pasarse una antigua aventura de PAWS o Superglús a DAAD…

¿Qué es el DAAD? El DAAD es el parser utilizado por Aventuras AD para hacer sus aventuras. ¿Qué es un parser o sistema de autoría? Un “motor” de creación de aventuras conversacionales, que puede conjugar un lenguaje de programación especializado con un conjunto de aplicaciones que facilitan la creación de aventuras. ¿Qué es Aventuras AD? Fue la única empresa profesional que se dedicó entre finales de los años 80 y principios de los años 90 a la publicación de aventuras conversacionales en España. Pero si no sabes qué es Aventuras AD, posiblemente no estés leyendo esto.

Resumiendo, allá por el año 88 o 89, Andrés Samudio, a la postre director y guionista principal de Aventuras AD, contactó con Tim Gilberts, dueño de Gilsoft, la empresa que había comercializado el PAWS para comprarle una versión de su nuevo parser SWAN. Y por dos millones de pelas de la época, se trajo no solo el parser bajo el brazo, sino también al grandote inglés, para que personalizara el parser según las necesidades de Aventuras AD y para que enseñara su manejo al resto de equipo.

Como bien es sabido, Aventuras AD produjo seis aventuras con su parser, y a medida que las hacía, el parser fue evolucionando, al menos mientras Tim Gilberts permaneció en el equipo (todo esto lo cuenta muy bien Juanjo Muñoz en su libro “AD: Una aventura contada desde dentro”). Aventuras AD no resistió la crisis de los ordenadores de 8 bits, ni la llegada de las aventuras gráficas, y la compañía, y su parser desaparecieron, no sin antes llegar a ofrecer como premio del famoso concurso de aventuras, organizado por MicroHobby y Aventuras AD, una versión “capada” del parser (sin el editor gráfico y solo con el intérprete de MSDOS).

Algunos de los ganadores del concurso pronto vieron que las funcionalidades del DAAD podían ser emuladas o incluso mejoradas fácilmente, y surgieron los primeros parsers para MSDOS de principios de los noventa, como SINTAC de JSJ o CAECHO? de JAPS (aunque este último abandonaba el estilo PAWS/DAAD). Con el tiempo otros creadores de parser desarrollaron otros parsers tipo PAWS, como el NMP, Superglús o ngPAWS de Carlos Sánchez, Uto.

Cada uno de estos parsers, superando con mucho las capacidades del DAAD, podían generar juegos para el sistema, digamos “imperante” en su época: PC MSDOS en el caso de SINTAC, CAECHO? o NMP, multiplataforma (Windows, Linux, MAC) mediante máquinas virtuales en el caso de Inform o Superglús y finalmente aventuras directamente ejecutables en entornos web, como en el caso de ngPAWS, Fi-js  y algunos más.

Sin embargo, con el auge de aquello que llamamos comúnmente “retro”, algunos aficionados volvieron a sentir la necesidad de crear aventuras para estos sistemas y el panorama era muy distinto según la plataforma de su elección. En Spectrum seguía disponible el viejo PAWS en español (traído a España también por Aventuras AD) y se produjeron sagas míticas como “Los extraordinarios casos del Doctor Van Halen” de Josep Coletas , pero por ejemplo en Amstrad o Commodore apenas existían otras opciones más que usar las versiones inglesas de PAWS, GAC o The Quill, o incluso arrancarse con motores propios (este es el caso de, por ejemplo, “El Paciente 106” de ESP Soft)…

Hasta que en 2014, de forma ciertamente inesperada el DAAD se recuperó. Pedro Fernández, aka Rockersuke Moroboshi, aka ZonaFi explica de forma magistral (y muy amena) en su blog como se recuperó el DAAD y se consiguió el permiso de Andrés Samudio para su liberación y disfrute por parte de la comunidad.

A partir de los disquetes olvidados en el altillo de Samudio, un puñado de pioneros preservó, organizó y documentó el conjunto de herramientas que permiten la creación de una aventura en DAAD. Hay que tener en cuenta que el DAAD no es, como comentaron algunos de los ganadores del concurso de aventuras, un “super-PAWS”, en el sentido que no es un sistema integrado de creación de aventuras, sino un conjunto de compiladores, intérpretes y herramientas. Resumiendo mucho estas se componen de: un fichero fuente editable mediante un editor de texto, un compilador en modo comando que crea, a partir del código fuente, una base de datos ejecutable por cada uno de los interpretes existentes. Y esta es la fortaleza y la magia del DAAD, Tim Gilberts se curró interpretes para 8 máquinas diferentes: Spectrum, Amstrad, Amstrad PCW, Commodore, MSX, PC MSDOS, Atari ST y Amiga.

Pronto, aparecieron las primeras “nuevas” aventuras realizadas en DAAD: “En busca del parser perdido” de Rockersuke, “El Misterio de la isla de Tökland” o “Cero Absoluto” de ESP Soft, “Elf” de Javy Fernández… Paralelamente, la comunidad alrededor del recién recuperado parser DAAD se agrupó en un canal de Telegram, primero llamado @RetroDAAD y posteriormente @Retroaventuras… y organizó talleres de DAAD en quedadas y eventos retro. Además se empezó a pensar en formas de expandir el DAAD, como permitir la carga de imágenes bitmap desde disco en los ordenadores de 8 bits, lo que llevó a la creación de la extensión Maluva de Uto.

Hasta entonces el DAAD solo permitía gráficos vectoriales en los ordenadores de 8 bits, y gráficos bitmap en los ordenadores de 16 bits y el Amstrad PCW. Para ello existían varias herramientas, principalmente DG para Spectrum y DGM para Atari St. El DG de Spectrum incluía un editor de gráficos vectoriales al estilo del viejo PAWS, y permitía crear una “base de datos” gráfica que se combinaba con la “base de datos” textual para ejecutar nuestra aventura. Esto limitaba enormemente la memoria disponible para la aventura, ya que, tomando como base el Spectrum, con una memoria RAM de 48 Kb, DAAD necesita 2 Kb aproximadamente para el juego de caracteres y 16 Kb aproximadamente para el intérprete, con lo que tan solo quedan unos 30 Kb a repartir entre las bases de datos de texto y de gráficos… En cambio en ordenadores de 16 bits y el Amstrad PCW los gráficos pueden ser cargados “al vuelo” desde disco, con lo que la base de datos textual puede alcanzar aproximadamente unos 65 Kb.

Este comportamiento se emuló con Maluva. Los gráficos “bitmap” pueden cargarse desde disco “a demanda”, y por tanto no ocupan RAM, permitiendo así, aventuras más largas, y teóricamente, más vistosas (aunque hay gráficos vectoriales que son una maravilla).

Poco a poco ilustres del CAAD probaron con DAAD y así, ya en 2019 aparecieron obras como “La casa al otro lado de la tormenta” de Depresiv o “ZHL” de Kambre (ver esta entrada en este mismo blog). Y la extensión Maluva siguió creciendo. En DAAD, como en PAWS (y como después en SINTAC), los mensajes se escriben en una tabla (la tabla de mensajes) de tal forma que si al examinar una mesa queremos que aparezca: “Una desvencijada mesa llena de papeles y útiles de escritura.”, debemos añadir este mensaje a la tabla de mensajes, y luego referenciarlo desde el código fuente con un MESSAGE [nº mensaje]. Esto puede ser realmente fastidioso y pesado. Además, el viejo compilador de Tim Gilberts funciona, como hemos comentado, en MSDOS, y en ordenadores modernos no existía otra alternativa más que usar DOSBOX o similar. Escribir una aventura en estas condiciones podía resultar realmente heroico. Por suerte Uto siguió manos a la obra y acabó publicando un nuevo compilador de DAAD, que permitía el uso de sentencias tales como MESSAGE “Una desvencijada mesa llena de papeles y útiles de escritura.” y ejecutar el compilador desde la consola de comandos de Windows modernos, sin necesidad de usar DOSBOX. Simplificando mucho, el nuevo compilador DRC (DAAD Reborn Compiler) transformaba un nuevo formato de código fuente en la base de datos “entendible” por los viejos intérpretes, y convertía la tarea de programar en DAAD en algo menos arduo.

Sería justo mencionar también la contribución de Stefan Vogt y su papel en volver a implicar a Tim Gilberts en la recuperación de los intérpretes ingleses o la creación de un nuevo intérprete para MSX2 por parte de Natalia PC (lo que permite hacer uso de las asombrosas capacidades gráficas de este estándar) o el futuro intérprete en Phyton de Morgul, el paquete DAAD Ready que automatiza la creación de los soportes para los diferentes sistemas…

En definitiva, desde su recuperación el DAAD ha sufrido una evolución que permite ahora usarlo de forma cómoda, además de disponer de una documentación y tutoriales que permiten iniciarse en él de forma relativamente rápida. Así, todos aquellos interesados en crear aventuras para sistemas retro, pueden considerarlo como una de las alternativas más completas, a la espera de ver cómo evolucionan otras alternativas, como por ejemplo PunyInform.

En mi caso, como comentaba al principio, he usado el DAAD para portar una vieja aventura programada en 2005 en Superglús: «Las Aventuras de Rudolphine Rur«. El proceso dista mucho de ser un “proceso automático”, ya que si bien tanto Superglús como DAAD están ambos basados en el lenguaje de condactos de PAWS y comparten muchos elementos, es inevitable un proceso de adaptación.

En mi caso, y partiendo de la librería de inicio de DAAD, fui copiando y pegando cachos de código desde Superglús, y a partir de ahí todo era cuestión de revisar y cambiar lo que no funcionaba. Sin el DRC esto hubiera sido sino imposible, sí mucho más difícil. Ahora podíamos sustituir los WRITE “lo que sea” de Superglús por MESSAGE “lo que sea” de DAAD. Adaptar el vocabulario, revisar los procesos, buscar alternativa para algunos condactos no existentes en DAAD… El proceso siguió su curso de forma lenta, pero inesperadamente segura.

También había que lidiar con las limitaciones de memoria. En mi caso la primera decisión fue dividir la aventura en dos partes. Con ello conseguí “meter” todo el texto de la versión Superglús en las versiones de 16 bits, aunque me quedé cerca del límite teórico de 65 Kb y sobretodo sufrí con las limitaciones en el número de mensajes: a saber 255 mensajes de usuario, los que sobren hasta 255 en mensajes del sistema, y las localidades que sobren hasta un máximo de 255. Otra cuestión eran las versiones para 8 bits. Aun contando con la ventaja que Maluva nos permitía cargar los gráficos desde disco, el límite de 30 Kb seguía ahí (todavía no habían aparecido los XMESSAGES). Recortar desde 56 y 58 Kb que ocupaban más o menos ambas partes en PC a 30 Kb para que pudieran ejecutarse en Spectrum o Amstrad fue una dura prueba… Ahora entendía la ingrata tarea de Juanjo en AD. Descripciones enteras desaparecieron, mientras que otras fueron necesariamente mutiladas, pero finalmente se consiguió… ¡La aventura era jugable en 8 bits! Y entonces Uto publicó los XMESSAGES…

Los XMESSAGES es una capacidad de Maluva que permite almacenar los mensajes de texto en disco, y recuperarse “al vuelo”. Así, desaparecen de un plumazo las limitaciones de memoria y número de mensajes (y, teóricamente pueden realizarse en un Spectrum aventuras incluso más grandes que en un Amiga o Atari St, ya que en estos últimos no existe una extensión Maluva y las aventuras siguen teniendo un número de mensajes máximo). Eso sí, su uso se restringe, en la práctica, al uso conjunto con extensiones hardware modernas como el DIVMMC o M4, ya que cargar al vuelo un mensaje desde un disquete es irremediablemente demasiado lento.

Por esta razón Rudolphine en DAAD está disponible en tantas versiones para, por ejemplo, Spectrum o Amstrad: una versión cinta sin gráficos y con textos recortados (que se cargan por completo en RAM), una versión en disco con gráficos (que cargan bajo demanda desde el disco) pero con textos recortados cargados en la RAM y una versión DIVMMC, M4, etc., donde tanto los gráficos como la mayoría de los textos son cargados bajo demanda desde la SD. Como son dispositivos tan rápidos, la carga de estos XMESSAGES no sufre demora.

La verdad es que aunque en su momento pudo parecer un fastidio que los XMESSAGES aparecieran justo después de terminar el proceso de recorte de textos, ahora estoy contento. Esto me ha permitido publicar versiones que no necesitan de hardware extra (cintas, floppies) y, sinceramente, no sé si habría pasado por ello si hubiera sabido desde el principio que existía la posibilidad de publicar para SD con XMESSAGES.

La parte final, el proceso de betatesting (en mi caso sin betatester), la revisión de los textos (¡gracias de nuevo Ángel!), la transformación de los gráficos para las distintas versiones, la creación de los diferentes soportes, el diseño de manuales y carátulas, el proceso de duplicación de las versiones físicas, etc, etc, es otra aventura que quizá cuente en otra ocasión.

En todo caso… si tenéis una historia que contar y queréis, fruto de la nostalgia, publicarla en sistemas retro, DAAD es hoy un sistema lo suficientemente maduro para que sea altamente recomendable… y si, como yo, tienes una vieja aventura en PAWS o Superglús y la quieres portar a otro sistema, también.