Mystery Mansion

This is a homepage for Mystery Mansion, an interactive fiction game (or ``text adventure'') in the style of Crowther and Woods' Colossal Cave. It is a highly playable game -- extremely well designed. Players remember the intricate puzzles and keep notes on them for years after playing.

It was originally written by Bill Wolpert while at the Naval Undersea Warfare Engineering Station in Keyport, Washington, for the Hewlett-Packard HP1000 line of computers. He started work on it in 1978 as a way to learn Fortran IV, and continued to make changes and add details until his final version (Revision 16) in July, 1981. The first 15 revisions were intermediate versions; Bill would update the revision number whenever old saved games would not work, or whenever the game would seem to play differently than before.

Most people who are familiar with Mystery Mansion remember playing it on the HP3000 Series machines. These machines ran MPE rather than RTE, which ran on the HP1000s. Sometime after Revision 16 was finalized in 1981, coworkers of Bill's asked for the source so that they could port it to the HP3000. I myself first encountered Mystery Mansion on an HP3000 in 1982 or 1983, so the porting effort of what would eventually become Revision 17 on the HP3000 was most likely done either in 1981 or 1982. Interestingly, the current versions of MPE for the HP3000 line of machines (yes, both are still produced!), although now POSIX compliant, are 99.99% backwards-compatible with old versions of MPE. Mystery Mansion still runs on these machines, and there is presently even a free Mansion server on the Internet (see links).

There are presently six known versions of Mystery Mansion in semi-public distribution. The first, the already-described Revision 16, is written in Fortran IV and is generally well commented, especially for its era. In 1992 Ken Cornetet did an f2c translation of it to create the second known version. The third version of Revision 16 is still in Fortran IV, but has a few minor bug-fixes and alpha-case changes; these modifications were made by Art Gentry and submitted to the Interex software library. All of the Revision 16-based versions of Mystery Mansion are known by the name mmm. I am presently trying to contact Art to determine when he did his modifications.

The fourth version of Mystery Mansion is a more-or-less straightforward adaptation of Revision 16 for the HP3000s, probably done sometime in 1981 or 1982 as described. However, since saved games between the two machines were not interchangeable, it was renamed as Revision 17. What source is available for Revision 17 has nearly all the comments removed, and also has minor bugs in Revision 16 fixed. I took this Revision 17 source and wrote a raw port of it to C (not using f2c, however) to create the fifth known version.

The sixth version is a port to C by Bob Sorem from HP1000 source code (most likely Revision 15 or Revision 16) started sometime in the late 1990's and finished in December, 1999. Bob has a webpage up for his port. He added a number of interesting features not found in the original versions, making his port a derived port much like the higher-point versions of Collosal Cave.

All of the versions just described are available for download and comparison from the download link.

Finally, there is a port of Revision 16 running under VMS V5.5-2HW on a physics-students' computing cluster in Padova, Italy. This port has been running since approximately 1985, but it unfortunately not public. I hope to eventually obtain the port source and make it available here.

If you have stories about it (such as when you played, and where) please mail garnett@colorado.edu! I'm particularly interested in dates when people might've played it.

I'm also looking for a good picture of a mansion for this page!

What's Up

  • Ver19.4 of my C port of Revision 17 is released. It has one known bug remaining from Version 19.3, namely that sometimes it is not possible to shoot someone, even when you have the gun. I'm working on that.

Last modified Sat Apr 15 14:46:53 MDT 2000