WELCOME TO MYSTERY MANSION, MYSTERY # 301, A COMPUTERIZED FANTASY ADAPTED BY BOB SOREM FROM AN HP-1000 FORTRAN PROGRAM BY BILL WOLPERT.
THE ELEMENTS OF MYSTERY MANSION ARE BASED ON THE FACTS, FICTIONS AND FANTASIES OF THE PAST, PRESENT AND FUTURE. THE SCENARIO WAS DESIGNED TO CHALLENGE THE DARING AND YET, ENTERTAIN THE CURIOUS. ESCAPE FOR A FEW MOMENTS AND EXPERIENCE FRUSTRATION AND TRIUMPH, HOPE AND DESPAIR, POWER, LUST AND GREED. USING WHAT YOU KNOW, WHAT YOU CAN FIND OUT AND WHAT WORKS, TELL THE COMPUTER WHAT YOU WANT OR THINK YOU SHOULD DO.
YOU ARE IN FRONT OF A HEAVY IRON GATE WHICH IS APPARENTLY THE ONLY WAY THROUGH A HIGH BRICK WALL PROTECTING AN OLD MANSION, JUST VISIBLE THROUGH THE GATE. A ROAD LEADS TO THE EAST AND WEST ALONG THE WALL. IT IS DAWN AND A THIN LOW FOG IS JUST CLEARING FROM THE COOL AREAS. BEHIND YOU TO THE SOUTH ON THE OTHER SIDE OF THE ROAD IS A HIGHWAY GOING SOUTH AS FAR AS YOU CAN SEE. YOU CAN JUST SEE THE TAXI THAT DROPPED YOU OFF, DRIVING OUT OF SIGHT.
This one’s got a mystery right away: when was it written?
Let me first give James Garnett’s take:
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.
Given the extra details suggests this came from a personal testimonial of the author, I’m inclined to trust this text the most. However, an earlier start date has been suggested:
Mystery Mansion, like Adventure, has a “twisty maze of passages, all alike”. This would seem to indicate that Mystery Mansion is influenced by Adventure since it seems unlikely that two game authors would come up with the same idea independently of each other. However, if one carefully distills the map of the mansion used in the game, it is clear that there is a very clean 3x3x3 grid used in it. The location numbers for each room are incrementing: 1-9 for the basement, 10-18 for the first floor, 19-27 for the upper floor. They are also laid out in a very regular fashion. However, the twisty maze of passages is not part of this neat arrangement: it was clearly added after the fact, as were several other parts of the map. It is also clear that provision was made to add more, and there are two roomnames for locations which do not even exist; apparently the author either had them in earlier versions and removed all but the names, or meant to add them later. Since the source code for the later revisions of Mystery Mansion (where the maze is added) were available for the HP3000, possibly from the launch of the machine in 1976, the author might have been influenced by the original version of Adventure created by Will Crowther in 1972, before it was expanded by Don Woods in 1976-1977.
(We know now the Crowther date of 1972 is bogus, the date for that should be 1975; also from file timestamp we know the Woods expansion is from 1977.)
There are two other reasons to be suspicious. Learning Fortran IV in 1978 would be a touch quaint. It gives the source an early-programming feel, as mentioned by Bob Sorem:
I assume it was written in the mid-1970′s, as the code was *very* unstructured (no IF-THEN-ELSE constructs, for example, which became standard in Fortran 77, I believe), aka “spaghetti code.”
Also, INVENTORY doesn’t work. The command for taking inventory is LIST. Given Crowther’s original Adventure did not have an inventory command at all, if Bill Wolpert was familiar with that version but not the Woods version it makes sense he would have invented his own method of taking inventory. (Somewhere along the development line he had to be familiar with the Woods version because the maze includes batteries for the lantern, a feature not present in the Crowther original.)
Still, the detail James Garnett included in his own history — and that he originally only tentatively attributed the game to Bill Wolpert at all — suggests he somehow got a hold of the author. So I’m inclined to say Mystery Mansion got started somewhere early in 1978.
Now, there’s three ways to play:
1.) Somehow get a HP1000 emulator to work, akin to Jimmy Maher’s efforts on The Oregon Trail. I’m not keen on this unless it is really necessary.
2.) James Garnett’s port, stored at if-archive. According to his web page (defunct, link goes to backup at archive.org) he has a version newer than what’s on if-archive,
but it appears to have vanished into the digital ether. CORRECTION: The archive.org download link works (it hadn’t when I tried it a while back) and it is the newest version (19.4). He was careful with authenticity and studied the output from an actual HP machine to make sure his port matched.
3.) Bob Sorem’s port off of his web page into C (not available on if-archive). He has added some “broken features” apparently intended by the author — for example, Sorem’s port starts by asking the player their name, whereas Garnett’s port skips that.
4.) NEW: Terry Newton has a “practically exact” port here. It’s of version 16, not of 17 like Garnett’s and Sorem’s ports.
5.) NEW: There’s a server dedicated to playing Empire on the HP3000 that has a playable version of Mansion. I’m a little unsure but it appears to be a real HP3000, not an emulated one.
I’ve tried both ports alternating but I’ve found Sorem’s port to be the more pleasant — it seems slightly smoother and less buggy — with the exception of occasional use of the PC speaker. (“YOU HEARD A CROW CAW AS IT FLEW BY.”)
In either port, I can tell this game had quite a lot of ambition for its time. A sampling:
* The game starts with compass directions, but when the player enters an area where they would lose track — lost in woods, or indoors — the game switches to relative forward/backward/left/right directions. These directions are true-relative and if you enter a room from a different door they will be modified in the description appropriately. Also, more annoyingly, doing anything with an object will also move one’s relative position, so it is very easy to get befuddled. Inside the house there’s a compass; picking up the compass will turn off the relative-direction thing for good (and of course, it is one of the last rooms I found while trying to map out the game).
* The game has randomly generated elements: note the MYSTERY # 301 in the opening text. Each MYSTERY represents a different generated game, and there’s special commands to pick a particular mystery number or restart the same mystery.
* There are many independently moving characters like the HUNTER, the BUTLER, the GARDENER, and the MAID. You can QUESTION or BRIBE them and possibly do other things I can’t understand yet. One (?) of them is a killer and will start to murder people as time goes on using various weapons scattered through the house. (I think that’s how it works?) This all appears to be dictated by the random generation element.
* The highest possible score is 999 (according to James Garnett nobody has reached that score and it may be impossible). The game also keeps track of (and displays) your potential high score in your current game (for example, someone being killed seems to reduces your potential score).
* The game is in semi-real time. While it won’t print messages on its own, it does keep track of time. For example, in one place there’s floorboards that will break if you stay in a particular place too long. There’s a later puzzle involving a corridor trap that seems to require coordinating the timing.
I haven’t been doing much solving yet, just getting the lay of the land. I’ll talk about puzzles and what I figure out about the characters in my next post.