GC: A Thrashing Parity Bit of the Mind
Notes by Carl de Marcken, January 1993:
GC is a text-adventure game written for the MIT Artificial
Intelligence Laboratory Olympics, a competition held between four
teams of about 40 people each, mostly graduate students,
professors, and secretarial staff, over a two-week long period
every January. The text adventure was only one event out of about
20. It was scored by time essentially- the first team to complete
the game won, the last team lost. The game ended up being very
popular, and kept a great number of people from performing any work
at all over about an 80 hour time stretch. It also inspired a lot
of cooperative effort.
The game was popular not just because it has some good puzzles, but
also because it created a world replete with humorous and
interesting references to Computer Science, Artificial
Intelligence, Linguistics and Physics, and the people of the MIT AI
Lab. Because of this the game is not likely to be nearly so
enjoyable for others who have no relation to the MIT AI Lab or any
of these fields. But it is not entirely MIT-specific. A very few
changes would make the game fun for almost any other university
Computer Science department, for instance. The game is quite
difficult, and not necessarily a good game for individual play. It
was designed to be played by a team - during actual competition
each team had an average of about 8 people working hard at it.
For those familiar with TADS, the game requires the allocation of an
unusually large amount of heap memory and memory for the symbol
table, and plays slowly on low power machines.
Notes by Neil K., January 25, 1993:
This zip file contains the source for the TADS text adventure GC: A
Thrashing Parity Bit of the Mind, written by Carl de Marcken, David
Baggett and Pearl Tsai from MIT. TADS stands for the Text Adventure
Development System, which is a shareware system for designing text
adventures, written by Michael J. Roberts. You really need a copy
of TADS - available at ftp.gmd.de and many other fine ftp sites -
to make use of this source code.
The original distribution of the GC source was a compressed tar
archive. This file was packed into zip format for uploading to the
if-archive at ftp.gmd.de by Neil K. (n_k_guysfu.ca) with
permission from the authors.
Some filenames are different from the original distribution as many
users of the if-archive have DOS machines. Unfortunately DOS is
saddled with an irritating 8 + 3 character uppercase-only filename
convention, so I had to rename some files to accommodate DOS and
Windows users. Hopefully this change won't inconvenience the rest
This file was placed in the if-archive TADS example source code
collection as it's a very interesting example of some of the
capabilities of TADS. As noted above however, GC is not an easy
game to play, particularly by those who don't have inside knowledge
of MIT culture and some of the fields of study popular in the MIT
In addition it was written over a brief period of time and was not
written with beginning TADS users in mind. Thus the code is neither
highly optimized nor heavily commented. Users just starting out in
TADS programming may find it difficult to understand in places and
should probably begin with something more thoroughly documented,
such as Dave Baggett's source for Colossal Cave Revisited, which is
also available on ftp.gmd.de in the directory
/if-archive/games/source/tads. However advanced TADS users will
find GC's ingenious code fascinating.
Finally, the original distribution contained a copy of the final
compiled binary game (.gam) file ready to play along with a series
of scanned colour images from the original GC manual. These were
removed for space considerations. However the playable .gam file of
this game is also available from ftp.gmd.de in the directory
/if-archive/games/tads, so users who want to play the game without
compiling it can simply pick up a copy of a TADS interpreter that
runs on their system and play it!
This archive contains the following files:
readme.1st The file you are reading. This is a modified
version of the "README" file included with the
readme.mit A file the MIT AI Lab teams got, describing
the scoring system used and how to play the game.
This file was called "Readme" in the original
announce A promotional message sent out about the game.
This file was called "announcement" in the
notes.mit A list of things that may need to be made known
or changed for the game to be played outside of
the MIT AI Laboratory. This file was named
"mit-specific" in the original distribution.
instruct.mit Some information for people who have never played
text adventures before. This file was named
"our-instructions" in the original distribution.
instruct.tad More information for people who have never played
text adventures before, or who are unfamiliar with
TADS. This file was named "tads-instructions" in
welcome Some text from the game's brochure/manual, as
distributed to AI Lab players.
src/ A directory containing the following files:
src/makefile A makefile for the game for users of UNIX versions
src/adv.t The standard TADS adventure definitions; modified
for use with GC.
src/classes.t GC's custom object classes.
src/game.t Most of the game's locations and objects.
src/messages.t The messages spoken by the game's various non-player
src/gctest.t The #include directives for compiling a non-release
version of GC which includes testing verbs for
src/npc.t Basic code for the class of NPC objects.
src/people.t The actual NPCs in the game.
src/gc.t The #include directives for compiling a release
version of GC.
src/std.t Standard definitions for TADS; modified for use
src/tavern.t The code making up the Cheez Boar Inn.
src/testverbs.t Custom GC testing verbs for debugging purposes.
src/verbs.t Custom GC verbs.
To compile GC you need the latest version of the TADS compiler - 2.1
or later. The full package is available from many shareware
distribution sites. Check the directory /if-archive/programming/tads
on ftp.gmd.de for the latest TADS packages for a variety of
different operating systems.
If you're running TADS under the UNIX operating system you can take
advantage of the included makefile, which contains two different
kinds of makes.
> make production
should be used for creating a release version of the game.
makes a version that includes test verbs and debugging information.
If you're not running TADS under UNIX you should compile either the
file "gc.t" if you want the release version of the game or compile
the file "gctest.t" if you want the test verb version of the game.
Make sure that the other source code files - all the files that end
with .t - are in the same directory as gc.t or gctest.t, or that
the compiler knows where to find them!
When you compile you need to set some memory options as mentioned in
the makefile. These are -mh65535 -mp32000 -ml 32000. If you're
using the Macintosh version of TADS you'll have to set these memory
options by bringing up the appropriate dialogue box; consult your
TADS manual for details. (-mh sets the heap size, -mp sets the parse
node pool size and -ml sets the local symbol table size.)
You're also heartily encouraged to support shareware and register
your copy of TADS with High Energy Software if you haven't already.
In return you'll get both a feeling of tremendous satisfaction at
having done such a noble deed and a fine manual documenting TADS to