Mystery Mansion (1978)   19 comments

HI ODYSSEUS!

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.

Posted May 4, 2011 by Jason Dyer in Interactive Fiction

Tagged with

19 responses to “Mystery Mansion (1978)

Subscribe to comments with RSS.

  1. If nothing else, Mystery Mansion is very important for being the first non-fantasy IF. It’s interesting that someone saw the mystery genre as a natural fit so early on. On the other hand, the combination of features you describe seems like it could be a recipe for immense player frustration. (I always found the Infocom mysteries by far the most unfair and frustrating of any of Infocom’s games.) I’ll be interested to see how it goes as you play further.

    I’m skeptical whether this game could have been inspired by Crowther’s original Adventure. It’s my understanding that that program was essentially unknown until Woods dug it up from a disused file archive. Certainly it wasn’t ported to any other systems. Did Wolpert have access in the Navy to a DEC PDP-10 system in addition to an HP-3000? (Those who had access to even one computer system in those days were of course unusual and lucky.)

    One possible line of inquiry: Try to find out when Adventure was first ported to an HP system, to see if there would have been time for Wolpert to get inspired and start writing his own game by 1978. If the dates match, that would serve as a confirmation of sorts for James Garnett’s version of events. Given that your second source is riddled with obvious errors in just the single paragraph you cite, I’d say it should be taken with an immense grain of salt.

    You could also try to find Wolpert himself, to try to get the story straight from him and get it documented before it’s too late. Doing so is a longshot, of course, but if successful would be a significant contribution to IF history.

    • The pre-Woods theory seems to have been formulated before the author was verified, so I’m also very skeptical, but it is interesting someone would be theorizing that in the first place.

      I do suspect James Garnett might have got a hold of him, so he might be worth asking too.

  2. By the way, I just visited Sorem’s page. While his port may be more pleasant, he does freely admit that he corrected, embellished, and in a sense completed Walpert’s original. If what you’re after is historical authenticity, I’d say you’d be better off with option 1 or 2. You’ll of course have to decide for yourself what takes precedence — the “best” Mystery Mansion or the most historically accurate Mystery Mansion. Certainly either approach is defensible.

    • I’ve been alternating, remember.

      Just to do a quick comparison, here’s what happens when you READ NOTE in the first room (without picking it up first):

      Garnett’s:

      read note

      YOU DO NOT HAVE THE ╠

      Sorem’s:

      > READ NOTE

      YOU DO NOT HAVE IT.

      There are various random bits like that. But the main deciding factor is Sorem’s has a save game feature and Garnett’s doesn’t.

      I likely will do what I ended up doing with Adventure, and getting everything worked out in the “cleaner” port and then when I have something resembling a walkthrough testing it out in the “authentic” port.

  3. I played MM and Adventure on an HP-100E/RTE-A system in 1980.. Both programs were part of the HP 1000 UsersGroup Archives (several 1600BPI mag tapes !!). At the time HP had an F77 compiler, but, many of the programs on the distribution were in FORTRAN 4… I imagine at the peak of the HP RTE systems there could have been several thousand players of MM.. But, we may never know.. It’s quite nice to find a windows version!! Thank You all for the work!!

    Brett

  4. I was hired by HP as a Sales Rep fresh out of college in 1982. College hires spent an entire YEAR in training before we got a quota and a territory, and man, oh man I burned a BUNCH of midnight hours playing MYSTERY MANSION!!! LOL This is bringing back the memories big time. I remember our System Engineer guy, Dennis Parmer, saying MM was an experiment in artificial intelligence?? whatever that was supposed to mean in 1982 lol. Thanks for the memories!

  5. I was a computer science student in 1983/84, and our HP3000 system had MM installed. At that time, the HP3000 (OUR HP3000 anyway) didn’t have an F77 compiler; what it had was a FORTRAN IV compiler with some F77 features, such as the CHARACTER variable type, but no IF-THEN-ELSE. So either no such compiler existed at the time, or our school was cheap enough not to feature it on their system.

    MM was the first text adventure that I ever played, and I found it to be a lot of fun. However, after coming across other similar games, I realised how incredibly easy the MM puzzles and problems were. I solved most of the puzzles in MM, but games such as Zork stopped me dead in my tracks.

    A few years ago, I came across Bob Sorem’s port, and I think that it is a very good approximation to the original.There are som quirks though. In the original, I could get to the end of the Cold Corridor by going, I think it was 2 or three steps into it, then dropping the matter receiver, BEAM UP, walk back down to the bottom of the secret passage and get the message “THE CORRIDOR WALLS HAVE OPENED”. Then I could BEAM UP, BEAM DOWN and walk to the end of the corridor. The idea was that I started with fresh, totally open walls when I beamed down midway into the corridor, and the walls didn’t crush me when I walked the remaining length of it. This didn’t work in Sorem’s port.

    Also, I wrote an extra room and an incredibly childish prank into Sorem’s port, just to satisfy my own rather silly sense of “humour” (and also, of course, just “to see if I could do it”)

  6. I’ve stumbled upon this conversation rather late, but perhaps someone is still interested. Regarding Bill Wolpert, yes, I was in personal communication with him. It’s long enough ago now that I forget exactly how I found his postal address, but basically I sent him a letter in March 2000 asking if he was the person who wrote MM. He responded through email and we had a pleasant conversation. He informed me that he started work on it in 1978, which would make it a successor to the Colossal Cave adventure. He said that he was recently divorced with lots of time but little money, and that for some reason his work required him to know FORTRAN IV, so he wrote MM as a way to learn the language.

    As for the ports, I did indeed try to remain as faithful to the original gameplay as possible. I managed to get the original FORTRAN IV sources (not Fortran 77!), which were almost incomprehensible, but over the course of a couple of months I managed to figure out what the data structures were being used for, and to get it rewritten in C. It’s very ugly C, though. Kind of like a verbatim translation of FORTRAN IV into C, with all the concomitant goto’s.

    I was also in contact with Bob Sorem and we chatted quite a bit about the game. If I recall correctly, Bob said that he added things not in the original that he thought would be fun, which would make his version less of a port than a derivative. As far as I know, Bob was never in contact with Bill Wolpert, so I’m not certain how accurate the comment that he added things that the Bill intended really is.

    Final note: there is indeed a save game/restore game feature in the port that I made. Like the original, you can save anytime and the command is “suspend”, rather than “save”. You must type “restore” as the first command to restart the saved game.

    • I did figure out the save feature eventually (if I didn’t mention it in one of my other Mystery Mansion posts it is an oversight).

      I don’t supposed you could address the three things I couldn’t figure out (I mention them in my post about finishing the game)?

      There are three parts I missed, according to the nebulous and nearly incomprehensible source code. First, there’s gold coins found by doing … something … somewhere. Also, SLEEP is not just an intransitive word (see the image clip on top of this post) and there’s even a way to succeed (ranking Mystery Mansion as the first computer game of any type to include sexuality) but I have no idea how. Finally, there’s a way to call a taxi (you don’t have to walk back to town as per the ending text) but the phone always gives me a busy signal; I don’t know if I need perfect timing or what exactly.

  7. I did miss those three things, Jason. You made a bunch of posts about the game! I only found a few of them.

    Re: gold coins, one of the objects is indeed 12 gold coins, looking at the source. I don’t recall how to get them right now, but I can dig deeper and figure it out and get back to you. I vaguely recall that they were down around the room at the end of the Cold Corridor, but I might be wrong about that, as it’s been 10 years! A nagging thought at the back of my head makes me think that they might be fake. Bill put a bunch of objects into the parser language that it would recognize, but which weren’t real, so there would be a description of things that weren’t actually objects that you could find but which the parser would recognize. I suspect his idea was to make the player waste time, since the game is all about not wasting time. In fact, now that I think about it more, I’m pretty confident that the “gold coins” were one of the fakes.

    Re: the maid. Yes, you can “sleep with maid”. She’ll usually say “something is not right”. The right conditions are: 1. There are no ways into the room, 2. There is no light in the room, and 3. You’re freshly showered. So you need to be in the maid’s room, with the closet door closed (remember that there is a secret access through the closet into her room), the main door closed and locked, the curtains closed, and you must have just showered in the bathroom. But yeah, iirc, you get no points. It’s just another one of Bill’s wastes of time.

    Re: the taxi. You can’t call the taxi until you’ve solved the murder. Solving the murder means getting the perp and the weapon to the scene of the murder. Once you’ve done that, you can go to the phone and “call taxi”. Before you do that, you will just get a busy signal on the phone. (How much longer will THAT even make sense to people?!)

    Also, about the problems in my port: I knew that there were errors. Version 19.2 is the last one that I posted, I think, but I actually fixed things through at least version 19.4. But by then I was distracted by passing my doctoral prelims and the project got put on indefinite hold.

    This has been a fun trip down memory lane. I’d be happy to forward you my complete source tree plus emails with various people if you want them, Jason. You seem like you’re interested in the history, which is awesome. My current email is garnett at acm.org, and since that’s a forwarding address, I expect it to stay active for some time.

  8. I played mystery mansion on hp 1000 systems at Telesciences Computer Systems in Fairfield NJ in the early 80’s. I was in a software development goup and someone brought it back from an HP Training session out in Cupertino CA, where the HP 1000’s were developed. A lot of the programmers got into this game after hours and we mapped the mansion, and competed and assisted each other in solving the problems. The Maze of twisty little passages was a stumper until, playing it one night, I discovered the the names of the rooms in the maze were actually slight variations on the them: Maze of twisty little passages, all alike, Maze of little twisty passages,,, etc. I recognized that by accident, having leaned back in my chair and squinted at the screen: The lines “You are in a maze of …” were not all the same length!!
    I tried some years ago to explain that to Bill Soren, but he didn’t believe me. Anyhow that part, in his version, has truly identical names for the rooms.
    Regards,
    Ed Carine

  9. Thanks for all the comments and tips… and delving into the history of this historic IF game. I would agree that it was quite ambitious for its time, and also a pretty steep challenge. Not only is the battery in the lamp greatly underpowered, but you have also have the ticking time bomb of the daylight hours, and the eventual end game to deal with. I never made it to the end of the game with any light intact, other than a last ditch match to light my last candle to escape the cluthes of the burning down Mansion.

    A few brief comments about ports… even with the SUSPEND feature, I could not actually save a game properly on the James Garnett port. Not sure if its just new versions of windows vs. old versions or what… but everytime I tried to restore I ended up back at the Main Gate without being able to move anywhere. So I had to play Sorem’s port instead, which has a terrific save game feature with save slots. One thing to watch out for (if anybody is reading this blog in search of tips like I was)… MAGIC works quite differently in the two ports. Sorem’s port you can divine all four magic words in the garden, while Garnett’s port seems to have two “fixed” words (they are the same everytime).

    One other possible major bug in the Sorem port is that sometimes the in-game description tells you the wrong murder weapon! I was trying everything to accuse the Butler with the Axe (the game said so)… but I looked up the same mystery on the Garnett port and the murder weapon was the CLUB. When I brought the club to the crime scene… the game proudly announced I’d solved the case.

    A few things I discovered in addition to the tips listed here that might help:

    – Gold Coins = I too never discovered them, but the source code alludes to digging? If anybody wants to dig all over the game world, let me know what you find.

    – The Maid = Yes, she’s particular. There are actually FIVE criteria that have to be met, and solving the crime isn’t one of them. This happens in the Maid’s Room:
    1. There are no other people around (just you and her)
    2. The door is closed & locked
    3. There is no light in the room
    4. You’re freshly showered.
    5. You’re carrying nothing! (so don’t forget to “Drop Clothes” too… that sounded funny)
    and one caveat about your timing in this, *ahem, endeavour… if you can’t OPEN CURTAIN and have light come in… you have no way to escape the room. You are locked in, can’t pickup anything in the dark, and can’t turn on any lights!! The seductress has ensnared you in her devious trap!

    – The Taxi = is actually not available after you solve the crime. Solving the crime does allow you to call the police, but calling for a Taxi seems to occur only late in the game. Certainly after the explosion, but probably sometime after a particular time on the clock it would work as well. (Maybe 10 or 11?)

    Fascinating game overall. Truly challenging… even trying to optimize the walkthrough to allow for points had me checking score at almost every step to figure out where the points were scored, and trying desperately to do as much as possible without that lantern on. Dude, next time bring some duracells! I eventually scored 979 pts, so I think 999 is maybe… possibly… possible. But you can only carry so much over the finish line. In any case, I wrote up a solution/FAQ guide which I hope to posted over at the interactive fiction archives soon.

    Thanks for your postings and the introduction to this game. I had no knowledge of this growing up, jumped more into the likes of Zork & Adventureland.

  10. WOW – a blast from the past. I used to play MM on an HP3000 in the early 90’s. I remember how thrilled I was when I finally figured out how to fit through (if I’m remembering correctly) the tiny trap door in the ceiling of the upstairs bathroom (“drop clothes”). Definitely going to have to try out some of these ports/sites.

  11. I’ve mostly been exploring, by now I think I have the layout of the game figured out. I’ve figured out some things though. For instance there’s usually a sword in a certain room, but one time it wasn’t there. I questioned one of the characters and he said the weapon was the sword. So I guess if a weapon isn’t where it’s supposed to be, it’s the murder weapon.

    I also got tripped up by the floor boards on my first session – you have to pass the room in a certain amount of time or else you get dropped down to the basement. I’m not sure what the time interval you can stay there is.

    Still working things out, hopefully will be able to make a winning run sometime.

  12. Pingback: Wander (1974) – Comparative Creation

  13. Really late to the conversation, but I wanted to add that I have successfully “compiled” the original HP1000 FORTRAN version of mystery mansion on modern operating systems.

    I modified the source code slightly (I equivalenced character string variables to integer arrays to avoid endian problems when storing text)

    I then used a slightly modified version of f2c (I had to allow for the hundreds of continuation lines the mansion source uses) to “compile” the FORTRAN source to c. I also wrote a small emulation library to emulate RTE specific calls.

    I was then able to create binaries for whatever machine had a posix c compiler. I have a windows 32 bit binary if anyone is interested.

    This is the real deal. This is not a re-implementation – this is the actual Bill Wolpert revision 16 source code compiled for modern machines. It should paly *exactly* like the original.

    Let me know if you want the sources or the windows executable. I also have the c files produced by f2c if you want to compile for linux.

    poodad@gmail.com

    • Hey, Ken! Nice to see your name. You may not remember, but we had a brief email conversation about Mystery Mansion back in 2000. Here’s what I wrote about that in the “THANKS” file of my port:

      “Once the port was done, several other folks helped me form a fuller picture
      of the history of Mystery Mansion. The most of informative of these
      was Ken Cornetet, who had already completed an f2c port of Revision 16.
      He therefore deserves recognition as the first person to have a unix/C
      version of Mystery Mansion available; it’s a shame that Interex didn’t
      archive this version, or else we all would’ve been playing it a lot sooner.
      Ken gave me the Revision 16 source and helped me track down Bill Wolpert,
      the original author in addition to everything else. Finally, Ken managed
      to get the Interex archive maintainer to send him the slightly modified
      Revision 16 source that Art Gentry submitted, thereby completing my source
      tree with all known versions of Mystery Mansion.”

  14. Pingback: Game 27: Mystery Mansion (1978) – The Retro Gaming Treasury

  15. there’s a Czech version of this game called MMM (probably for magical mystery manor), made by my father and his colleagues in the 80s in Fortran with some changes is parser for Czech declensions etc., probably based on some of the later Fortran versions, since it can for example save and load

    it’s for MS DOS – I have the sources and if ever a transpiler for Fortran to WebAssembly is available, I might be able to publish it for web, otherwise it’s available for download at http://www.textovky.cz/download/163/

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.