Index: if-archive/programming/tads2/examples

See also games/source/tads for examples of completed games, especially Colossal Cave Revisited; it is meant as a tutorial.

The standard TADS library files "adv.t" and "std.t" are not found here; these should have been supplied with your TADS compiler. If not, you can download them from the programming/tads2/library/ directory.

2 Subdirectories

games [link to if-archive/games/source/tads]

103 Files [08-Nov-2001]
View contents

actor.t, a module which adds functionality to the base movableActor class, by Stephen Granade [08-Nov-2001]
View contents

An adaptive hint module which tracks game state to give "good" hints, by Dave Allen with a few modifications by Stephen Granade. Last update: 22nov96.

again.t [08-Nov-2001]

A solution to the "again" problem in TADS, which causes problems with commands directed toward indistinguishable objects. Version 2.0, written by Kevin Forchione. [08-Nov-2001]
View contents

An animation library for HTML TADS, by Gabriel McKean.

answerme.t [08-Nov-2001]

A bit of code by Scott Steinfath that allows the player to answer questions asked by the game; similar to Infocom's "You sound rather positive." [08-Nov-2001]
View contents

A simple "knowledge database" so NPCs can reply to "ask about", by Dave Allen

asktell.t [08-Nov-2001]

A TADS module to implement "ask"/"tell" conversations. Version 1.0, written by Suzanne Skinner.

brackets.t [08-Nov-2001]

A simple use of the parseError function to enclose special parser messages in brackets, by Bryan Weber. Requires at least TADS 2.0, due to the use of parseError.

bugs.t [08-Nov-2001]

Bug fixes for the TADS 2.2 library, by Stephen Granade. Last update: v1.8, 19jan98. [08-Nov-2001]
View contents

An NPC Interaction Library for TADS 2.5.1 or newer, by Suzanne Skinner.

checks.t [08-Nov-2001]

A module to check the interpreter's version number, as well as whether the game is running on a HTML runtime and whether or not the interpreter can handle graphics, by Stephen Granade.

clothing.sit.hqx [08-Nov-2001]

A very simple way to give clothing a more realistic behavior, by Jonathan D. Feinberg. Existing source code will work without modification, but the addition of a few lines of code will enhance certain kinds of clothing. Requires TADS 2.1 or later. Macintosh archive. [08-Nov-2001]
View contents

A very simple way to give clothing a more realistic behavior, by Jonathan D. Feinberg. Existing source code will work without modification, but the addition of a few lines of code will enhance certain kinds of clothing. Requires TADS 2.1 or later. Windows/Unix archive.

cmdprmpt.t [08-Nov-2001]

Anonymous sample of a commandPrompt function; it replaces the standard ">" prompt with a longer prompt for the first few turns

compass.t [08-Nov-2001]

A library which converts TADS travel verbs into an Inform- style compass mechanism. Version 1.0, written by Kevin Forchione. [08-Nov-2001]
View contents

A library to help with the creation of composite objects. Version 3.0, written by Kevin Forchione. [08-Nov-2001]
View contents

A library extension for HTML TADS games, by Kevin Forchione. It allows for the easy implementation of objects such as encyclopaedias and other reference books in which the player can consult or look things up. Sample game included. [08-Nov-2001]
View contents

Converse v1.0 (22mar97), by James Cole a system for Monkey Island style conversations using TADS; contains versions for adv.t and for WorldClass (Version 2.01, for WorldClass only, is in programming/tads2/examples/worldclass/ [08-Nov-2001]
View contents

A library for creating hybrid adventures which feature both standard and menu (Choose Your Own Adventure) commands, written by Garth Dighton. Archive contains the library cyoa.t and cyexample.t, a simple example. [08-Nov-2001]
View contents

Choose Your Own Adventure library, a TADS module to help create multiple choice adventure games. Also includes source code for a sample game. Written by Mark J. Musante.

d2array.t [08-Nov-2001]

A two-dimensional array object for TADS, by John Baker

daemon.t [08-Nov-2001]

A library for maintaining greater control over the execution order of daemons and fuses, by Dan Schmidt. [08-Nov-2001]
View contents

Directed Dialog, by Trevor Powell. Compile and run the example in this file if you want to know what Directed Dialog is (that's what README.TXT says)

demo22.t [08-Nov-2001]

A demo of the new features of TADS 2.2, by Gerry Kevin Wilson

dijkstra.t [08-Nov-2001]

An object-oriented implementation of the Dijkstra algorithm for determining single-source shortest paths, version 1.1, by Kevin Forchione.

disambig.t [08-Nov-2001]

A library to facilitate automatic disambiguation, by Dan Schmidt. [08-Nov-2001]
View contents

A library extension for HTML TADS, by Kevin Forchione, version 2.0. It allows for the easy implementation of doorItem and lockableDoorItem class objects, which are dynamically created TADS doorways.

doors.t [08-Nov-2001]

A library extension for HTML TADS, by Kevin Forchione, version 1.0. It provides an easy way to code a door object, without having to code separate doorway objects. It can be used for both one-sided and two-sided doors. [08-Nov-2001]
View contents

A library extension for HTML TADS, by Kevin Forchione. Unlike TADS vehicle class, the dvehicle class will take a command such as 'north', 'south', 'up', or 'out' and attempt to move the vehicle in the direction indicated, but will not pass through obstacles such as closed doors. Sample game included. [08-Nov-2001]
View contents

Four implementations of an Eliza style keyword parser, one in BASIC (from Creative Computing), two in LISP (one from GNU Emacs and one by Phil Goetz), and one in TADS by Dave Allen

event.t [19-Aug-2003]

A module that implements an event handling model, by Shadow Wolf.

exitslister.t [19-Dec-2002]

A module that lists a room's exits in several formats. Version 1.1, by Steve Breslin.

extend.t [08-Nov-2001]

An extension set for adv.t by Neil deMause, 26mar96. Many new verbs, a couple of new object classes, some useful functions, and a couple of fixes for parser oddities.

floating.t [04-Mar-2002]

Replaces the standard validDoList() in adv.t with one which determines whether or not each floatingItem object should be included in the list. By Kevin Forchione.

footnote.t [08-Nov-2001]

implements footnotes as seen in later Infocom and Adventions Iames, by David Etherton, updated by Cody Sandifer

footnote.t.original [08-Nov-2001]

David's unchanged original

full.t [08-Nov-2001] [link to if-archive/programming/tads2/examples/worldclass/full.t]

A 'plug-and-play' TADS source file for a 'fullscore' command that tells you precisely how the current score has been reached, version 1.61 (14apr97), by David Glasser [file is linked to programming/tads2/examples/worldclass/full.t] [08-Nov-2001]
View contents

Two functions by Bob Newell:

  • strtok(string) converts a string to a token list,
  • pause(seconds) loops for the specified time. [08-Nov-2001]
View contents

The Golden Skull, a complete working demonstration game for HTML TADS with images and sounds, by Neil K. Guy. Requires the HTML TADS interpreter. [file is linked to games/tads/] [08-Nov-2001]
View contents

Source code for The Golden Skull, along with all the required source image and sound files, by Neil K. Guy. [file is linked to games/source/tads/] [13-Jul-2002]
View contents

A library to allow the player to walk directly to any room that he has already seen, and that can be reached without special actions. Written by Lars Joedal and updated by Andrew Pontious.

hear.cpt [08-Nov-2001]

A user exit for TADS that plays sounds on a Macintosh, by Eric D. Schwab. Executable, C source code, and a small example adventure (with source). [08-Nov-2001]
View contents

A collection of useful modules for TADS, implementing ideas from the Inform library, including: actor grammar, enterable class objects, sack objects, enhanced scoping, preparse objects and more. Includes source code to Museum of TADS release 2. Version 4.0, written by Kevin Forchione.

instruct.t [08-Nov-2001]

INSTRUCTIONS command by Michael J. Roberts, displays a full set of instructions for using a generic TADS game

jeffslib.doc [08-Nov-2001]

Detailed description of, by Jeff Laing ( contains a copy of this file) [08-Nov-2001]
View contents

Jeff Laing's collection of all the functions, classes, and objects he wrote for his game projects

liquid_parser.t [17-Mar-2002]

A sample game which adds handling of liquids using parser techniques, by Steve Breslin. [06-Sep-2002]
View contents

A module that implements "literal capture" verbs: those that record the exact text typed after the verb and let the verb handle the text itself. By Steve Breslin.

marry.t [08-Nov-2001]

TADS code for arranging PC/NPC or NPC/NPC marriages, by Christopher Nebel.

memory.t [08-Nov-2001]

TADS code for remembering memories and thoughts. Written by David Myers, based on (and requiring) Suzanne Skinner's asktell.t [08-Nov-2001]
View contents

A TADS module plus an example file for implementing simple menus, written by Daniel Shiovitz

menus.t [05-Jan-2003]

A module for implementing Inform-like menus, by Stephen Granade. [15-Dec-2001]
View contents

A library for adding Photopia-style split screen conversation menus, by Guilherme De Sousa. [08-Nov-2001]
View contents

Monsters, Weapons and Mazes, by Dave Nault, with minor modifications for TADS 2.0+ by Bob Newell [08-Nov-2001]
View contents

TADS module to implement objects which are both containers and supporters, version 2.0, by Kevin Forchione [08-Nov-2001]
View contents

Sounds and Music for DOS in TADS, by Bob Newell [08-Nov-2001]
View contents

A system for writing mysteries in TADS 2.1 or later. Includes keeping track of and displaying the current time as well as useful classes like crimes and secret passages; by David M. Tuller [04-Sep-2002]
View contents

TADS module for filtering output, to adjust spacing and insert HTML entities. Originally by Iain Merrick; this version updated by Nikos Chantziaras.

notall.t [08-Nov-2001]

Not-All Utility for TADS 2.2, by Andrew Pontious. Changes verbs so that adding defaultexception to the list of an object's superclasses will make it not respond when you use "all" with a verb. Useful for keeping objects hidden from players till the right time while not cramping their style by disabling "all".

notify.t [08-Nov-2001]

Commented TADS source code that notifies the player of score changes, like: [Your score just went up by 4 points.] by Gerry Kevin Wilson [08-Nov-2001]
View contents

TADS module to allow communication with NPCs not in the same room as the player, by Kevin Forchione. Includes TADS source, documentation and an example. [08-Nov-2001]
View contents

TADS module for filtering output, to adjust spacing and insert HTML entities, written by Iain Merrick. A modified version of this is available in

parseword.t [08-Nov-2001]

TADS source to assist in the conversion of player input strings into a list of words for easier use by preparse routines, by Kevin Forchione

phone.tar.gz [08-Nov-2001]
View contents

A module for creating and using telephones in TADS, written by Amir Karger. Archive includes the library file, documentation and a sample game. [19-Oct-1994] [link to if-archive/programming/general-discussion/]
View contents

Project paper "The Application of Directed Acyclic Graphs to First Generation Interactive Fiction" (WordPerfect document and plain ASCII text) and a TADS implementation of plot DAGs, by Paul Munn. [file is linked to programming/general-discussion/] [08-Nov-2001]
View contents

Plural-Singular Utility for TADS 2.2, by Andrew Pontious. Makes adv.t aware of single objects that are referred to in the plural, like "scissors". Revised 21sep96.

possess.t [31-Mar-2002]

A module to handle the use of possessives (his, hers, Jane's) as adjectives, by Garth Dighton.

prefs.t [08-Nov-2001]

A TADS library which allows players to save their indentation, spacing, notification, verbosity, etc. preferences between games. The player's prefered settings will also be loaded up automatically at the start of the game. This library works with the Standard (ADV/STD) TADS libraries, Whizzard's ADV (WADV) libraries, or WorldClass. Written by Patrick Kellum

quicksort.t [22-Jan-2003]

An implementation of the quicksort algorithm. Version 1.0, written by Quintin Stone. [08-Nov-2001]
View contents

Random Actor Comment module version 1, by Tom Raymond. Works with Stephen Granade's actor.t (see above) and allows you to ask an NPC about something more than once and get a different answer every time you ask [08-Nov-2001]
View contents
IFWiki: Reactive Agent Planner

Reactive Agent Planner 1.0, by Nate Cull. RAP is a goal-planning library for NPCs implemented in TADS. [08-Nov-2001]
View contents

Shuffle, sort, and vector functions in TADS, by Lon Thomas

Readme [08-Nov-2001]

The charter of this directory, by Neil K. Guy [08-Nov-2001]
View contents

Realtime fuctions for TADS, by Avi Gobbler. TADS source code and a C user exit.

replaceWith.t [08-Nov-2001]

A module to provide an easy way to replace string search values with target values using regular expressions. Version 1.0, written by Kevin Forchione.

roomdsc.t [08-Nov-2001]

Long descriptions for some items in a room by Dan Shiovitz, The Grim Reaper [08-Nov-2001]
View contents
IFWiki: Rogue Redux

Rogue Redux, a library and example game for developing adult IF games. The code contains explicit sexual references.

sackitem.t [08-Nov-2001]

An implementation of a rucksack item, version 1.0, by Kevin Forchione [08-Nov-2001]
View contents

A mini-adventure which contains a moderately general system for handling substances that come in varying amounts, by Greg Ewing [08-Nov-2001]
View contents

A module to provide an enhancement of the "visibility" and "reachability" concepts in "adv.t". Version 2.0, by Kevin Forchione [08-Nov-2001]
View contents

A module which provides an enhancement of the accessibility rules in "adv.t", which govern concepts such as the "visibility" and "reachability" of objects. Version 3.2, written by Kevin Forchione. Archive includes the TADS module, documentation and examples.

shoc.t [08-Nov-2001]

Implements an electrically live and dangerous object, by Neil K. Guy.

simpleSense.t [08-Nov-2001]

A module that provides minimal requirements for allowing an author to pass senses across top-level locations. Version 1.0, by Kevin Forchione.

smartlist.t [08-Nov-2001]

A module to enhance the standard "adv.t" listing functions. Version 1.0, by Kevin Forchione [08-Nov-2001]
View contents

A collection of useful TADS modules put together by Stephen Granade. Some are original, some modified versions of other peoples modules. Many are from by Jeff Laing.

stack.t [08-Nov-2001]

An implementation of dynamically created FIFO and LIFO stacks. Version 1.0, written by Kevin Forchione. [08-Nov-2001]
View contents

Suggested changes to class: surface and the showcontcont: function in adv.t, by rjn [01-Sep-2003]
View contents

A module for simulating combat. Written by Steve Breslin, based on Nate Cull's Reactive Agent Planner.

t2dd.t [26-Nov-2003]

TADS 2 Dungeon Digger, version 0.9 BETA, by Steve Breslin. A prototyping tool for creating a new game map from within the game space.

tads-tip-sheet.txt [08-Nov-2001]

TADS Tip Sheet version 0.3b, 23dec97, by Neil K. Guy. A collection of tips for beginning TADS authors. [06-Sep-2002]
View contents

A TADS module (source code and images) that creates a dynamically-generated graphical map using HTML TADS tags and PNG files. By Andrew Pontious.

timedisp.t [08-Nov-2001]

Changes to std.t to display the time and day of the week on the status line instead of score/moves, by J. Menichelli [08-Nov-2001]
View contents

A timekeeping system for HTML TADS, providing an alternative to the standard "turns" style passage of time. Version 3.1.1, written by Kevin Forchione

tmorph.t [08-Nov-2001]

A module which provides a simple randomised "text morphing" mechanism for TADS users. Version 3.0, written by Kevin Forchione.

tmorph2.t [19-Aug-2003]

An extension and rewrite of Kevin Forchione's tmorph module, by Shadow Wolf.

trackactor.t [08-Nov-2001]

A module which helps with the implementation of an NPC which follows a specified track. Version 3.0, written by Kevin Forchione. [08-Nov-2001]
View contents

Borland C and TADS source for a TADS user exit to allow DOS commands to be executed from within a TADS game program, by Michael J. Roberts

wadv.tar.Z [08-Nov-2001]
View contents

Whizzard's adv.t file v1.0, a compartmentalized version of the adv.t and std.t files that come with TADS; by Gerry Kevin Wilson. Requires TADS 2.2 or higher. Unix version with LFs only as line separators. [08-Nov-2001]
View contents

Same contents as wadv.tar.Z; DOS version with CRLFs.

walls.t [08-Nov-2001]

A module to implement walls, celings, and floors for actor locations. Version 1.1, written by Kevin Forchione. [08-Nov-2001]
View contents

A TADS implementation of a water-filled room; allows you to float, sink, get wet, drown etc., by Gerry Kevin Wilson

wizard.t [08-Nov-2001]

The Wizard's Toolkit, a variety of useful commands that can help when testing out a completed game. Version 1.2, by Neil K. Guy with minor additions by Neil deMause [08-Nov-2001]
View contents

A TADS module to implement maps and signs, version 2.1, by Kevin Forchione