Skip to content(if available)orjump to list(if available)

Zork: The Great Inner Workings (2020)

Zork: The Great Inner Workings (2020)

69 comments

·January 20, 2025

ndiddy

If anyone's interested, here's a pretty good overview of Infocom's internal development tooling (how they got from the ZIL source code to a compiled story file). https://github.com/ZoBoRf/ZILCH-How-to

Additionally, this site is a really cool visualization that lets you play Zork while being able to see its internal game state and the corresponding source code to where you currently are. https://eblong.com/infocom/visi-zork1/

_emacsomancer_

Re: the Visual Zorker visualisation, see Andrew Plotkin's associated blog post: https://blog.zarfhome.com/2025/01/the-visible-zorker

[ commentless HN discs: https://news.ycombinator.com/item?id=42769679 ]

7thaccount

Modern interactive fiction is pretty amazing.

I like Zork a lot, but I've never made it even halfway through the game. Knowing that you can permanently lose by doing certain things (does breaking the mirror count? I can't remember) puts a damper on my enthusiasm. The infocom parser is pretty good, but I sometimes run into issues where I know what I need to do, but can't get the parser to accept my commands. This happened in planetfall where I needed to get a key under a grate, but eventually gave up and looked up what the parser wanted.

Some modern additions are automatic maps and fast travel so you don't get lost in an infinite labyrinth and have to write your own maps (it was fun once, but I wouldn't want to do it each game). Fast travel is nice, so I can get back somewhere without having to type N N E NE N and so on.

As for this thread and more relevant comments, I had no idea the parser variables were named after the authors. HN knowledge never ceases to amaze me. I wish there was a convention or something once a year.

ChicagoDave

I was 15yo in 1977 when our two school paper terminals connected to a Milwaukee Public Schools PDP-11 provided access to the FORTRAN version of DUNGEO, aka mainframe Zork.

Memorizing the map was considered a high calling among the half dozen students who became obsessed with the games (ADVENT aka Adventure or Colossal Cave was also on the PDP).

At that time, death was just a part of the puzzles of the game. Repetition was not a hindrance.

Of course we did learn how to save, but you could only have one save file at a time.

Then we learned how to “detach” our session (RSTS/E operating system) and rename save files as well as holding a current game’s state until we later reattached that session.

Mind you this was all on green bar paper.

I’m still involved in the IF community, board member of the IFTF, and will occasionally try to play Dungeon from memory.

Even made a map a few years ago.

https://plover.net/~dave/DungeonMap.pdf

I think any gamer worth their salt should take on the challenge.

I also think Dungeon would be a great challenge for teenagers in a computer science class.

m463

I had almost the exact same experience/environment in another state. It was on a vax though.

and green bar paper reminds me of part of dungeon where they had the stack of listings:

  There is an enormous stack of line-printer paper here.  It is barely
  readable and totally unintelligible.
and

  <DEFINE FEEL-FREE (LOSER)
    <TELL "FEEL FREE, CHOMPER!">
    <MEMQ ......
  The rest is, alas, unintelligible (as were the implementers).
the original source can be found here:

https://simh.trailing-edge.com/software.html

Terr_

> At that time, death was just a part of the puzzles of the game. Repetition was not a hindrance.

Some of this design philosophy continued into arcade games (where inserting a new token was profitable) and onwards to early home consoles. ("Nintendo Hard.")

7thaccount

That is one of the better maps I've seen. Thanks for the lovely historical insight! I wish these games were still popular in my youth as it would have been a blast to play with friends (although GoldenEye was fun too).

MetaWhirledPeas

> Modern interactive fiction is pretty amazing.

Got any recommendations?

Like you, I was never able to get into Zork. I really enjoyed it, until I inevitably became stuck. Hearing you say this could be permanent really seals it. It's one of those games that's more fun to recollect than to actually play.

7thaccount

Anything by Emily Short has really good writing and prose. They vary greatly by length too. I think she mainly writes for commercial projects these days, so I haven't seen a release in awhile of just something for fun.

https://ifdb.org/search?searchfor=author%3AEmily+Short

Alabaster, Bronze, and City of Secrets were all excellent. Check out the really short Galatea to see how much parser improvement has occurred since the old Infocom days.

agnishom

I also recommend Andrew Plotkin

spencerflem

If your looking for a puzzley experience, Emily Short's "Counterfeit Monkey" is consistently top rated and I found it wonderful

fenomas

My canonical answer is "Violet" by Jeremy Freese:

https://ifdb.org/viewgame?id=4glrrfh7wrp9zz7b

astrange

My favorite short IF is Glowgrass:

https://ifdb.org/viewgame?id=b1xy3s75cjlty973

The best regarded long one I know is Anchorhead, basically a Lovecraft story:

https://ifdb.org/viewgame?id=op0uw1gn1tjqmjt7

…these are both from 1998 so clearly I haven't been paying attention to what anyone is up to lately.

alberto-m

Since each person has their own taste, I suggest to browse IFDB's recommendations (https://ifdb.org/search?searchbar=played%3Ano+willplay%3Ano+...) and choosing something that piques your interest.

Personally I found Violet excellent as first-time adventure. The puzzles are hard but fair, and no mapping is involved.

failrate

CEJ Pacian makes excellent modern IF. I recommend checking out Gunmute and Red Prince.

Eric_WVGG

Adam Cadre’s games are excellent. https://adamcadre.ac/if/

bluGill

there is always the save restore so it is never permanent. However you can wonder around for a long time seeming to make progress only to discover it isn't possible to solve the game because of something not obvious you did a while back.

raldi

If you’re a fan of the genre, Zork I is worth playing through (with hints if necessary) precisely because it’s an example (the example?) of the early explorations of the art — back when it was about, “Hmm, what we should make the game do if someone tries to break the mirror?” and then implementing a response.

It wasn’t so much about finishing the game, it was about exploring the playground.

ghaff

I never made it through--but then I've mostly always been more of a fan of the idea of gaming than the work of actually playing a game until the end. I did finish a few of the Infocom games generally with the help of a few (literal pre-Web) phone calls to the developer of some of those games who was a friend of mine from school. (There's even a very inside joke related to me in Planetfall. Don't ask because I won't tell.:-))

7thaccount

Now that is a heck of a story :)

Don't stand in the way of history. Tell us!

jccalhoun

> Knowing that you can permanently lose by doing certain things (does breaking the mirror count? I can't remember) puts a damper on my enthusiasm.

I ran into that with the Hitchhiker's Guide game. I dropped one item early on and got to the end and couldn't finish without it.

coredog64

It’s not clear in the beginning that you need to buy the cheese sandwich and give it to the dog. So you get approximately halfway through and then need to restart from practically the beginning.

danaris

...the parser variables very much were not named after the authors. The parser variables were PRSA, PRSO, and PRSI (Parser Action, Parser direct Object, and Parser Indirect object). The mention of JW and MARC was in comments they left in lieu of nonexistent commit messages.

raldi

Years ago I made some maps of things like which rooms of the game have the “sacred” bit, and what it means.

If you’re interested: https://www.reddit.com/r/raldi/comments/10dtch/i_spent_my_we...

FatalLogic

>We can also make an educated guess that MARC refers to Marc Blank, who was one of the initial creators of Zork, but I couldn’t figure out who JW could be.

JW: That was probably Jerry Wolper. He was a coder and designer at Infocom in the later 1980s

https://www.mobygames.com/person/336/jerry-wolper/credits/

ghaff

I had forgotten Jerry actually worked at Infocom for a bit. And no one else with those initials comes to mind. He was part of the film committee that Marc and others were involved with as well.

seanwilson

I tried making a random text adventure generator a while ago, where the idea was I would fill it with items and item combinations, and ask it to look for the most crazy/interesting chain of item manipulation puzzles e.g. key opens chest, to get the matchbook, to light the dynamite, to blow open the safe, to get the money, to buy the ticket.

I thought the idea was really promising at first but my finding was there's just not that many interesting puzzles based around real-life item interactions, so it wasn't fun to play (without going further by adding a plot, NPCs and graphics).

If the item interaction is too everyday, it's too obvious and boring (like a key to open a door), and if it's too obscure it feels unfair (like a blowtorch to the neck of a wine bottle to open it), so it has to be somewhere in between and there's only maybe a few hundred types of interactions like this. When you look into it, you'll notice the same item interactions reused in lots of adventure games too e.g. bolt cutters + chain, torch + batteries, spade + ground.

Maybe sounds obvious when you think about it, but it wasn't obvious when I was prototyping.

I think this is one of the reasons escape room games devolve into obscure logic puzzles. And also why adventure games got criticised for having super obscure (moon logic) puzzles. And also why a lot of adventure games feature things like time travel and magic and NPCs, as it lets you introduce new rules for item interactions.

Another aspect is filling the game world with lots of items, locations and general red herrings so that the connection between items that is usually obvious isn't immediately obvious because you can't keep them all in your head.

The bugs were funny though. Like you had to tell it you can't put a car in a tree, that you shouldn't bury bread in the dirt, and a vending machine can't dispense vending machines.

dullcrisp

> The bugs were funny though. Like you had to tell it you can't put a car in a tree, that you shouldn't bury bread in the dirt, and a vending machine can't dispense vending machines.

My god, leave those in!

seanwilson

It does sound fun, but there would have to be some layer to control the amount of wackiness, or it would feel random to the point of meaninglessness, like "procedural oatmeal"?

pests

Sibling comment mentioned Zelda but really this reminds me of the Zelda Randomizers.

Fixed set of items in a fixed set of locations. Certain locations need certain items to access. So therefore randomize which items are in which rooms while still being able to complete the game.

Then they have a door randomizer which changes where doors warp you to - effectively changing the map and potentially the order of items needed.

astrange

I think you've reinvented the game Scribblenauts.

eismcc

You may want to look into the nintendo zelda chemistry engine

vunderba

I also experimented with randomized text adventure game development back in the day but went a different route. I created an n-gram markov model scraped off hundreds of old I.F. games. The maze would be generated, and the markov model would be used to generate the description of each of the rooms. I then used a keyword/POS extractors/etc. to extract a structured well-modeled data representation of the room in terms of items, monsters, etc.

It worked kind of well, but it was more of an experience in exploration (almost like a MUD) rather than a cohesive linear game.

Of course, much later down the line, games like AI Dungeon really dialed up this concept.

seanwilson

So I've tried playing with LLMs for this and the problem is you can talk your way around puzzles because you can't guarantee it'll stick to constraints. If you want something more like a traditional adventure game, it would probably work better to algorithmically generate a cohesive linear game, then use an LLM to fill in the gaps in the descriptions, story, NPC conversations and images.

I don't see how you could avoid the LLM saying stuff that implies workarounds to puzzles though e.g. you add a knife to the game that's meant to be the only object that can cut a rope, but the LLM describes a rock as sharp.

vunderba

This is my experience as well. It's why LLM dungeon masters can tend to fall flat since they have a hard time distinguishing between a genuinely good alternative solution vs somebody clearly cheesing it.

If you want to force a solution, you have to add an additional prompt check - e.g. "Is the solution provided by the player properly making use of items only within their inventory (A, B, C -> from their actual inventory) and does the solution adhere to one of the following acceptable solutions (X, Y, Z)?"

This helps mitigate abuse but it can also unnecessarily constrain the player, so YMMV.

pavlov

Puzzles are to adventure games like frosting to a cake.

It’s expected to be there as a convention, but you want to keep it to a minimum because too much spoils the whole experience.

The story is the point and the puzzles are just an accepted contrivance to make you stay longer within the world. They’re not objectively fun, like frosting isn’t objectively good.

vunderba

While the story is definitely very important, a point-and-click adventure game without puzzles is basically just a book where you turn pages by clicking the mouse.

Of course there are good puzzles that integrate well with the world (like reading from the world's most boring book to help the oyster fall asleep in King's Quest VI), and bad puzzles (cough arbitrary sliding tile puzzle cough).

seanwilson

I partly agree, but there are puzzle heavy games with throwaway plots and people do mention they like games because of the puzzles, so I thought my observation was non-obvious.

People still talk about the death of adventure games being caused by moon logic puzzles, but I don't hear people mention that part of the problem is the design space of item based puzzles is more limited than you'd think (I mean non-magic, non-NPC stuff) and has been mostly explored.

null

[deleted]

Eric_WVGG

Weird to learn that the three Zork games were one game split, given that they're so tonally different. (the first having basically no narrative at all, the second being profoundly silly, and the third being fairly serious and dark)

sparky_z

Zork 2 and 3 actually contain a lot of new material, which is the origin of the tonal shifts. The original mainframe Zork was basically a larger version of Zork 1. Zork 2 took most of the rooms that had to be cut for space, weaved them together into a new map, and added a lot of new things as well, including all the sillier plot elements, like the wizard. Zork 3 was almost entirely new, except for the brief endgame which was the original endgame of mainframe Zork.

mintplant

Huh! I've only played the original mainframe game. I thought the Infocom releases were just that game split into three—I had no idea about all the new material! I'll check them out.

stevekemp

I guess it depends on how you view it.

Originally there was a Zork game, then a company was formed and they decided to repurpose their existing game as their first project/product because they had no other inspiration.

The existing content was too large to fit into the small computers available at the time, so only parts of the prior-art were used in the "new" game.

Zork [1] was popular so the idea of a sequel was raised, and of course the content which was left out was then used the second time around. And repeat.

I think it's fair to say there was no cohesive intentions to make three games initially, and you can kinda see that from the "plot".

ghaff

The folks who wrote the original Zork were AI Lab folks who were generally more interested in the technology than the game design. They weren't really that interested in games as the end state. Which led to Cornerstone but that's another story.

And, yes, computer resources were a big issue. I think you can find at least one presentation from Dave Lebling (maybe?) at GDC where he talks about some of this.

jhbadger

If you play a version of the original MIT Zork (often called "Dungeon"), you'll find it isn't exactly the three games put together. There really isn't much plot in the original -- like Zork I it is just basically a treasure hunt (as was the Colossal Cave Adventure which inspired it). There are additional puzzles and plots in Zork II and III that have no basis in the original.

DonHopkins

MC Frontalot - It Is Pitch Dark:

https://www.youtube.com/watch?v=4nigRT2KmCE

>Front geeked around for an evening in a basement in Massachusetts. It got filmed in HD. Then Jason Scott made a whole video out of it. The song and the video are in service of Jason's upcoming documentary about text adventures, Get Lamp, but you get to enjoy it now. Peek the cameo by Steve Meretzky.

"Get Lamp" documentary:

http://www.getlamp.com/

Trailers:

http://getlamp.welcometointernet.org/trailers/

Full archive:

https://archive.org/details/GET_LAMP_The_Text_Adventure_Docu...

Interviews:

http://www.getlamp.com/cast/

atum47

I was working on a text adventure myself. It was before llms became a thing. My solution to the commands was to use simple words, not phrases. Pick key, walk north, look fireplace...

Instead of just a game I realize as I writing a game creator as well and the score kept getting bigger, so I decided to take a break. That was 4 years ago.

I do want to fishing it one day

PaulHoule

Here is the case study of Infocom

https://archive.org/details/infocom-paper-2000-12-15/page/n1...

They were using virtual machine technology to be writing the only portable software at the beginning of the 1980s and they were gone by 1989

b800h

For those interested in retro text adventures, there's a podcast which has been going for about a year - they cover a couple of games each fortnight now. Worth a listen:

https://retroadventurers.podbean.com/

riiii

One thing I'd like to see AI used for: draw the Zork scenery based on the in-game text description.

DonHopkins

Playing Zork with AI-generated imagery [video] (youtube.com)

133 points by mr_walsh on Jan 8, 2023 | hide | past | favorite | 54 comments

https://news.ycombinator.com/item?id=34300765

https://www.youtube.com/watch?v=ZpCrBBj6AWE

vunderba

I think people have been experimenting with integrating stable diffusion into text adventure games (like AI Dungeon) for a while now.

Prompt adherence is always an issue particularly in a text adventure game where position matters - e.g. (The crystalline amulet is sitting on top of the old wooden table. A fireplace at the end of the room gently crackles. To the east lies a door, cracked with age. On the west wall you can see a painting of the lords of the manor. etc)

Flux could probably get close - though it clearly doesn't have any examples of an amulet in its training data. :)

https://imgur.com/a/giBqQ1L

MetaWhirledPeas

That's a fun idea. The lack of continuity will be amusing, especially given the sparse descriptions of everything.

KerrAvon

The later Infocom games — I’m thinking especially Moriarty’s evocative Wishbringer, Trinity, Beyond Zork — have much improved writing in general; it might be interesting to see what an LLM actually does with those.

ghaff

A Mind Forever Voyaging has very good writing as well (and less in the way of puzzles). Of course, Hitchhiker's has great writing too.Not sure I ever played Wishbringer or Beyond Zork but Trinity is good.

adamrezich

That sounds like the perfect use for LLM image generation!

gonzus

Somebody did this recently for Advent of Code (some year, not 2024 necessarily). I don't remember any details, but the images were entertaining.

Tepix

We really need some innovative LLM-based games that provide a similar experience as the original infocom games but with a much richer parser and perhaps more detailed texts.