Webpage about Adventure Definition Language

Hello, I am a fan of ADL and AdvSys text-adventure authoring systems and would like to inform, that I prepared the webpage about ADL, which contains:

  • formatted manual,
  • full ADL archive (with executables for Amiga computers). Contains example games etc.
  • and Windows executables.

I prepared the formatting and compiled the executable using recent CL.exe (C compiler that comes with Visual Studio 2022). The program was tested.

The page is located here: ADL resources

I hope you find it useful. Greetings.

16 Likes

This is well done; nice work on the documentation. I was able to use it to build one of the sample games. The only thing I didn’t find in the documentation was the command line switch settings for the compiler and/or the runner exe’s, that would be handy to have. I ended up putting everything in one folder that it needed so it could find everything but I am assuming there is probably a switch or something to tell it alternative paths for the standard.adl and other include files. So ADLComp.exe output something like adlcomp.out and then I did “adlrun.exe adlcomp.out” and it started the game. Seems like it should have picked a different extension for the output files to indicate the game files. I never had an Amiga, so what do I know. But I think it’s pretty cool you were able to build this with Microsoft’s C compiler. Assuming it must have been pretty close to ANSI C standard.

-virtuadept

2 Likes

Yes, there are also available separate manuals, that describe the command line switches, and I have planned to include them as well on the webpage. I just need to format them. For now you will find these manuals in original text form in main ADL archive in directory named “man”.

Note: The LHA archive, commonly used on Amiga, can be opened for example by WinRAR.

I will also include chapter 10, which describes the Standard.adl include file. Chapters 8 and 9 contain grammar of the ADL language itself, so they are not needed for text-adventure authors.

Original C program is in K&R standard, which means that there are different function headers, and almost no function declarations, but CL.exe managed to compile it with just few changes to the source files and by adding parameter to open() function, so that files are properly handled.

I’m glad, that you used it and prepared the working compiled adventure.

In short, you specify -o switch for ADLcomp to select target name, and -i to select additional include directories.

2 Likes

If it is useful, it looks like the original code was improved and then released under the GPLv2 license:

It also includes an HTML version of the manual:
https://adl.sourceforge.net/

4 Likes

Yes, I am aware of the Sourceforge version of ADL. My version contains changes done only by me and it seems that my Windows executable is stable and functional.

I have also done some AmigaGuide version of the documentation and converted to HTML before. These are my further efforts on formatting the manual.

I’ve been working on cleaned up revision of Windows exectuable for some time. Temporary files and any other files created by ADL work correctly as well.

Under Linux is a simple matter of plumbing:

adlcomp - > advcomp.txt
adlrun - > adlrun.txt

Best regards from Italy,
dott. Piergiorgio

Me: slaps hand to forehead. I tried to do /? and /help and didn’t think to try NO arguments, lol.

That did work for the compiler on Windows but for the interpreter/runner it just complains about a file missing. Here’s what I did in CMD prompt in Windows:

D:\IntFic\ADL>adlcomp 1>adlcomp-cmds.txt 2>&1
 
D:\IntFic\ADL>adlrun 1>adlrun-cmds.txt 2>&1

And here is the output of each:

Usage: adlcomp Infile (with any of the following)
	-o Outfile		File for output
	-i Dir			Directory for INCLUDEs
	-t Dir			Directory for temp files
	-d		 	    Output debugging info
	-w			    Suppress warnings
	-e N			Max # of errors
	-g N			Max # of globals
	-m N			Max # of strings
	-n N			Max # of objects
	-p N			Max # of prep phrases
	-r N			Max # of routines
	-s N			Max # of verb phrases
	-v N			Max # of verbs

Error opening file adlcomp.out

To me it makes sense that output redirection on the runner would try to run the default game file name and output the transcript to a file. But either way the runner is pretty straightforward, you just run it and it either runs adlcomp.out or if you specify a different name as a parameter it tries to run the name of the file you specify. So for the mpu example game, I originally built it with the default name. I renamed adlcomp.out to mpu.adlr. I can run it with adlrun mpu.adlr

-virtuadept

The interpreter has just few options.

I thought you ran the compiler program without options to get the basic description.

As I mentioned the detailed description is in file man/adlcomp.6 and man/adlrun.6. I will place these files on the webpage.

Here’s how it looks like in original text form: adlcomp usage manual

Dunno in your Linux build, but for me adlrun works with -
(there was an issue with intfiction’s markup, and the command line isn’t precisely well-rendered)
the actual input and output below:

adlrun -
Usage: adlrun [filename] [-d] [-h] [-r savefile]

rather cryptic re. adlcomp’s switch setting list…

HTH and
Best regards from Italy,
dott. Piergiorgio.

An update. I have created a MSI Setup program for my ADL compilation. It will install ADL Windows executables, manuals and sample games.

Available from my homepage (ADLSetup.msi).

I just wanted to make my program “elegant” in terms of deployment. Still, the file is marked as “rarely downloaded”.

Also I have done some update to the on-line manual - Table of Contents, fixes etc.

I hope you find it useful. ADL and AdvSys are really interesting systems, despite the low popularity.

2 Likes

I tried the MSI, it does install adlrun, adlcomp, man, and sample code. It does not seem to modify environment vars or set up any easy way for the person using it to know how to do comp or run. For developers this is no big deal (well, maybe for some new IF authors it might be), but for people trying to install the ADLRun interpreter to play an ADL compiled game file, it might be tricky. Also the installer used Polish, but all the documentation for ADL is in English.

I added a page for ADL information on IFWiki, and linked to your resource page on this page:

https://www.ifwiki.org/ADL_-_Adventure_Definition_Language

You don’t happen to know anywhere where there is source code for DDL “Dungeon Definition Language” from 1981 UCLA Computer Club that is mentioned in the ADL docs, do you? I would find that fascinating to see if I could build it and see if there’s a DDL version of AARDVARK somewhere. I did find a ref to a man page from UCLA on the internet about DDL and aardvark, but I didn’t ever find any source code yet.

2 Likes

Thank you for testing. I thought the MSI Setup uses the user’s Windows language, need to look into it.

I have no access to Dungeon Definition Language, I’m not sure if it was put into Public Domain.

Thanks for adding information about my work on IFWiki.

As of easy use of ADL from Command-line prompt, I may just add a Batch script that launches Command-line and set Current Directory to the ADL. It should be sufficient.

Regards.

2 Likes

I updated the MSI installer, so it is now in English language. Fixed my “Company name” which is the default directory for installation and also added the Batch script which just launches CMD program and allows to work with adlcomp and adlrun executables from command-line.

Thank you again for testing and helpful information.

I’m glad that I found this Installer creator as it might be invaluable for my C/C++ projects. Previously my Visual Studio executable files were sometimes treated as “dangerous”.

I think that I can concentrate on writing a new adventure. I have a couple of ideas in my head.

Edit: I have made another update to the MSI Setup. Now the adventure-files are copied to Program Data instead of Program files. And once the ADL.bat script is run it adds Path to ADL executables and then changes Current Directory to Program Data. The output files are created without problems, and you can compile and play the games. :slight_smile:

2 Likes

I tried this, it pretty much works. I think at some point I would like to take a look at the source code for ADLRun and see if it is possible to make different clients for other platforms apart from Linux, Windows, and Amiga. I think maybe making a GUI one for Windows would be pretty easy, also.

Probably a cool idea. If you’re going to use ADL the language could certainly use some more sample adventures. I was tempted to convert a few older BASIC adventures I have source for to ADL because it would be pretty easy to convert them.

They are of somewhat historical significance, because they are from this book: Creating Adventure Games on Your Computer by Tim Hartnell (1984). I got that book as a kid when I got my first computer. It was probably one of the biggest influences in my life as far as pushing me to become a software developer, not to mention fostering my interest in interactive fiction.

Regarding Dungeon Definition Language, I doubt it was ever put into the public domain. I’d just like to see it, I wonder how many people who were credited in its creation are still around somewhere, might try to see if I could track this down just for the historical significance of it. If people were writing adventures using it in 1981, that’s pretty early in terms of interactive fiction development.

-virtuadept

1 Like