2020 update of my Infocom bugs list

There’s just been another big update to my Infocom bugs list.

New bugs have been added for almost every game. Many people have contributed to this new version (my e-mail backlog is almost clear), but special credit goes to Torbjörn Andersson (@eriktorbjorn), who’s been checking every interaction in every game and filing bug reports at The Infocom Files GitHub repo.

Some of his discoveries are spectacular, including how to pick locks in A Mind Forever Voyaging, how to shoplift the magic carpet in Spellbreaker, and how to win without

Floyd’s sacrifice

in Planetfall.

Once again, if you’re someone who still likes to play around with Infocom’s text adventures, I’d love to hear about any bugs you find. I’m still especially looking for fatal bugs (which cause a crash or lock up) in Border Zone, Hollywood Hijinx, The Lurking Horror, Nord & Bert, Stationfall, Trinity, Wishbringer, or The Witness. It would also be great if anyone could find a way to detach or destroy a body part in Hollywood Hijinx, Nord & Bert, Sorcerer, or Stationfall.

Thanks as always to mine host, Fredrik Ramsberg (@fredrik).

7 Likes

Do you have a changelog for the latest version? I’d love to see what new things have been discovered specifically by looking at the source code (as opposed to just poking at the games).

1 Like

Sorry, that’s something I never thought to do. Clearly Torbjörn Andersson’s latest bugs have come from looking at the source code, as have Marco Cavagna’s. I think the only ones I found that way were misspellings.
It’s possible that this old-style webpage I’ve been maintaining since 2004 is no longer the best way to keep track of these bugs.

I’d love to see what new things have been discovered specifically by looking at the source code

Perhaps this is obvious to everybody, but the easiest way to browse the new bugs discovered by Torbjörn is probably to go to The Infocom Files · GitHub and look at the number of open issues in each game repository (the exclamation mark in a circle) and then click on the individual repository and its issues tab to get the details.

The current leader is Trinity with 91 bugs discovered, but A Mind Forever Voyaging is not far behind with 89.

An exaggeration. I’m testing them in chronological order, and I’m still only most of the way through Trinity. It’s taking quite a bit of time. I have to admit I don’t even remember half of the bugs attributed to me. :grinning:

And some I remember finding are not included yet, though I guess you’re still going through them to see which can actually be reproduced in official releases and which can’t. (E.g. I was able to crash the Solid Gold version of Hitchhiker’s Guide to the Galaxy when compiled with ZILF, but in the official release the best I could do was being able to refer to an object that wasn’t there.) After all each tested game has several pages of bug reports (and sometimes comments made on bugs point to other, similar bugs), and you have a lot more versions than me to test!

On of my favorite not-yet-included bugs is that if you play the Solid Gold version of Wishbringer really, really badly you will run out of time before even making it into Witchville. (This is actually a consequence of the already listed bug that you can’t seem to run out of time in this version of the game. Turns out you can!)

Hmm… and did I completely forget to file a bug about how you can lock/unlock the oak door in Zork II if you “TURN KEY WITH object” even if the key isn’t in the keyhole and you’re nowhere near the door)? How silly of me!

2 Likes

It’s worth noting that not everything there can be reproduced in the officially released versions of the games. Sometimes changes were made, after the final release, and unlike Nathan I usually don’t bother to check if a bug appears in earlier versions or not.

Also, there have been a handful of bugs so far have been caused by ZILF and ZILCH not producing the exact same output. (Which does not necessarily mean that ZILF is wrong, just that the game made unwarranted assumptions.)

Indeed, though I have no delusions that I’m finding every bug there is that way. It’s easy to overlook things, and I’m usually staying far away from the parser because I’m convinced there be grues lurking there. So I’m likely to miss any game-specific hacks there.

I’ve tried to stay away from the lists of known bugs while testing (though sometimes a bug is just too intriguing not to pursue) because I don’t want any preconceived notions of what I’m looking for. When I do look afterwards, there are usually a few listed there that it seems I should have noticed.

Speaking of Zork II bugs, it was mentioned on the GOG forum that the “Fantasize” spell doesn’t work in all versions of Zork II. I’m guessing this was lost when the parser was upgraded. An attempt was made to restore it in the last preserved version of the source code, but it’s buggy, and can even crash Frotz.

This is almost hopeless to test because it’s a random effect caused by a rare random event.

Also, in some versions of Zork I, while you are in the maze and the thief picks something up in another maze room, you will hear him say “My, I wonder what this fine object is doing here.” I remember reading about this message in an old computer magazine, and was a bit disappointed that I never actually saw that while I played the game.

It seems that feature must also have been lost in an upgrade because I can get in in Release 30, but not in Release 75. I’m guessing this bug is to blame. The version I played was almost certainly Release 88, because I distinctly remember that “DIAGNOSE” could say “You can strong enough to take several wounds.” rather than “You are strong enough …”

1 Like

This is the point where you add some debug code to “fix” the random selection where you want it…

2 Likes

That’s what I ended up doing to come up with the possible fix at the end of that bug report. That, and comparing to the preserved Revision 22 sources. (Until recently I had just assumed that only the versions when the spell didn’t work had been preserved.) There are still subtleties to it that I don’t fully understand, but I think what I have now matches the original behavior. Maybe even the original intention.

I meant that testing it in the officially released versions might be tricky, or at the very least tedious. But I guess you could hack the interpreter to give you the random numbers you need, and hope the same hack works for all the different versions. If you can figure out a good sequence of “random” numbers, that is.

Edit: On second thought, it’d probably be a lot easier to just figure out which global variable holds the currently active spell, and patch the interpreter to activate Fantasize by setting that. I actually did something similar - before the source code was leaked - to figure out an optimal walkthrough for Journey. I needed to figure out exactly how much I had of the magical reagents. (That game seemed easier back in the day. Now I just keep running out of reagents unless I’m really careful. :slightly_smiling_face:)

It’s 116 now, but now I’m down the the last dozen-or-so routines to look through. I think what surprised me the most - even though @Nathan already had it on his list - is just how broken the “EMPTY object” / “EMPTY object INTO object” command is. Rather than generating PUT or DROP actions, it has its own routine for moving objects, so it bypasses many of the individual restrictions. E.g. “EMPTY WALKIE-TALKIE INTO POCKET” will move the individual parts (the switch, slider, button, and antenna) into your pocket. Though it will only move one object at a time.

But the funniest consequence I’ve seen of it so far is this:

>EMPTY CAGE INTO POCKET
The bag of crumbs: Done.

The roadrunner struggles out of your grasp and lands at your feet.

The bird spies the paper bag. It leaps into your pocket and begins to peck at
the crumbs in the bag.

That’s one tenacious bird!

4 Likes

Hey, I was able to track down and recreate that bug my son found all those years ago:

It’s an invalid object bug and it only seems to happen in Zork I 52.871125 (The Solid Gold Z5 version).

In the dome room if you type climb down before tying the rope to the railing you get The xc ec knwall munz doesn’t lead downward.
In Frotz you get The object#41 doesn’t lead downward.

I had the rope with me. I don’t know if it makes any difference if you have it or not.

1 Like

Sounds like it may be the same as Wrong response to "CLIMB DOWN" · Issue #67 · the-infocom-files/zork1 · GitHub

(I just rewrote the description of the bug, because the old description didn’t make much sense to me and I’m the one who wrote it! I think I understand things a bit better now.)

Is there a list of the source code version changes? There could be some interesting stuff there?

I did find one obscure one this way.

In Hitchhiker’s Guide R58 and below:

  • you can drop objects with the command get me from <object> due to an inverted condition in verbs.zil:1806.
  • if you set up everything for the babel fish puzzle but don’t actually press the dispenser switch, let yourself be taken to hear the Captain’s poetry (which you won’t understand) and then immediately press the dispenser switch when you’re back in the hold, the Vogon Captain will announce that there are freeloaders on the ship and he wants to read them poetry a few turns later, even though he already did that. This is because the understandable version of the Captain’s annoucement is on a separate fuse, which starts when you get the babel fish. The later version added a check (vogon.zil:241) that you haven’t met the Captain yet. Even stranger, when you’re in the Dark before the HoG, you can still hear the Vogon captain making incomprehensible announcements, even though he’s long gone and you do have the babel fish!
  • get no tea correctly gives you the message about your common sense, but pick up no tea gives a generic error (in later versions it also gives the common sense message)
3 Likes

I started making a diffs list, I don’t know if there is already one I’m missing. Some of these I wasn’t sure of the impact of. Infocom Version Diffs - Google Docs

In Nord and Bert R19 and below:

  • Typing meet the mayor during any other scenario produces a blank response. In R20, it’ll correctly give the “You must go to the beginning…” message.
1 Like

In Suspect (all recorded versions):

  • Typing version followed by a noun, eg version veronica, gives the message “You can’t untie it.” This is because version is universally treated as a synonym for release, which is also used to untie people. (This may work in other games that implement release as a verb too.)

There are some in current versions I submitted to Torbjorn Andersson, although they might come under the “British Museum” rule:

  • In Hitchhiker’s Guide, if you go to the bridge immediately after installing the Nutrimat/Computer Interface, you will be there when Eddie announces that missiles have been fired at the ship. But you’ll still hear panic and movement “in the distance”, and when you destroy the missiles, Zaphod and the others “come past you on their way back into the sauna” even though you have been right outside the whole time and have never seen them leave.
  • In Cutthroats, if you try to give the shipwreck book to Weasel, he “politely declines your generous offer”. Since he spends most of the game trying to steal it from you, and will even kill you for it, this reaction seems peculiar to say the least…
  • Also in Cutthroats, if you just wait instead of sitting down when Johnny asks you to sit down to talk, the entire group of rogues will sit there stationary for 12+ hours until you pass out from exhaustion in the bar. Even stranger, if the time goes past 12 noon during this process, it resets to 12am instead of 12pm (this may be a Frotz thing)
1 Like