Hacker News new | comments | show | ask | jobs | submit login
Your load is too heavy: Zork deep reading (zarfhome.com)
231 points by panic 25 days ago | hide | past | web | 32 comments | favorite

A while back I made a partial emulator for Z5 (a version of the virtual machine Infocom games ran on) that recompiled the game dynamically to Javascript[1], and I remember while pouring over the dumps coming across the fact "You're holding too many things already!" depended by a random number. I never checked whether it could actually fire, though! I assumed it was vestigial, with the "Your load is too heavy" message in the same function.

Another quirk I came across was how in the Canyon View, on many emulators when you "climb down" you are greeted with "The xc ec knwall munz doesn't lead downward." It turns out the Solid Gold edition has no name for the "down" object, which probably didn't exist in earlier versions, and emulators don't tend to check the text length field for the object (0 in this case) because the string encoding uses something like null-termination. Text is encoded in 5-bit blocks, explaining how the random data stays within the alphabet. Whatever emulators do, it's still a bug in the game.

[1] It was an excuse to figure out how to make an Emscripten-like relooper, to figure out how to simulate blocking calls ("continuations") using exceptions, and to learn about the design of the Z-machine.

Edit: I guess I should mention for the "xc ec knwall munz" quirk that the directions are all objects, and "climb" is meant for ropes and stairs. I believe what is happening is that you can go down in the Canyon view, but "down" isn't the vehicle which will carry you there.

Infocom's games handled compass directions strangely -- they were treated like omnipresent objects. In some versions of Zork, you could give a direction (like "east") to a hungry troll, who would proceed to eat it.

This, among many other bizarre bugs, is documented at: http://graeme.50webs.com/infobugs/zork1.htm

Directions-as-objects seems to be a common pattern. LambdaCore does the same thing, though LambdaMOO later added a Generic Detailed Room with basic support for directions, so a separate object wasn't required. (Anything more sophisticated than "go west" still requires a separate door object.)

In addition to missing checks causing unexpected interactions, this approach also has the problem that the two ends can become asymmetrical, causing confusion (though this may be desired e.g. in the case of a trap-door). In the case of LambdaMOO, there's an entry northwest from the living room to the kitchen, but no corresponding entry southeast in the other direction!

Asymmetrical navigation was definitely used as a game element. "You are in a maze of twisty passages, all alike".

As an aspiring game designer who has never played Zork: that list was fascinating.

Only two hits on Google for "xc ec knwall munz", one which is your post here. Color me impressed.

When I was a teenager, I loved the Infocom games. I actually called a tip line once or twice to get unstuck. I would spend hours playing through, taking notes, and mapping my progress. I also loved stuff that came in the boxes. It has a similar nostalgia pull that I think some people get from vinyl records.

When the BBC put the Hitchhiker's Guide to the Galaxy online [1], I loaded it up and went to work. Then I quit after about 15 minutes. I'd love to watch my 14 year old self working his way through that game. Did I have better focus? Did I have fewer things to spend my time on? Why was it so captivating then? It seems almost arduous today.

Have you played an Infocom game after a 30 year break? How did it go for you?

[1]: http://www.bbc.co.uk/programmes/articles/1g84m0sXpnNCv84GpN2...

I played through _Deadline_ recently, as part of a project to play through a bunch of detective games. The last time I'd tried it was in the late '90s (so not quite a 30 year break, but still substantial), and at the time I could literally make no progress at all. This time around it went a lot more smoothly; except for one particularly unfair bit that I had to eventually look up, it felt like the there was tangible progress at regular intervals.

But Deadline is maybe a special case; it's not really a game of traditional adventure game puzzles using wacky dream logic. It's one half figuring out exactly what made each of the NPCs tick and manipulating them into doing things that advanced the plot, and one half doing mundane investigative work.

It also has one of the most brilliant uses of a text parser ever. When interacting with a certain item in the house, you're naturally going to use a specific verb. This will just give you a bland and generic result. But if the player has discovered a specific bit of evidence and realized what it implies about the crime, it's obvious that you could use another verb on that object to verify the hunch. It's also not a verb you'd ever just randomly use on an item, so even people trying to brute-force their way through the game would miss it. It ends up as a really cool way of making sure that it's the player rather than the character solving the crime, and something that would be very hard to replicate in a graphical adventure game.

I grew up on King's Quest and its ilk which were similarly "hardened" against blind clicking that became common in later games of the genre. I don't think I'd have the patience to solve KQ1 from scratch today.

Anyway, I too have a fond memory of text parsers in games, graphical or not.

Sierra's maybe weren't the best with some maddening quirks where certain word orders wouldn't work and the responses were nonsense. Sentences that had direct and indirect objects were frequently problematic: "give the mouse the cheese" would result in "you aren't carrying the mouse". I should probably blame my pre-teen english for the frustration however. Infocom games were smarter, as I recall.

KQ1's puzzle requiring writing the alphabet forwards and backwards and encoding the name "rumplestiltskin"... have to admit I never figured that out on my own. They dumbed down that in the VGA (and all later) releases accepting the name simply spelled backwards.

There's a similar mechanism in Ballyhoo, where instead of "enter tent", you had to use an alternate verb to get inside.

I think the issue is that the games tended towards Guide Dang It, as tvtropes.org puts it. You basically needed to scoop up everything you saw and try it in random, often nonsensical combinations (e.g. getting the Babel fish) -- all to extend the time spent playing. As a teenager it was easy to spend a pile of time on, but as an adult this bears entirely too much similarity to various unpleasant things, most of which actually advance you in your life (unlike playing a game that, I presume, you bested as a 14-year-old).

My experience is that I remembered how to solve all the puzzles, so all the challenge was gone. It was basically an exercise in nostalgia.

As for the Babel fish, while the actions required seemed nonsensical, they were each clued by the previous press of the vending machine button. It was an interactive Rube Goldberg machine. But yes, if you didn't think in exactly the same way the puzzle designer thought you would, you had to resort to combining every object in your inventory with every object in the room in order to progress.

More modern IF games are actually a lot better about not being Guide Dang It, so it's really a shame there's no market for them any more. Nelson and Plotkin are pretty good about trying to make things sensible and solvable, most of the time. For instance, there are many different ways to open the pill bottle in Curses--ways based on common sense--not just the one where you find the pill-bottle-opening-machine in the goblin lair, insert the "E" battery that you removed from a malfunctioning weather radio, and press the "open pill bottle" button, instead of one of the 999 "kill player horribly" buttons, because you read the goblin language primer at the public library that only had two books in it. (That is not in Curses, it's just an example of how Infocom might have scripted it.)

I suppose part of that is that the replay value might not be high; without something to change the flow, such as areas you could get away with ignoring, puzzles with more than one solution, or even much optimization available necessarily when you're simply trying to succeed. Maybe there might be some pieces in the text you'll appreciate more since it's been some time, but it isn't the sole focus of the activity.

I was a bit younger than you at the time I tried the HHGTG text adventure, and only managed the Babel fish via meeting someone older who had beaten it... though my mistake was not realizing I actually needed EVERYTHING (as a kid, why grab the junk mail?), and also needed to disrobe. At least, having read the book, I knew I needed to lie down in front of the bulldozer.

A more modern take would have had Ford give you the junk mail at the pub if you didn't pick it up yourself.

"Here. I grabbed your post for you, in case you didn't have any other souvenirs. Drink up."

The only problem with the Babel fish puzzle (as I remember it) was that if you went through, being clued by the previous press of the vending machine button, the machine would run out of babel fish before you got one. So...go back to a save. But then realize you didn't have the junk mail, so start the game over from the beginning.

Modern IF games usually make it harder to get your game into an unwinnable state.

So it was an unrefined (and unmonetized) version of the mindless grinding(1) required in Farmville and the like?

(1) As opposed to RPG-style grinding.

Grinding implies a certain amount of automation. Just invest time, get results. Puzzle games are frequently much more like step functions. Ex: You have a mirror to look around the corner, but it's too big to glue to a stick. So obviously you need to break it. There's 100 ways one could do that, but in the game it requires identifying the one pixel that represent a brick you can pick up and smash the mirror with. You can fool around and click on everything, but you also need to be really freaking meticulous or you'll miss a pixel.

As an avid adventure gamer back then, not really. Way too slow to qualify as "grinding". Adventure games back then had a low number of useless items that had no impact on the plot; it was more about figuring out, when you found a new item, how it might solve some earlier problem. The best games were clever about how items could be combined, and only in rather few cases were the combinations unintuitive (and it was typically for comedic effect, especially in LucasArts games).

Did I have fewer things to spend my time on?

This ---^

No way could I spend time on Daggerfall now like I used to. My life is simply too frickin' busy... I'm basically already playing real life like a RPG.

I need most things I focus on to have a legit, tangible payoff nowadays.

What were the feelings/emotions that caused you to persist the first time around?

Honestly, this is actually kind of neat. I mean, if I'm carrying too many things in real life, I will probably not be able to pick something else up. But if I try again a few times I may be able to fit it or grasp it somehow. The probability of this working decreases depending on the number of items over my "easy to carry" limit. That's a cool detail.

Definitely, though the Zork 3 message still sounds like such a better way of letting you know what's happening.

One of my favorite memories of zork, after giving up once, was something very similar to:

Kill self

> With what?


> You don't have the you.

Amazing! All those times I went adventuring carrying too little... I should have just tried 'take x' again! There is a type of ironic zen lesson in all of this somewhere...

While I've always loved the Infocom games, I was partial to Magnetic Scrolls: The Pawn, Guild of Thieves, Jinxter and so on.

Magnetic Scrolls games came with a little bit of graphics (or, in the case of the later Wonderland game, a whole graphics environment, including a visual inventory you could drag stuff around in), and also had a more sophisticated parser. For example, if you had a green bottle and a brown bottle you could do something like:

    > put water in bottle
    Which bottle?
    > green
    The green bottle is now filled with water.
This also worked with modifiers in-sentence ("put water in the blue bottle"), and it could handle complex sentences like: "go southeast and get the harmonica and the bottle and then get the knife that is on the table and use the knife to cut the sandwich".

The internal data model was also more abstract, and therefore more flexible. For example [1], if you needed to cut something, you could use anything that was sharp enough, because the data model didn't require a specific object. If you had a knife, you could cut a rope, but if you also had a vase, you could break the vase, then use one of the shards to cut the rope with.

All the Magnetic Scrolls games are playable today on many platforms through Magnetic [2], and you can find the files online. The original Magnetic Scrolls developers were able to recover the old source code from tapes [3] and will be remastering the other games, and releasing the code. A remastered version [4] of The Pawn came out recently for multiple platforms, including mobile.

[1] http://www.telegraph.co.uk/technology/4760332/In-my-opinion-...

[2] http://msmemorial.if-legends.org/magnetic.php

[3] https://strandgames.com/blog/magnetic-scrolls-games-source-c...

[4] https://strandgames.com/games/thePawn

Ah, I'd forgotten about those. I saw the ads as a kid and was interested but never got a chance to play any of them. This does remind me of The Hobbit, though, which seems to have some similar features:


They're similar. The Hobbit was simpler from a parser perspective. But it had music. It also had the added feature that all the art was vector graphics [1], and it drew the vectors slowly as you were watching. (The graphics models on computers like C64 were limited in the ways colours could be placed next to each other, so while the drawings are beautiful, they also look a little wonky.)

[1] https://youtu.be/3z64d56p7Lw?t=44

Zork is smarter than Siri.

Obligatory link to the Eaten By A Grue podcast, where the hosts play old Infocom games and talk about them. The first podcast is, of course, Zork.


I played this on the mainframe in the early 90's while mounting tapes on the night shift. It was hard. I cheated. I looked at the source code for the key to get out of the twisty little maze. Wonderful stuff.

Off topic, but the way the mobile version of this site steals left- and right swipes makes a terrible UX.

Proof looking at code makes things less fun?

Applications are open for YC Winter 2018

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact