Informes

DAAD y sus amigos

Por J. A. Rubio (@joruib)

¿Qué es DAAD?

Por J. A. Rubio (@joruib)

Aunque en el mundillo de la aventura hispana es poco probable que DAAD necesite presentación, sí cabe la posibilidad de que el lector no sepa exactamente qué es, por lo que vamos a hacer una breve introducción que nos sirva para hilar el resto del artículo.

DAAD es un parser, que no es otra cosa que el nombre que reciben las herramientas para crear y jugar aventuras de texto. Siendo puristas, un parser es la parte que analiza las órdenes que introduce el jugador, pero por extensión se emplea para todo el conjunto.

Se trata del parser que en su día empleó Aventuras AD para el desarrollo de todos sus juegos, creado en exclusiva para la empresa por Tim Gilberts, por encargo de Andrés Samudio.

Tim Gilberts charlando con Andrés Samudio
Tim Gilberts charlando con Andrés Samudio

Es además el último descendiente de un parser creado originalmente para ZX Spectrum, The Quill. Su evolución fue PAWS y tras él vino SWAN (System Without a Name) que permitía generar aventuras para múltiples sistemas. DAAD dispone de prácticamente todas las mejoras de SWAN, amplía el número de sistemas soportados y permite crear aventuras en español.

Tanto The Quill como PAW tuvieron varias versiones para diversas máquinas de la época, pero las versiones eran independientes entre ellas y al estar orientadas al público en general, casi todas funcionaban mediante menús, programando en la propia máquina en que se ejecutaría el juego.

SWAN y DAAD tienen un enfoque más profesional y permiten, partiendo del mismo programa, generar las versiones para las distintas máquinas.

¿Cómo se trabaja con DAAD?

La creación de una aventura en DAAD pasa por la creación de un fichero de texto en el que se programa la aventura y al que nos referimos como fichero fuente. Este fichero fuente lo procesa el compilador, transformándolo en la base de datos de juego y que puede ejecutarse en el intérprete correspondiente a cada máquina.

La parte gráfica se lleva a cabo en editores especializados, de los que existen dos tipos: vectoriales, en los que los gráficos se crean mediante comandos como líneas, rellenos, etc. y de mapa de bits, donde se incorporan gráficos a la base de datos creados con distintas aplicaciones de dibujo.

Los editores vectoriales tienen versiones para Amstrad CPC, ZX Spectrum (a partir de esta se genera la de MSX) y Commodore 64.

Los editores de mapa de bits son más bien dos, una versión más antigua, capaz de generar también la base de datos para Amstrad PCW, y una más moderna que se ejecuta en Atari ST y puede generar las bases de datos gráficas de PC, Amiga y Atari ST.

DAAD incluye otras utilidades para convertir pantallas de carga, generar tokens partiendo de un fichero fuente específico (y que se emplean para mejorar la compresión del texto) y otras utilidades de comunicación entre las máquinas originales.

¿Cómo ha llegado DAAD hasta nosotros?

DAAD fue un sistema desarrollado en exclusiva para Aventuras AD, nunca estuvo disponible ni a la venta, salvo por una excepción: los ganadores del concurso de aventuras de MicroHobby recibieron una copia recortada, capaz de generar aventuras para PC únicamente. Esta copia tampoco fue hecha pública nunca, por lo que tras el cierre de AD, el sistema se consideró perdido.

rockersuke
@rockersuke

No fue hasta 2013 en Madrid, en un evento organizado por la AUIC (Asociación de Usuarios de Informática Clásica) para el que Andrés Samudio cedió un lote de material para su exhibición. Entre este material aparecieron discos etiquetados como DAAD, que procedieron a ser recuperados. Un año después en el evento Valencia Va de Retro, Rockersuke (Pedro Fernández) pidió permiso a Andrés Samudio para poner DAAD a disposición del público y el resto es historia.

Descargar DAAD

Una historia que el propio Rockersuke cuenta con todo detalle en su blog , reproducida también en el CAAD 50.

En 2018, el desarrollador de aventuras Stefan Vogt contactó con Tim Gilberts con el fin de dotar al sistema de un soporte completo en inglés. Tim Gilberts compiló los intérpretes partiendo de los fuentes originales y así fue como se pudo disponer de soporte en inglés para PCW y MSX (que AD nunca tuvo), así como los intérpretes de Commodore 64 recién compilados y el de ZX Spectrum, que no pudo recuperarse.

Componentes originales

Compilador

Partiendo de un fichero de texto codificado en formato MS-DOS y con extensión SCE (al que se denomina fichero fuente) genera la base de datos de juego para cada máquina.

Editores gráficos

Estas herramientas se encargan de elaborar las bases de datos gráficas que contendrán las imágenes a mostrar en las distintas localidades. En el caso de los gráficos de mapa de bits, las herramientas son más bien gestores de gráficos para crear las bases de datos (los gráficos en sí se crean en otros editores gráficos independientes de DAAD).

Los editores gráficos de 8 bits son vectoriales y su nombre es DG. Existen versiones para Amstrad CPC, Commodore 64 y ZX Spectrum, generándose la versión MSX a partir de esta última.

Por su parte, los gestores de gráficos de 16 bits, cuyo nombre es DMG, son dos: el antiguo que se ejecuta bajo DOS, soporta la creación para CGA, EGA y PCW. Este último formato se genera partiendo del gráfico CGA y solo puede hacerse desde la versión antigua.

La versión más actual se ejecuta en Atari ST y soporta gráficos para Atari ST, Amiga y PC CGA, EGA y VGA. La misma base de datos generada sirve para todas las máquinas. Esta utilidad también soporta añadir sonidos digitalizados para las máquinas ST.

Intérpretes

El corazón de DAAD, son los responsables de ejecutar el juego partiendo de las correspondientes bases de datos. Son programas nativos de cada una de las máquinas que DAAD soporta.

Utilidades

DAAD incluye además diversas utilidades con distintos fines, entre otros la conversión de gráficos tanto vectoriales como de mapa de bits entre distintas máquinas, compresores para los gráficos vectoriales y una utilidad para determinar las abreviaturas (o tokens) más óptimas para la compresión del texto del juego.

Componentes modernos

Tras quedar DAAD a disposición del público, varios autores procedieron a desarrollar aventuras con el mismo, en su forma original.

La primera de ellas fue una aventura de prueba, En busca del parser perdido, con la que se comprobó que el sistema era completamente funcional, creando una aventura para la práctica totalidad de las máquinas soportadas (aunque solo las versiones 16 bits llevaban imágenes).

Cetro del sol
El Cetro del sol

No tardó mucho en aparecer, en 2015 y de la mano de David Macho, El misterio de la isla de Tokland, que volvía a demostrar que el sistema era completamente funcional y capaz, aunque en esta ocasión la aventura solo se generó para Amstrad CPC.

La primera aventura larga que se lanzó para todas las máquinas soportadas fue El cetro del sol y desde entonces han aparecido muchas, como Torreoscura o La casa al otro lado de la tormenta.

En paralelo a estos desarrollos, surgieron otros proyectos cuyo objetivo era hacer más sencilla la forma de trabajar con DAAD en sistemas modernos. Cada uno de estos proyectos tenía su objetivo: reemplazar el compilador original o crear nuevos intérpretes para máquinas no soportadas y entornos como los navegadores. DAAD se ha convertido en un ecosistema mucho más versátil, y con este artículo pretendemos dar un repaso a los mismos con el fin de que el autor de aventuras que se anime no se pierda en un mar de siglas.

Compilador

DRC (DAAD Reborn Compiler)

Desarrollado por Carlos Sánchez (Uto), DRC es un compilador de DAAD moderno que soporta un formato de programación extendido, DSF.

Utodev
@uto_dev

La codificación del texto es moderna, lo que nos permite emplear editores actuales sin el fastidioso problema que presentan los SCE (que al estar en codificación MS-DOS alteran los caracteres especiales como la Ñ). Permite definir procesos para varias entradas del jugador, evitando duplicar código, así como escribir mensajes directamente en los procesos (evitando mantenerlos en las tablas de mensajes y operar con identificadores) y otras mejoras.

También incluye instrucciones para emplear la extensión Maluva (que veremos a continuación) de forma más directa.

Se compone de dos programas, DRF que transforma el fuente en un fichero JSON que posteriormente se procesa con DRB. Esta separación permitiría desarrollar en un futuro lenguajes de programación alternativos para DAAD, siempre que éstos se convirtieran al JSON que DRB espera (algo similar existe para PAW, un lenguaje denominado InPAWS que genera bases de datos compatibles con PAW).

Descargar DRC

Extensiones

Maluva

Una extensión desarrollada por Carlos Sánchez (Uto) que permite emplear medios de almacenamiento masivos modernos. Es compatible con el compilador original, aunque DRC dispone de instrucciones específicas para soportarla, facilitando su uso.

Su principal característica es permitir el uso de gráficos de mapa de bits en máquinas que únicamente disponían de gráficos vectoriales, junto con la capacidad de incluir hasta 64K más de texto, siempre que tanto gráficos como texto se carguen o bien desde disco, o bien desde medios de almacenamiento masivo modernos (tarjeta SD).

Además, aporta funcionalidades específicas que permiten evolucionar el intérprete de Spectrum, soportando aventuras con gráficos en Spectrum Next y ZX-Uno.

Descargar Maluva

Intérpretes

Plus4

iszell
@iszell

Desarrollado por Imre Szell partiendo de los fuentes originales del intérprete de Commodore 64. Esta máquina no estaba entre las soportadas por DAAD originalmente. El intérprete está disponible en la distribución DAAD Adventure Writer.

Descargar Plus4

MSX2DAAD

@ishwin74

Intérprete para máquinas MSX2 desarrollado en lenguaje C por Natalia Pujol (NatyPC). Estas máquinas tampoco estaban entre las soportadas por DAAD originalmente, aunque los MSX2 son retrocompatibles con la más sencilla versión MSX.

Descargar MSX2DAAD

cronomantic
@cronomantic

ZXDAAD128

Intérprete desarrollado en ZX Basic por Sergio Chico para ZX Spectrum 128K. Permite el uso de imágenes de mapa de bits en disco, incluso la generación de versiones en casete, siempre que sean para Spectrum de 128K.

Descargar ZXDAAD128

NAPS (The New Age PAW-like System)

Morgul
Morgul

Nuevo intérprete multiplataforma desarrollado en Python por José Manuel Ferrer (Morgul). Es capaz de ejecutar juegos creados para Quill, PAW, SWAN y DAAD. Entre otras prestaciones, dispone de un depurador de gran utilidad durante el desarrollo de las aventuras.

Incluye un creador y editor de bases de datos gráficas que reemplaza al gestor original para gráficos de mapa de bits.

Es el único intérprete de DAAD que dispone de un bot experimental para Telegram que permite jugar aventuras en esa conocida aplicación de mensajería.

Descargar NAPS

PCDAAD

Nuevo intérprete para PC desarrollado por Carlos Sánchez (Uto). Es un intérprete de 16 bits para MS-DOS, ejecutable en las mismas máquinas que el intérprete original de PC, que añade soporte a gráficos VGA en 256 colores y compatibilidad nativa con algunas funciones de la extensión Maluva.

Descargar PCDAAD

jDAAD

Intérprete de DAAD en Javascript, desarrollado por Carlos Sánchez (Uto), que permite ejecutar juegos DAAD en navegadores web.

Descargar jDAAD

Utilidades

Algunos de los nuevos proyectos desarrollados entran en la categoría de utilidades. No todos reemplazan a las antiguas utilidades, sino que proporcionan nuevas funcionalidades.

Triz2DAAD

Trizbort es un programa que permite crear mapas de aventuras de texto, indicando sus descripciones, objetos y otros aspectos de la aventura. Triz2DAAD genera, a partir de estos mapas, un archivo fuente DAAD con toda esta información, ahorrando el trabajo manual al desarrollador. El autor es Pedro Fernández (Rockersuke).

Descargar Triz2DAAD

EAAD (Editor de Aventuras AD)

Foto XimoKom
@ximokom

Entorno integrado de desarrollo para DAAD, se trata de una modificación del editor de ngPAWS (un parser moderno basado en PAW, desarrollado por Carlos Sánchez) emprendida por Ximo Company (ximokom) que incorpora muchas mejoras orientadas a trabajar específicamente con DAAD, entre otras acceso directo a los procesos, ejecución y depuración de la aventura desde el propio editor empleando el intérprete NAPS y compatibilidad con Triz2DAAD.

Se encuentra en su fase final de desarrollo, las distintas versiones beta se publican en el canal de Telegram RetroAventuras, y se encuentra disponible para descarga en:

Descarga EAAD

DRT (DAAD Reborn Tokenizer)

Partiendo del JSON generado por DRC, encuentra las abreviaturas (tokens) más adecuadas para optimizar la compresión de texto al generar la base de datos. Su autor es José Manuel Ferrer (Morgul).

Descargar DRT

unDAAD

Decompilador de bases de datos DAAD que, partiendo de la base de datos de un juego, genera el código fuente correspondiente. Su autor es Carlos Sánchez (Uto).

Descargar unDAAD

PAWS2DAAD

Partiendo de una aventura para ZX Spectrum en formato snapshot (.SNA, .SP o .Z80) desarrollada en The Quill o PAW, genera un archivo fuente en formato DSF para el compilador DRC. Con las modificaciones pertinentes, permite al desarrollador llevar la aventura a DAAD con todos los beneficios que conlleva (lenguaje de programación más potente, ejecutar el juego en todas la máquinas soportadas, uso de extensiones como Maluva para ampliar la aventura, etc.). Su autor es Carlos Sánchez (Uto).

Descargar PAWS2DAAD

img2DAAD

Herramienta que permite generar bases de datos gráficas para 16 bits (archivos DAT) partiendo de ficheros DEGAS (editor gráfico de Atari ST) o imágenes en formato PNG, mucho más sencillas de trabajar con herramientas modernas. Su autor es Carlos Sánchez (Uto).

Descargar img2DAAD

DAADPack

Foto Javy Fernández
@JavyFernandez77

Permite, partiendo de un mapa de Trizbort, crear un esqueleto básico de aventura lista para compilar y generar para las distintas máquinas. Su autor es Javy Fernández, y podéis descargarlo gratuitamente desde su carpate de google drive.

Descargar DAADPack

DAAD Builder Kit

Permite mediante script de línea de comandos, compilar de forma automatizada en MacOS o Linux aventuras desarrolladas con DAAD, haciendo uso de DAAD Adventure Writer y DosBox-X para la ejecución del compilador clásico. Su autor es Pedro Aznar.

Descargar DAAD Builder Kit

DAAD Editor

Editor de texto desarrollado por Miguel A. Matías para el DAAD original. Soporta la codificación MS-DOS, la misma que el compilador original. Dispone de una vista lateral para acceder directamente a cada sección del archivo fuente, además de permitir configurar las rutas del compilador, intérprete y base de datos gráfica para lanzarlos desde el entorno.

** Link de descarga no disponible, si conoces alguno ponte en contacto con nosotros *

Distribuciones

El DAAD original consistía en un conjunto de disquetes que contenían los programas que hemos mencionado anteriormente. La parte del desarrollador se copiaba a disco duro desde un disquete etiquetado ‘Developer’ (aunque podía usarse desde el propio disco), esto es, no requería instalación al ser utilidades aisladas. El disco ‘Developer’ contenía el compilador y el gestor de bases de datos gráficas para CGA, EGA y PCW.

Otros discos disponibles eran ‘Utilities’, con el resto de utilidades, otro con intérpretes para PC ya compilados para su uso, disco con la documentación y otros en formato CPC, Amiga, Atari ST y ZX Spectrum, conteniendo entre otras cosas los editores gráficos de esas máquinas.

A lo largo del tiempo han ido apareciendo varias fuentes desde las que descargar el sistema, encontrándose también en la zona de descargas de la web del CAAD

DAAD recuperado

Los discos originales recuperados están divididos en carpetas con su contenido original junto con imágenes de disco de los sistemas distintos al PC. Además de este contenido, también encontramos imágenes escaneadas de los discos originales con el fin de preservar su aspecto original.

Además del DAAD en sí mismo, esta distribución incluye código fuente de algunas de las aventuras de AD, además de másters originales de los juegos.

Desgraciadamente, los intérpretes correspondientes al Commodore 64 no pudieron recuperarse, pues el disquete que los contenía estaba doblado e irremediablemente dañado. No obstante, Pedro Fernández logró extraerlo de una copia en cinta de Chichén Itzá.

Con respecto a los intérpretes en lengua inglesa, el de Amstrad CPC estaba borrado pero una de las personas involucradas en la recuperación, Syx, descubrió que aún se encontraba sin daño en el propio disco, los datos no se habían sobrescrito.

Para PCW y MSX, Aventuras AD nunca llegó a disponer de intérpretes en inglés.

De esta distribución encontramos dos versiones: una con las imágenes de disco y escaneos en una sola carpeta, que podemos encontrar en la zona de descargas del CAAD y otra con el mismo material ordenado por carpetas según la máquina, además del intérprete de Commodore 64 recuperado de Chichen Itzá. Se encuentra disponible en la misma página que alberga la aventura de prueba En busca del parser perdido, en:

Descargar DAAD Recuperado

DAAD Adventure Writer

Como hemos mencionado anteriormente, en 2018 Stefan Vogt junto con Tim Gilberts, partiendo de los fuentes originales, restauraron los intérpretes en inglés dañados y algunos que nunca estuvieron a disposición de AD, como los de PCW y MSX.

Foto Stefan Vogt
@8bit_era

Como parte de este esfuerzo, Imre Szell, trabajando a partir de los fuentes del intérprete de Commodore 64, desarrolló un intérprete para Plus 4.

Estos nuevos intérpretes se añadieron a los ya recuperados gracias al esfuerzo de Pedro Fernández y sus colaboradores, conformando la distribución que Stefan Vogt puso a disposición del público en GitHub.

Actualmente disponible su versión R5, se compone esencialmente de los intérpretes, documentación básica y algunos de los ejecutables originales, destacando una nueva versión del compilador que soluciona un problema con la compresión de textos que tenía el original.

Descargar DAAD Adventure Writer

DAAD Ready

Dejamos para el final la que es en opinión del que escribe, la joya de la corona en cuanto a distribuciones. DAAD Ready, como su nombre indica, incluye no solo el compilador DRC junto con Maluva, sino todos los intérpretes, archivos BAT para automatizar la creación de la aventura para las distintas máquinas y por si fuera poco, emuladores para todas las máquinas, preparados para lanzarse como parte del proceso de construcción de la aventura.

Suministra además una plantilla básica en el formato de fuente soportado por DRC, por lo que el autor no parte nunca completamente de cero. Este punto puede ser el único que cause problemas a autores que intenten traer su código a DAAD Ready.

No obstante, un programador con conocimiento suficiente puede adaptarla modificando las partes que considere convenientes y siempre tendrá la ventaja de disponer de prácticamente todo el software moderno desarrollado para DAAD.

Notar que DAAD Ready se apoya en el uso de la extensión Maluva, por lo que las aventuras creadas se generan para ejecutarse desde disco o medios de almacenamiento masivo modernos (como tarjetas SD). No soporta directamente la creación de aventuras en casete (salvo al emplear el intérprete ZXDAAD128, aunque sin gráficos), pero como hemos comentado, nada que no se pueda solventar apoyándose en la distribución como base y empleando otras herramientas complementarias.

Descargar DAAD Ready

 

Tranquilino Rodriguez

Nació viejo hace ya más de medio siglo. Desde entonces solo ha podido ir cuesta abajo y sin frenos. Prueba de ello es que dedica parte de su tiempo a dirigir y presentar un pódcast en Twitch llamado Increíble Pero Incierto. Como es un animal sediento de éxito y fortuna, está tratando de ofrecer a las masas su visión del clásico de Aventuras AD #LaAventuraCasiOriginal, una aventura de texto que, sin duda, le reportará pingues beneficios. Mastodon

Publicaciones relacionadas

Botón volver arriba