daad-adventure-writer / daad

Licence: other
The official DAAD repository, a multi-machine adventure writer for classic 8-bit / 16-bit systems.

Programming Languages

Scilab
70 projects
python
139335 projects - #7 most used programming language
assembly
5116 projects
Batchfile
5799 projects
Roff
2310 projects

DAAD Adventure Writer

DAAD is a multi-machine and multi-graphics adventure writer, enabling you to target a broad range of 8-bit and 16-bit systems. It was written by Tim Gilberts in the late 80s as an in-house solution for the legendary adventure forge Aventuras AD. It allows maintaining a single source file and then compile a database that is runnable through the interpreter of the target machines.

The Curse of Rabenstein (C64 version) by Stefan Vogt, copyright (c) 2020 Puddle Software. Created with DAAD, using Maluva for pixel image support.

Supported target machines

  • Commodore 64
  • Commodore Plus/4 (and C16 with 64k)
  • ZX Spectrum
  • Amstrad CPC
  • MSX
  • PCW
  • Atari ST
  • Amiga
  • IBM PC (DOS)

Supported languages

  • English
  • Spanish

Target audience & usage notes

DAAD was created with the professional adventure developer in mind. It requires programming skills and knowledge in handling source code files and compilers. The sources of your adventures compile to game databases which need to be transferred to the target systems where they run in platform-specific interpreters. We recommend creating build-scripts for that purpose.

The compiler: DRC

DAAD's compiler DRC is available in a separate repository. Please also refer to the DRC Wiki for learning how to use it.

Pixel image support and additional content: Maluva

We created Maluva, a DAAD extension that adds many useful features such as pixel image support and loading additional game content from disk. A detailed documentation is available at the Maluva Wiki.

Similar systems

Systems similar to DAAD are the adventure game tools which Tim Gilberts published with Gilsoft:

  • The Quill & The Illustrator (available for a broad range of 8-bit systems)
  • Professional Adventure Writer / PAWs (Spectrum, CP/M)

It is highly recommended that you have at least some experience with these programs, especially with the CondActs logic of Quill and PAWs, because a superset of this is the foundation of DAAD. Perfect would be knowledge about the PAWs CP/M version. We advise you to grab yourself a copy of Quill and work your way through the tutorial to understand the basic logic in case you are new to these systems.

Moving ancestor system code to DAAD

You can use this specific version of unPAWs, which disassembles a Spectrum PAWs game and converts it to DAAD's .DSF syntax. You still have to properly adapt the contents then to the DAAD standard .DSF template but it should work with very little efforts.

System requirements and recommendations

  • a modern operating system (Linux, MacOS, Windows)
  • Visual Studio Code

To properly setup Visual Studio Code, you should also install the .SCE Syntax Highlighter that Chris Ainsley created for this project. You may download the extension from the VSCode Marketplace: SCE Syntax Highlighter (DAAD/PAWs).

Other useful tools

  • Triz2DAAD: command line utility which is priceless for world design and prototyping. It transforms maps created with Trizbort desktop app and Trizbort.io into code which can be compiled straight away with DAAD's DOS compiler as well as DRC.

  • EAAD: an advanced editor for DAAD sources. Also has an integrated code generator for riddles, which makes it very easy to create complex statments of adventure logic.

Legal notice

DAAD has been kindly contributed to the public domain by Andres Samudio, the founder of Aventuras AD. You may create as many adventures with the system as you like to, even commercial ones. Please note that the sources of the interpreters are currently not provided.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].