The Adventure Game Toolkit (AGT)
May 24, 1997 — In 1985, Mark J. Welch designed the Generic Adventure Game System (GAGS), a computer programming tool for creating “text adventure” games for MS-DOS computers. GAGS was released as “shareware” in 1985 and enhanced several times in 1986 and 1987.
In 1987, David Malmberg made substantial enhancements to the Generic Adventure Game System, which was renamed the Adventure Game Toolkit (AGT). Over the next few years, many additional features were added to AGT, and versions were released for MS-DOS, Microsoft Windows, the Apple Macintosh, the Commodore Amiga, and the Atari ST. From 1987 through 1992, AGT was distributed by Softworks of Mission San Jose, California. The final version of AGT, known as the “Adventure Game Toolkit Master’s Edition,” includes some graphics and sound capabilities. The final version of AGT is version 1.7. You can download AGT and many games from The Interactive Fiction Archive.
More than 100 different text adventure games have been designed by game authors around the world using GAGS and AGT. Rather than just downloading dozens of games in hopes of finding some good ones, I suggest that you check out Baf’s Guide to the Interactive Fiction Archive, which includes reviews of many dozens of text adventure games, including many AGT games.
Since 1993, the Generic Adventure Game System and the Adventure Game Toolkit have been released as “freeware” (e.g. they are still copyrighted, but may be freely copied and distributed in unaltered form); no registration fee is requested. Freeware is not public domain: you may not distributed altered versions or source code, or use the “Adventure Game Toolkit” product name, without written permission from Mark Welch or David Malmberg! No technical support is available from the authors. David Malmberg is a management consultant. Mark J. Welch is an internet marketing consultant.
Work on AGT-based or derived programs continues:
- Robert Masenten developed AGiliTy, a “Universal” or “Portable” adventure game run-time system, written in the C programming language, which he says should be able to run any AGT games. Additional AGiliTy versions were adapted by Simon Baldwin, David Kinder, and Julian Arnold.
- Kevin Soucy wrote a “converter” program to allow Agate programs to be compiled with the AGT or Magx compilers.
Those interested in text adventure games should explore XYZZY News.
There are two active “newsgroups” for text-adventure-game designers; both are now available through Google Groups): rec.arts.int-fiction and rec.games.int-fiction.
Don’t ask me for technical support! Instead, post your query in the rec.arts.int-fiction newsgroup (after first searching to see if your question has already recently been answered). If you must send me email, write to Mark Welch at Mark Welch dot com.
Update January 2, 2015: There is a web site which claims to provide the actual Turbo Pascal source code for the Adventure Game Toolkit (1.7), at http://pascal.sources.ru/gamestxt/agtsrc.htm — I do NOT know if this is our code, or might be altered in some way (malware, trojan, whatever).
When you have the time, could you possibly email me a computer file of the hardcopy version of the AGT instructions? The regular AGT program, not the Master’s or Big one. (I bought the hardcopy, but don’t have it now.) The instructions posted on the Net don’t include how to put sound into the game. I’d like to make some minor corrections on my ‘Zim Greenleaf’s Laboratory.’ Thank you very much! 🙂
I’m sorry, but I don’t even know where to look for those files any more. My vague recollection is that sound was added in the Master’s edition, but I’m not sure.
For some perspective on AGT, see this undated post-1995 interview with David Malmberg: http://brasslantern.org/community/interviews/malmberg.html
I see that there’s an online bulletin board/forum dedicated to interactive fiction, at
http://www.intfiction.org/forum/index.php
@Melody Only the Master’s Edition games had sound. So the Master’s Edition is what you would have created the game with and that is the manual you need.
Actually, my converter took the AGT game source and reformatted it to a new engine I was writing in C called AGATE, but I never finished it. I’m actually working with Unreal Engine 4 now, but I’ll always fondly remember AGT for being my introduction to the world of designing games for the PC.
Hi Mark. I’m trying to pull together enough info about Dog Star Adventure to do a Wiki article. I know that David Malmberg did the PET port, and I’d love to get in touch with him. Do you recall *anything* that might help – general location, where he went to school, etc? There’s a couple of DM’s on FB, but they are not active and none of them have got back to me yet.
Archive.org has a bunch of AGT games up now in its MS-DOS game collection — mostly the same collection as the IF archive’s, but they can be emulated in the browser (I think Firefox is the recommended browser to try with this if you have problems):
http://archive.org/details/softwarelibrary_msdos_games?and%5B%5D=subject:%22AGT%20games%22
I have been trying to get AGTUtility to work, but it seems to have a bug when compiling using the windows versions. As far as I can tell, no matter whether you are compiling with the text version or the Windows version, it appears to invoke AGTNUM with the +Bigversion command line option. That works when compiling with the text version, because the text version uses COMPILEB. But if you use the Windows version, then WCOMP does not seem to support the Big version. So it fails. Is there a work-around. Of course, I could just use AGTUTIL to create the AGT file, and then separately run AGTNUM and WCOMP from a DOS window, but it would be cool to do it all from within AGTUTIL.
Hi Mark,
I am currently in the midst of writing a new IF game using the AGT 1.7 Master’s edition (using DOSBOX). It’s great fun! But I’ve run into a couple of obscure issues that I would love to have some help with:
1. What is the “literal” value of a noun or object? There is a meta-command to set a variable equal to the literal value, but no explanation of what that is. It always seems to be “0”
2. Is there a meta-command to put something “on” something else. You can dropit in a room or inside of another noun, but I don’t see a meta-command to put something “on” something else.
3. Is there any way to test the literal text that is typed for a noun or object? You can echo it in messages, e.g. $noun$, but I don’t see a way to test it, e.g. to find out which of a group of synonyms was actually used by the gamer. Hint – it does NOT appear to be related to the “literal value” of the noun or object – I’ve tried that.
Hello!
I have AGT 1.7 and the source code. I have been able to make some modifications, including fixing the trouble with the Question feature.
I’d like to add the feature of changing text and background colors to the meta-commands. I have been able to piggyback color changing to other commands, but not independently.
Any hints about how to do this? I am programming an AGT game, and it is coming along nicely. Thanks to everyone, and Melody, I do like “Zim!”