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 https://github.com/the-infocom-files 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