Hacker News new | past | comments | ask | show | jobs | submit login
Source code for Zork, Hitchhiker’s Guide, and other Infocom games (github.com/historicalsource)
705 points by laurent123456 on April 16, 2019 | hide | past | favorite | 238 comments



Hitchhikers Guide was one of the first PC games I ever got. I had no idea it was a “text adventure.” Nor did I understand it was based on a book.

My dad got it for me used from The Computer Club in downtown Lake Oswego, Oregon. I picked it out largely due to the green guy on the front of the box.

I remember being delighted by all the weird stuff it came with, including a small packet of fuzz, and other artifacts from the story. I didn’t know why they were in the box but it was weird and that appealed to me.

Even though I was raised by Nintendo games like RC Pro AM, I spent many hours trying to figure out how to advance in HG. Often starting over from scratch.

Eventually, I got the book, read it and attempted the game again, and though the context made it more fun, I think I still got stuck somewhere around where you put the Babel fish in your ear.


It is an extremely difficult game. In theory, I know the answer to all the puzzles, however, there are so many ways to lose without realizing it that I've never managed to string together a single play session in which I do it correctly. Though I've also long since stopped trying. :)

For instance, there are subareas where you must collect various tools. Many of these are themselves rather fragile affairs, easy to ruin. At the end of the game, to open a door, you will be asked for a certain random tool. However, this is not a matter of collecting 8 out of 10 tools and having an 80% chance at the end; if you are missing even a single one, the game will draw its random selection from the tools you do not have. IIRC this is also after a point-of-no-return.

The Babel fish puzzle is another example of the evilness of the game. While this one is possible to complete without a guide, it isn't possible to complete it on your first attempt. There is a machine that will vend the Babelfish. It will fail in various ways, such as vending the fish into areas you can't get to if you don't block that direction. You have a limited number of tries before the Vogons come to get you and it's a game over if you don't have the fish at that point. However, the amount of time you have is not sufficient to go through the loop of trying the machine, fixing the problem it reveals, trying the machine again, fixing the next problem, etc. There are simply too many problems and not enough time. You have to simply memorize/write down the solutions once, then next time directly implement them in what would appear to be a psychic manner next game. (There's also an early "silent failure" state here; if you did not pick up the junk mail from your house, you lose here.)

If you wrote down an objective standard to measure an adventure or text game by, such as "should not have unlabeled no-win situations", or "should be solvable on the first play (even if hard)", or other such things, the Hitchhiker's Guide to the Galaxy text game would flagrantly fail most of them. Whether it's a bad game, I leave that to the reader, but it certainly breaks a lot of rules.


This is really the problem with the entire early genre of adventure games. The later Sierra titles were terrible about this. You pretty much needed the hint book to beat many of them. Even after they dropped text for point-n-click, the puzzles were still hard and not really intuitive.

The later LucasArts games were better at this (I bit The Dig without any hints; think I needed one or two for Full Throttle).

The modern era of adventure games really got this right with the puzzles being more direct and the game being more about story telling. The Walking Dead, Heavy Rain and The Wolf Among Us are great examples of this genre done right. Too bad it didn't save Telltale Games, although Quantic Dream's will hopefully be around after their third console release.

Indie games in this genre have been hit or miss. Broken Age started off amazing (good story, puzzles, didn't need hints) but the 2nd part went back to the old adventure game ways with impossible puzzles. Atmospheric games are fared better: Virginia and Far Lone Sail are two great adventure-ish games that are really good storytelling as game.


I think the best of the Sierra games was the original Kings Quest, as all the puzzles were based on various fairy tales. Also, some display glitches helped such as items that you could move would be drawn on the screen last.

The worst section of a Sierra game was in Leisure Suit Larry, where the official way of getting money is to save the game state every time you win at the casino. If you lose a round, then restore the game state. To me this was "breaking the fourth wall".


The original King's Quest had a puzzle which required writing down the alphabet forwards and backwards to encode Rumplestitskin as the secret word needed to get the magic beans. (You could "win" the game without the beans but you'd miss out on a really cool portion of the game and your score was far from the max.)

The in-game puzzle hint was far from helpful. I played the game for a year before getting a hint book. Reading the solution left a sour taste in my mouth for the whole game.

I played all the KQ games and don't remember a single puzzle that convoluted in any of the others. I believe they nerfed that puzzle in later releases of the game.


Kings Quest V had TONS of instances where if you didn't react to a situation immediately, you'd lose an item that would be required later and you wouldn't realize it until you got stuck. (Throwing the fish at the bear or that shiny thing in the nest before the bird picks you up).

KQ6 and 7 were setup so it was impossible to get stuck, but 5 was not. KQ3 had that annoying path you had to transverse and time limits until you killed the evil wizard. I think you could get stuck in that one too, but I don't remember KQ1-4 as well.


The Monkey Island games were all set up to not allow fail states, so I was reasonably confident that my 8 and 10 year old kids could muddle through.

I had to come to their rescue a couple times since they didn't get the headhunters pamphlet puzzle because it's based on a pun, but other than that they loved the first game and I'm confident they'll be able to do the sequels.


I remember that puzzle from first time around. I literally tried every object because I couldn’t figure it out.

Then I groaned when I realised what they’d done.


If I recall correctly, it is possible to get stuck in King's Quest VI; there are items that you require to get out of the catacombs, and without them you're stuck once you're inside. I believe they obliquely warn you by kicking you out first and telling you to "prepare", but you can still come back without the items and they don't specifically list them, and at that point they'll happily throw you in without them.

I found this out when playing this as a kid without knowing how to look up a guide. Fun times.


King's Quest 6 is better about it, but there are a few zombie states I can think of. However the game does its best to warn you that you'll have a bad time. Any of the following, without the right items will make sure you can't finish the game.

- Going into the catacombs on Isle of sacred mountain (specifically the hole in the wall is what killed 10 year old me) - going to the land of the dead (funny enough with coins that you need to get from the catacombs) - going into the castle (short or long ending) - telling the druids you're selling these fine leather jackets


If I recall correctly, in the PCjr version of the game it was spelling the name backwards instead of doing a caesar cipher on it. That is the only puzzle that caught me for a while until one day sitting in a math class (in 1986 or something like that) where it finally clicked.


Jade Empire had a gambling minigame you could save-scum like that. Except if you won 20 times in a row, the NPC that ran the game would explode on you: https://www.youtube.com/watch?v=26DsrylKKl8


Wow, I didn’t expect that to be so literal.


I think some of that bad game design was economically driven or at least economically influenced.

Firstly, if you judge the "value" of a game based on how long it takes to complete then having overly-complex/fiddly/obscure puzzles is a great way to artificially inflate the perceived "value" of your game via the reported play time in reviews and among players.

Secondly, in the golden age of software piracy, including puzzles that most players wouldn't be able to solve without help creates a way to extract money from otherwise non-paying players via purchases of hint guides or calls to premium-rate hint lines. A kind of precursor to "pay-to-win" microtransactions in modern "free-to-play" games.

Of course, over time both of those influences waned. With the rise of the Internet you could get a walkthrough for any game very easily, killing the market for hint guides/hint lines, and people came to understand that there's more to the value of a game than how long it takes to play (though some "hard-core gamer" types still don't understand this).

I read an interview a while ago with the founder of Wadjet Eye Games (a modern-day retro-aesthetic adventure game studio), Dave Gilbert (no relation to Ron Gilbert of Lucas Arts fame). He said that designing adventure game puzzles these days is very challenging because he is aware that if they are made too hard players will stop playing and just go look up a guide or watch a recorded playthrough, however if they are too easy the player will breeze through the game. Essentially he has to find the right balance of puzzle difficulty to maintain good pacing in his games.


> This is really the problem with the entire early genre of adventure games.

One person's "problem" is another person's joie de vivre. I loved the original Zork and all the Infocom games back in the day.

I admit, though, that I don't know if I'd have the patience to play them today. E.g., they required making maps with pencil and paper and taking notes, etc. These days, I just want to kick back on the sofa and shoot aliens with space magic guns.


I was able to solve almost everything in Zork except the bell, book, & candle puzzle. I only discovered the answer a couple of years later when they revealed the solution in the Zork books: https://en.wikipedia.org/wiki/Zork_books

I finished the game after that.


True. Infocom games were largely fair, but difficult as they grew out of MIT geek culture where the level of puzzle solving was high. It's the lesser efforts from companies like Sierra that used "moon logic" puzzles that literally nobody could solve other than either by luck or by buying expensive hint books.


I had no idea the "bell, book, and candle" in Nethack were from Zork. I gathered that it was from _something_ (since nearly everything else in it is) but didn't know what.


It is much older than that: https://en.wikipedia.org/wiki/Bell,_book,_and_candle

I believe in contemporary use it has become associated with witches, and I have seen it used as a general "occult" reference.


None of your examples are adventure games, they're just choose-your-path books - there is no logical challenge in them. I'm not sure if it's even possible to fail Heavy Rain not on purpose. I would rather say the modern adventure games are stuff like Obduction and The Witness.


I remember not being able to get off the garbage planet in Space Quest III without the hint book. It was a MacGyver-esque exercise to build a spaceshipfrom scattered junk on the planet. And just when you thought you were done a giant rat would kill you.


> If you wrote down an objective standard to measure an adventure or text game by

There is such a standard, devised by Andrew Plotkin (edit: in 1996). Quite a few games have been rated on it.

http://www.ifwiki.org/index.php/Cruelty_scale


Ah, yes, thank you. HHGttG rates a "Cruel" on this scale: http://www.ifwiki.org/index.php/The_Hitchhiker%27s_Guide_to_...

It's been a while since I played it and had detailed memories of all the solutions and details, but I think there's a solid case to be made for Evil on the extended scale, and I wouldn't be surprised it could qualify for Hell, I just don't recall enough to be sure. I am not saying this merely to slur the game; I am referring to the objective characteristics of the game. (It definitely does not qualify for the "Ninth Circle"; it is beatable with a walkthrough, though, as I said earlier, it's still a bit of a challenge because you need to be very details-oriented, as does the walkthrough author.)


HHG2G is beyond cruel. Even the simple bits were designed to irritate, like a couple of bits where you have to repeat an action until the text prompt admits the original description was a lie... (and yet at the other end of the scale, a couple of puzzles which would be quite confusing in normal games are trivially simple if you remember what happened in the books)


My only memory of the HGTTG puzzles was that early on in the game, you would have an opportunity to feed a sandwich to a dog, but at that point, there was no obvious motivation to do so. However, if you didn't do that, then much later on in the game, you would die aboard a miniaturized fleet of spaceships that would be devoured by the still-hungry dog.


I seem to be having tremendous difficulty with my lifestyle.

http://hhgproject.org/entries/carelesstalk.html


Frankly, this sounds like terribly punishing game design. Why did so many players put up with it? Was there really nothing better?


The other responses about difficult Infocom games are all accurate, but it's worth noting that Hitchhiker's Guide in particular played this as comedy. There were genuinely tough puzzles, but there were also lots of elements which essentially pulled the rug out from under the player to amuse them with unreasonable demands. Broadly, the game didn't feel as fundamentally hard as many of its contemporaries. Instead, it felt like competing against an obstinate and sarcastic opponent, so failing repeatedly was exasperating and funny instead of aggravating.

For instance, lots of early text games required tricky-to-identify commands for technical reasons, like the myriad ways to phrase "use key on door". Mostly, that was just frustrating and accepted because there was nothing better. Hitchhiker's Guide came late enough to parse language somewhat more gracefully, so it replayed that trope as parody by occasionally requiring absurd phrasings for basic commands. "Take aspirin" didn't work, but "get buffered analgesic" (a phrase the game did present to you) did. And then the rest of the time, it went back to fairly normal naming standards so as not to irritate the player.

As a horribly-dated example: Battletoads is infamous as one of the hardest platform games in history, but it was challenging by simply taking the standard play elements of a game like Mario and making them excessively tight and demanding. Syobon Action is also infamously difficult, but its gameplay is (often) relatively forgiving. The challenge comes from suspending normal conventions of games like making threats visible and giving consistent behavior to objects. Putting any one instance of that style in a normal game would be a ridiculous design error, but Syobon is built on escalating that unfairness to the point of humor, and openly demands trial and error as the way to progress.


It's also why the later Infocom game that Douglas Adams collaborated on, Bureaucracy, is one of the best comedies that Infocom released. The subject matter, the obstinacy of parser-driven IF, and increasingly absurd solutions to puzzles all worked hand-in-hand given the subject matter.


+1 - Another great example of difficult games as parody is I Wanna Be The Guy (https://en.wikipedia.org/wiki/I_Wanna_Be_the_Guy). Take all the existing conventions and stereotypes of difficult platform games and exaggerate them to the extreme.


IWBTG is another great example, definitely. And almost the exact same type of classic-NES parody, where Mario:Syobon::Metroid:IWBTG.

Thinking about it a little more, this pattern seems to describe an entire class of games, including non-parodies. Dark Souls is famously hard because of sheer mechanical difficulty, certainly. But it's also rife with learnable, low-threat moments like "when you walk up this staircase, a boulder will fall on you from offscreen". They don't alter the overall difficulty too much, but they clearly convey that the game isn't honoring standard design principles about giving the player a "fair chance". In an odd way, it makes later departures like "the illusory wall doesn't have anything marking its location" feel more justified.


When you put it that way, I can almost see the brokenness of the controller support in the PC port as part of the joke. Almost ...


Basically, punishing game design was somewhat traditional. It was only later that the IF community (game authors and players) shifted towards an understanding that games should be "fairer". For instance Graham Nelson's "Bill of Player's Rights" in chapter 3 of his http://ifarchive.jmac.org/if-archive/info/Craft.Of.Adventure... lays out some rules, many of which Hitchhikers and the other classic Infocom games break (indeed it's only necessary to state the rules because so many games were breaking them).

Personally I find the appeal of the Infocom games to be fundamentally in their usually very good writing -- it is light years ahead of other text adventures of the time.


Indeed. And one of my favorite Infocom games was A Mind Forever Voyaging which was arguably more tilted towards the literary and less towards hard puzzles than most. Which probably is one reason it's not as well known.

I'm sympathetic to arguments that you should be able to--at least in principle--be able to work your way through IF without having to rely on trial and error. Which wasn't the case with a lot of Infocom games.


You have to remember that the majority of people with computers at this time had to be into this sort of thing just to get their computer booted. Much less loading a game.

> Turn on computer

"You turn on the computer, after 3 minutes a glowing green block slowly flashes on the screen in front of you"

> Wait

"You wait a while. A glowing green block slowly flashes on the screen in front of you."

...

I hope you had a mimeographed sheet of paper that would tell you to type "CLOAD VISICALC"

Infocom games played a key role in my learning to be a programmer, sysadmin, hardware geek, network guru, etc. It is all about exploring what these machines can do. I remember poking around Infocom games with a hex editor looking for clues.


Upvoted you on looking for clues with a hex editor. Little did you realise you were setting yourself up for a lifetime of debugging.

I remember getting stuck in an early C64 text adventure and reading the BASIC code to try and find a clue.


This was deliberate on Douglas Adams' part [0]. It's all part of the joke. Other notable sections are where the game actively lies to you about being able to access a particular room (you need to try to enter several times in a row), and then sulks when you call it out and lies about the contents of the room.

[0] https://en.wikipedia.org/wiki/The_Hitchhiker%27s_Guide_to_th...


Yep - a lot of text adventures were brutally hard, often to make up length, but the Hitchhiker's Guide game was something else altogether. It was tricky, but also gratuitously unfair for the sake of comedy. A lot of it doubled as parody of earlier text adventures, like recreating "guess the command" difficulties by forcing the player to "take buffered analgesic" instead of "take aspirin".

The most famous example, I think, is the babel fish machine: it wasn't actually hard, in the sense that each failure told you exactly what you needed to do fix. But it was unfair, because you got one fewer attempt than the number of steps required. The designers basically expected you would roll your eyes, laugh, and try again with that extra knowledge.

(Which is a pretty standard part of punishingly hard games even today, interestingly. Dark Souls is mechanically hard, but it's also full of easily-managed surprises that are mostly present to create a feeling that the implicit rules of fair design aren't in effect.)


To preface this explanation, remember that it "was a different time" so one's expectations for what a game could and could not do, or even what a game was, were very different. The best way I can explain it is if you have ever played a modern game that you liked so much you went back and did all the side quests (or maybe you are just a completist when it comes to games), the Infocom text adventures were something like the side quests with no main mission. Yes there was a successful endpoint, but even that could be achieved in different ways and most of the fun was exploring all the different things that could happen. 99% of the outcomes were $NOT_SUCCESS but almost all of them removed the sting of "failure" with something to make you laugh.

I think I beat Zork II before I discovered the Invisiclue book series but either way, "winning" didn't stop me from playing it many more times to see what could happen when I got to that room right near the end with a bunch of exits.


And part of the joy of reading through the source code is that I can see text prompts for eventualities that I never once stumbled into while playing the game.


First, the game is funny and entertaining from moment to moment. Second, games were a lot harder back then, so players expected to fail repeatedly - although Hitchhiker's Guide is particularly sadistic


Part of the answer might be that the game had to be small (fit on one floppy disk, say), which limited complexity (or rather, the complexity came from intricate connections and puzzles, rather than much "content").

Imagine the game had been easy, fair, and providing guidance, as today's casual games - you'd have played through it in an hour and a half. And for that you had gone to the mall and paid quite a sum!

So, the games were harder, and you had months of fun (for some value of fun...) playing the same thing again and again, until you made progress.


Figuring this stuff out is part of the challenge. These days you're supposed to experience the story and hard challenges shouldn't be getting in the way of that. Standards were different then.


Keep in mind that you are criticizing this from the perspective of a game culture that defines this is bad. But that culture didn't exist yet and games like this were part of the early process of creating it.

Players put up with it because this hadn't been defined as "bad" yet. The whole field of what games could and could not expect players to do was wide open.

It's a bit like criticizing Georges Méliès's "A Trip to the Moon" for having poor character development and a weak third act. Those expected aspects of film structure hadn't even been invented yet.


It was kind of the point. His other Infocom game was called Bureacrary, so you can see the theme developing...

https://en.wikipedia.org/wiki/Bureaucracy_(video_game)


An infamous scene in Bureaucracy was when you had to order some food in a diner, and you'd spend 10 minutes on that (How do you want the burger, rare, medium, or well done? With fries or onion rings? Small, medium, or large? Coke or Fanta? Regular or light? etc. etc., really drawn out), and then the waiter comes back and explains that the computer crashed and you had to go through the whole tedious process again...

Come to think of it, why did we put up with it?? :-)


There was a similar scene in Leather Goddesses of Phobos (think Leisure Suit Larry on an alien planet, in text form):

You're on a barge in a river, and in the distance is something that "looks like a giant naked lady, breasts pointing to the sky".

So you sail down the river towards it, and it gets bigger and bigger over the next ten pages.

And then the river turns, and it fades away, but is still there. So you keep sailing.

"Getting bigger. You must be getting closer now". You keep sailing.

"Sunlight is gleaming on the statue, and it feels so close you could touch it". You keep sailing.

"You turn around another bend in a river, and there's... nothing there. You look around. Nothing. It was all a mirage. And the barge can't go any further."

So you sail all the way back...


Sounds like a recent experience I had trying to book tickets to a Disneyland park online: Registration, email confirmation, multiple options and numerous validation pain points for it to report their payment system was offline at the end.

The game at least was intentional rather than incompetent.


Sounds like every customer experience at Subway or Chipotle or Blaze Pizza, except for the computer crashing at the end.


British humour at its finest.


Also consider that, Invisiclues books notwithstanding, there was no straightforward way to get help if you really got stuck somewhere as this was pre-Internet for most people and certainly pre-Web.


but dial-up modem bulletin boards were definitely a thing, in those days. Or Compuserv, if so inclined. I wrote a BBS in Applesoft basic (and assembly, to trap some of the control characters and escape commands) and hosted it on my Apple ][. comms at 110/300 baud (full duplex!) or even 1200 baud where text comes faster than you can read, if you had the extra $400 for an AppleCat modem!

walkthroughs were very popular topics.


And magazines - some times later than Infocom we got Dungeon Master (on an ST although we were Amiga guys) as soon as possible, played it through, wrote a walkthrough with all the maps drawn to be the first to the magazine but got slightly beaten by another guy.


Slightly related: I remember a beautiful glossy issue on beating Dragon's Lair. Absolutely thrilling.


Fair enough. I was active in BBSs but didn’t remember walkthroughs. But then I knew a number of the authors and just asked them if I was really stuck :-)


Yep, they were out there. Some folks got really upset about walkthroughs and/or spoilers, as though it was cheating, saying "it was hard for me to figure out, it should be hard for others, too!" Many debates about the ethics of walkthroughs.

So yeah, walkthroughs were popular. Another favorite was Easter Eggs (hidden features). I remember one particular firestorm on my BBS -- an author claimed there was an Easter Egg in the Atari Battlezone stand-up 3D vector graphics arcade game. (For those who aren't familiar, you drive a tank and shoot at other tanks, looking through a periscope and driving with differential sticks). The promise was, if one drove far enough toward the volcano/mountain in the background and fired the gun or spun around a certain number of times, you could reach a city where an urban battle would commence.

Really exciting stuff, right? Of course we now know it was all nonsense, but boy did that ignite a conversation. At the time it was just crazy enough to be plausible and we were just gullible enough to believe it, leading to many wasted quarters (some of them my own) trying to reach that fabled tank battle city.


Well, now with BZFlag, you can play those games under urban envs.


I used to check out a book from the library full of solutions for a wide variety of adventure games. It's the only way I beat Hitchhiker's Guide to the Galaxy.


I recall approaching this game all cocky because I read the book. I left with my tail between my legs.


The game randomly picks tools you don't have in order to force you to solve the puzzle that tells you which tool will be selected before you are actually asked for it.

If I recall correctly, you can't even carry all 10 tools into the room where the random tool is needed (unless you figure out the aunt thing).


A very thorough review of the game on the Digital Antiquarian, including photos of the packaging:

https://www.filfre.net/2013/11/hitchhiking-the-galaxy-infoco...

On the same site, an exquisitely detailed account of how the Hitchhiker's game came to be:

https://www.filfre.net/2013/11/the-computerized-hitchhikers/


Whoa! This is the “fuzz” I remember!

I had this box! The cover opened on it, it was so cool.


> I remember being delighted by all the weird stuff it came with, including a small packet of fuzz, and other artifacts from the story. I didn’t know why they were in the box but it was weird and that appealed to me.

These were called "Feelies", and they were there as an awesome form of copy protection. They provided hints that were necessary to win the game. Often the hints were subtle (what exactly was that fuzz for?) and were puzzles in themselves. Sometimes they were completely obvious (a paper map revealing the room with a secret door, a translation guide). You'd usually realize when you needed them.

This was an awesome and creative way to copy-protect the games. Many people who pirated them found the games impossible to complete, and it was often because they didn't have the feelies to provide critical clues. Even with them, most of the games were very hard.

Infocom games are timeless. The writing is better than anything today. They're creative and challenging. How many companies today would release a game that most of the purchasers would be unable to complete?


I loved it, too - really enjoyed the puzzles, and had gotten through most of the game as a kid. I never quite finished it, and found out later that there was a timing component whereby you had to make the tea and get to the exit while Marvin was in the right place, (or something like that), and if you missed the chance, it never told you the game was in an unwinnable state, so you could play forever.

Nevertheless, I fondly recall solving the babel fish puzzle, just one step at a time, reading a clue, trying something new, getting one step further. Thinking it was almost solved, then having to go back and get some missing item from the first room of the game, etc. I find strong parallels to that puzzle and debugging code, and never did quite enjoy any other Infocom game quite as much. (Although Lurking Horror came close.)


> timing component

wow. I also nearly finished but not quite. I bet most people got this far.

Now to burn the next 40-80 hours ...


> I remember being delighted by all the weird stuff it came with, including a small packet of fuzz, and other artifacts from the story.

I had no idea that the beach sand joke in the Look Around You satire segment about computer games was based on something that once happened in reality.

[0] https://www.youtube.com/watch?v=nn82s7KAHvo


Okay, I’m going to be all hipster on everyone here but seriously has no-one ever heard the original radio series?

The original and better than a) the books b) the TV series and c) the movie.

They’ve all got their moments (except the TV series, that’s kind of a waste of time).


The TV series is awesome because it does all the computer animation effects from the Guide by hand-drawing them, because at the time actual computer animation would have been ludicrously expensive.

It's also better than the books because it stops, instead of carrying on well after the joke ceases being funny.


I realised I had not after reading your comment, I found them here: https://archive.org/details/hhgttgall6


One of my major hangups on that puzzle was that it required you to think of your character's clothing as inventory items, whereas in previous games, clothing was just part of your character's description.

It was also the first game I ever saw that had multiple possible solutions to a puzzle. If you can figure out the thing your aunt gave you, you can skip over a significant chunk of the game.


I sought out the books for hints on the game too, originally. Now, typing this into a smartphone, I realize that Douglas Adams was right; possibly about everything.


I played that game so many times on the C64 and never got past the Heart of Gold. The Babelfish puzzle took a ridiculous number of guesses to figure out, and the parser was extremely picky.

I want to go back to it now with a walkthrough to see just how much of the game I missed due to the insane difficulty level.


This is the correct link, not the one on the HN post: https://github.com/historicalsource?tab=repositories

As a zipfile because someone is bound to get that repo taken down.

https://drive.google.com/file/d/1S1CgtZNEKS8VITqTAWAkeyO0LBf...


not likely to be taken down as the CEO tweeted about it: https://twitter.com/natfriedman/status/1118057606159798274


I love how a tongue-in-cheek reply about the lack of syntax highlighting for ZIL files drew the attention of someone who actually implemented syntax highlighting for it.

https://twitter.com/taradinoc/status/1118181848494985216


Who is that handsome mystery developer, where did he come from, and why can't we get enough of him?


We'll probably never know, it's a mystery for the ages.

Rumor has it that he owns http://zilf.io, but that appears to be unfounded


And now it's a PR. By a GitHub engineer even.

https://github.com/github/linguist/pull/4497



It's still possible for Activision/Blizzard to send a DMCA takedown, even if the GitHub CEO is excited about it.


Yea, therer's no information on how it was obtained or the license, other than "not considered to be under an open license"

I wonder if this IP is currently owned by Activision/Blizzard


It looks like they might have added some things since you made your archive. The zip you posted is missing the following repos:

stationfall suspect suspended trinity wishbringer witness zork-german zork zork1 zork2 zork3


They are in the zip but GDrive cuts the listing of folders with "...".


stationfall had a book released with it that I thought was hilarious at the time.


Regarding where these files came from:

> The source code was contributed anonymously and represents a snapshot of the Infocom development system at time of shutdown - there is no remaining way to compare it against any official version as of this writing, and so it should be considered canonical, but not necessarily the exact source code arrangement for production.

(From the "witness" readme, and presumably other repos)


Lack of provenance isn’t a barrier to filing a DMCA claim, unfortunately. Likewise, it isn’t really a basis for a counterclaim that I can see.


Yes as submitted here an hour before :) https://news.ycombinator.com/item?id=19671865


I don't see it here, but Bureaucracy[1] was also really great. The whole premise of the game was that you are trying to change your address with your bank after a move. It's never that easy...

[1] https://en.wikipedia.org/wiki/Bureaucracy_(video_game)



I agree, loved this one! The satire ran thick there


If you have an interest in odd programming languages, the 'spiritual successor' to these games written in the Infocom ZIL language would be Inform7.

I think it is quite a fascinating declarative language that reads much like English, for example:

The same division between creating things, and laying down rules, is visible in Inform source text. The creation of the world is done by making unconditional factual statements about it. For example,

  The wood-slatted crate is in the Gazebo. The crate is a container.
More info: http://inform7.com/learn/man/WI_2_1.html


IMHO, Inform6 (which is a true object-oriented programming language) is much more powerful than Inform7. I tried both and found that: I7 is not consistent and often ambiguous: some pieces of code would get broken after inserting a perfectly valid "sentence" with no explanation; compilation is slow, execution is slow; some tiny compiled text games with no picture and no sound weight more than 5Mo. If I had a large project to code, I would take I6 without a doubt.


Everything you said about I7 is true, but its real value comes from the abstractions it introduces.

That is, it isn't just an English-like syntax for writers who are used to writing in complete sentences... it's a programming model based on concepts from narrative, technical writing, and linguistics, for writers who are using it to write narratives, describe technical systems, and manipulate text.

I7 integrates high-level domain concepts of interactive fiction into the language: scenes and continuity, rules and their exceptions, relationships between objects, templates for parsing and printing text.


Inform6 was first, and it was far easier to grasp than ZIL and Inform7 itself.


Something that I just learned about as a result of this story: According to this blog post[0], Brian Moriarty himself shared the source for the TRS-80 CoCo version of the official interpreter[1], so that's out there too.

[0]https://retrotinker.blogspot.com/2018/02/z-intepreter-source...

[1]http://www.colorcomputerarchive.com/coco/Programming/Source/...


Found some funny scripts used for the unreleased game "The restaurant": https://github.com/historicalsource/restaurant/blob/master/t...


Note that this is probably based on the the sequel[1] to H2G2 given that H2G2 was completed as game.

[1] https://en.wikipedia.org/wiki/The_Restaurant_at_the_End_of_t...


You can find a somewhat playable early "prototype" linked from here: https://waxy.org/2008/04/milliways_infocoms_unreleased_seque...


What might have been if Infocom hadn't tried to "grow up" and make business software.


The name Infocom comes from their desire to make business software. To a large extent they considered games that they had written in the past to be a way to raise money so they could afford to make the business software that would make them rich. Games were always a distraction in their eye - a profitable one, but not their purpose. As far as I know they never got anywhere with business software...


I realize. Still doesn't mean I can't lament them for not realizing they were already successful and could continue to be. Just imagine if BioWare had kept trying to make medical software despite the success of their RPGs, just because their name said they should.


The Infocom brand and creative team outlived their failed business software division, but couldn't survive the tension of being acquired by a games company that wanted to churn out more content. It's possible the company regarding the games division as a side project to raise seed money rather than a cash cow actually indirectly helped the creative side...

(Either way, I think it'd have struggled to survive the emergence of story-driven games with good graphics. There's plenty of comparatively well-written and user-friendly modern IF which only reaches niche audiences despite it being freely available and publicised across the internet )


Infocom was experimenting with graphic adventures towards the end. (Zork Zero was a fascinating experiment. Maybe not a successful or entirely enjoyable one, but something with possibility.)

It's impossible to say how well Infocom might have done as graphics continued to take focus. The diaspora of Infocom's creative talent worked on many well-beloved graphic adventure games (Moriarty's LOOM and influence on other LucasArts games, Meretsky's The Space Bar and influence as a consultant to a variety of game companies in roughly the same time span, as two examples quickest to mind).

They still probably wouldn't have survived the "adventure game" crash that eventually broke Sierra and LucasArts, but it's interesting to wonder what sort of a contender they might have been had they not been forced to sell to Activision (or had they stumbled into selling to a publisher that was a better fit creatively).

Anyway, its interesting to armchair quarterback with decades of hindsight. The business software was a technical marvel of a sort and potentially had it been much better timed and budgeted it could have eaten Lotus and Excel's lunch. Maybe there's an alternate universe where we are all using an Infocom office suite and Infocom operating system on hardware Z-Machines, which is a fun idea to think about.


This is a highly detailed and interesting story about what happened to the sequel. This article is almost as amazing as the original post!

Also... am I the only one who finds it amusing that essentially 'Bureaucracy' led to the demise of the Hitchhiker's Guide to the Galaxy sequel? Makes me wonder if Douglas Adams specifically avoided working on the sequel just so that could be the case...


I love interactive fiction (as these types of games are now denoted) then and now. In principle. There are possibilities with the text-only canvas that are not even conceivable in other media.

But really, does anyone have time for these games anymore? Playing these Infocom games is a multi-month project, with a significant amount of note-taking, manual mapping, and patience (read: replay) required. To call the "parser" interface limiting is an understatement, especially where it concerns dialog.

See https://ifdb.tads.org/viewgame?id=aearuuxv83plclpl and https://hadeanlands.com/ for modern examples. They've tremendously expanded on the old guard, both in technological terms and in creativity, and yet still suffer from the same fundamental limitations.

I don't know what the future holds for IF, but more evolution is needed before these games can compete for mindshare in the 21st century. I read a lot, but I just can't make the time for these kinds of games anymore. Not even close.


Have you tried any of the modern games other than the two you linked ? A lot of the games being made right now are shorter and punchier than the classic infocom games.

Suveh nux (https://ifdb.tads.org/viewgame?id=xkai23ry99qdxce3) is a great example of a modern game that is short, interesting and uses the medium in an interesting manner.


Anchorhead, Jigsaw, Curses... aren't so short.


wat? Anchorhead took me an evening to complete.


My friend made a twine game (no longer online, lost to time, darn) that I absolutely loved. It used the hyperlink interface as a way to dive deeper into ideas. And to meander and reflect.. eventually to navel gaze..

Text parsing is probably still a clumsy interface if the goal is to write natural language commands, but if the designer goes with the grain of the interface there is plenty of opportunity for compelling work


Do you have statistics on how much time people spend playing Candy Crush or other modern games? I think a lot of people have spent 70 hours watching Game of Thrones.

But if length is really a problem, making shorter versions wouldn't be hard.


My point is that playing IF games is a major commitment, unlike Candy Crush or watching any TV show, which are 0 commitment activities.

There is no casual playing of HHGTTG or Zork or Hadean Lands.


You play it casually just like you read a fiction paperback casually.

In the annual interactive fiction contest, the judges get 2 hours to evaluate ba game. So many new games aim for that to be the playing time.

From what I remember some old Infocom games like Enchanter (which takes place in the Zork universe) don't take very long to finish (definitely less than a standard $60 video game console video game).


I don't think the posting of the source code was meant to encourage you to play the games.


I saw this extra feature on the downloadable special edition of the Hitchhiker's Guide TV series a little while back, which talks about the engine behind the infocom game and the language that it's programmed in.

BBC Micro Live - Douglas Adams BBC Micro Live presenter, Conner 'Freff' Cochran, talks to Douglas Adams about The Hitchhiker's Guider to the Galaxy computing game and future software plans. https://www.facebook.com/BBCArchive/videos/594990580873976/?...



If you're interested in this, you might appreciate I Spent My Weekend Hacking Zork: https://redd.it/10dtch


> In general, Infocom games were created by taking previous Infocom source code, copying the directory, and making changes until the game worked the way the current Implementor needed. Structure, therefore, tended to follow from game to game and may or may not accurately reflect the actual function of the code.

Some things never change...

EDIT: this is how I do most of my personal projects!


And developer sense of humor about code quality remains the same...

https://github.com/historicalsource/zork/blob/70d16c9c817bc1...


That word "issue" used in the context of a printed magazine... seems like you don't hear it used much anymore.


I think the reference was to the function names.


Indeed, it even has a Y2K bug in it!


I wonder if that's how they developed Cornerstone.

https://en.m.wikipedia.org/wiki/Cornerstone_%28software%29

Just rip some code out here, change some there, until it looks like a relational database :)


This is definitely how I do all my LaTeX projects.


Well, they worked for them, so why should they?


I think the parent means that is still how we do software, eg. coyping resembling code and modifying it until it does what we want.


And I mean "If it works for modern devs too, so?"


For OP’s personal projects? Meh, it works but will sometimes cause you problems. For a team of 10+ software devs? Disaster!


The parent isn't saying it is bad practice.


I think this has to do with the authors being more literary than tech savvy.


Infocom was famously tech savvy though. The founders came from MIT's Laboratory for Computer Science (LCS) where they developed the first Zork adventure.


The Z-machine is one of the technical marvels of the era. I doubt it. It was the Java of its day.


Nah, that's how I'd do it, too.


Each game (from the ones I recognize) fit on a single 5.25" 360KB floppy. We barely think in megabytes anymore.


and ran in < 40 kilobytes of RAM on the Apple ][, less on TRS-80 and Commodore if I recall correctly. The game ran in a virtual machine built for various architectures so that the game could be built once and run anywhere. (Write once, run anywhere -- an idea that would later catch on with a certain programming language that is now displaying this text on your browser screen.)

Those games felt miraculous back in the day. I still recall the amazement I felt playing the detective game Deadline (https://en.wikipedia.org/wiki/Deadline_(video_game) ) and the way the simulation moved on in real time -- people wandering through a house, or suspects fidgeting nervously or offering additional info while I questioned them -- even if I didn't enter a command and merely waited.

Appreciating the severe limitations it operated within makes it all the more amazing. Another fine example of "scarcity drives innovation."

40,000 bytes for all code and data. Wow.


>40,000 bytes for all code and data. Wow.

That sounds impressive, but it really isn't that much, because it's text-only.

If you want to see something truly impressive, look at Super Mario Bros. on the NES: the entire game is about 64k! Most of the NES games were on that order of size, and they were graphical real-time games.

Also, I'm pretty sure that you'll find with these text-adventure games that they compress quite readily down to a fraction of the size you stated. NES games, not so much. ASCII text isn't a terribly efficient medium of storage, and they didn't have much if any data compression in those days.


> I'm pretty sure that you'll find with these text-adventure games that they compress quite readily down to a fraction of the size you stated.

You might be surprised. Infocom games don't store text as ASCII; they use a more compact format [1] which packs three characters into every two bytes, and allows for "abbreviations" of commonly used text fragments. Obviously it's nothing like a modern compressor, but still surprisingly effective.

I tested GZIP and XZ against a sample of 19 vintage Infocom games. GZIP only managed to compress them by 30%; XZ did a little better at 40%, but still nowhere near what you'd expect for text (70-80%).

[1]: https://www.inform-fiction.org/zmachine/standards/z1point0/s...


Very interesting, and better than I would have expected (as in, that's a lower compression rate than I would have expected).

I wonder how gzip and xz do with Super Mario Bros. and other NES games though.


Even less -- Except for the later mixed text/graphics ones like Shogun, they were on 8-bit computers like the Apple II and C64 as well. Those had single-sided 5.25 disks only storing 100Kb-150Kb.


I bought five of the Activision re-releases back in the mid '90s. Each one was a selection of games on a CD ("on CD-ROM for the first time! Works with Windows 95!") with printed materials, when the whole set plus scans of the printed stuff could have fit on one disc with room to spare. I still have all of that stuff except the outer boxes.


I think grub might fit on that, but you would probably have to swap floppies 4 times to load the kernel.


And many of them ran on machines with only 32k of RAM (later games required as much as 128k).


Reminds me of that time I hacked together Zork for the Google Home.

You can still try it out, I think, if you say "Ok, Google, let me talk to Dungeon RPG"

https://github.com/mitchellgordon95/DungeonForGoogleHome


Oh, cool! I'd love for someone to make a more fully-baked version of this. Get some good audiobook narrators and voice actors, and add sound effects and stuff!

Smart assistants, ironically, feel like the perfect medium for "text" adventure games to have a resurgence.


I totally agree! I think this will be more true as we get better at natural language understanding. (coincidentally, this is my PhD research area)

There's still a lot of unsolved problems for making this kind of stuff usable. But we can dream, haha, and we're getting closer. I think the possibilities for games are actually much more impressive than most people imagine, right now.


Yes, possibly for single-player interactive fiction. But kids these days spend a lot of time in multi-person text conversations, pointing to a MUD resurgence. Maybe we'll see both.


There was a Zork interface for Asterisk, which allowed to play the game over VoIP and with Festival as a TTS.


"Want some rye?" "'course ya do!"


Great game, was my introduction to the Zork world. Like 8bit/16bit games, I wish video capture adventure games would make a comeback, even though I know it's a pipe dream...


There was a Tex Murphy game (Tesla Effect) released in the last couple of years (and was Kickstarter backed), and Her Story made a big splash slightly more recently than that. Several Her Story inspired productions since have been in the works or released. They'll probably never be mainstream/"AAA" again, but there likely will continue to be some people building them so long as they can find their audience.

Plus, AAA game mo-capping has gotten to the point where some of them such as Uncharted and Quantum Break feel very close to classic FMV, with the benefits of a full 3D environment. Quantum Break even had entire "TV episodes" in the middle, making it perhaps the wildest "FMV" game of the last few years.


I still say that to this day. I was stuck at that part of the game for so long that this has never left me.


Here's to us.


Who's like us!


Daaaaamn few;


And they're all dead!


For those of you who are new to text adventures you can find images of most of the game boxes here - http://infocom.elsewhere.org/gallery/ and various other resources here http://infocom.elsewhere.org/


I found a swear in the Hitchhiker's source code:

https://github.com/historicalsource/hitchhikersguide/blob/ma...


I can't find a definition for that, but it's used in several places. Is <FUCKING-CLEAR> a ZIL primitive??!



"swear"

you have failed the Leisure Suit Larry Age Verification.

also, Toshiba is not a car.


Looks like GitHub will quickly have support for syntax highlighting of ZIL files. https://github.com/github/linguist/pull/4497



https://bitbucket.org/jmcgrew/zilf/wiki/Home could zilf compile it? (i am not familiar with this language at all...)



Only way to find out is to try :) But it does look promising.


This is a codebase I’ve long been interested in seeing. I just always assumed it would be inscrutable assembler, though I should have known better given the game’s lineage.

Boy, this brings me way back to playing Zork on a 20 lb amber-screen ibm “portable”.



The notation for player death appears to be "JIGS-UP". Glad to see the classic Infocom sense of humor is present in the codebase too.


Amazing Games!!! I still have boxed Amiga and ST Infocom games which I will probably never play, but keep just for the packaging!


My that looks like LISP!


Basically the history goes Lisp -> MDL -> ZIL


MDL and Lisp kinda co-evolved, and some MDL features (lambda lists, maybe others?) made it into the evolutionary branch that lived.


Basically correct.

The first Lisp for MIT's IBM mainframe was ported to the AI lab PDP-6, running standalone. Later ITS was written for the PDP-6, and Lisp was ported to run under timesharing by 1968. This evolved into Maclisp.

MDL, first called Muddle, is mentioned in Project MAC Progress Report VIII, covering 1970-971. "The extension of LISP is known locally as "MUDDLE". It was designed and has been implemented by Carl Hewitt and Gerald Sussman of the Artificial Intelligence Laboratory and Christopher Reeve, David Cressey, Bruce Daniels, and Gregory Pfister of Dynamic Modeling".

Ideas from Muddle made it back to Maclisp. The first Lisp Machine Lisp (later ZetaLisp) was basically a reimplementation or Maclisp (as is Emacs Lisp), and Common Lisp is to a large degree a subset of Lisp Machine Lisp.


I vaguely remember in the original zork (I think it was called "dungeon" at the time) you got into some super-secret room and some secret message said "MEMQ" in it.

Can't see it in any of the source here.



Cool. I still got my Masterpieces of Infocom cdrom somewhere. I was very dissapointed Hitchhiker's Guide to the Galaxy was not a part of the collection :)


I used to enjoy the fortran-to-c ported pre-infocom zork on BSD. I never got into the bigger world they went with but friends spent many fine hours in them.


So, are these playable online over gh-pages? It would be so cool if the gh-pages contained an interpreter that loaded the source from github.


The compiler for these source files has been lost. You can play the zip files that were released commercially with Parchment, but because the copyright on those has not expired you wont be able to do so legally on the public internet I believe.



Not quite lost.


https://www.bbc.co.uk/programmes/articles/1g84m0sXpnNCv84GpN...

This adds some "graphics". I personally love this format for these games.


If you're just looking to play the games, they are in the internet archive's software library in many versions. At the very least the DOS version and Amiga version, probably others too, are playable through the online emulators.


Alas no Trinity - the greatest IF game of all time.



You're right. Good news. You should play it if you haven't and if you love IF.

Along with The Enchanter, which is equally good, if not better.


There is no existing compiler for all this programming language any more. Maybe someone will give it a try and create an interpreter.


A commenter on Zarf's blog ( https://blog.zarfhome.com/2019/04/all-of-infocoms-game-sourc... ) reports that ZILF is capable of at least building the Zork source to something that will start up, though given the warnings produced during compilation it's not going to work perfectly...


Looking at the code, it seems doable to make sense of it, one instruction at a time. For example this:

    "Would you like to restart the game from the beginning, restore a saved
    game position, or end this session of the game?|
    (Type RESTART, RESTORE, or QUIT):|
    >">
             <READ ,P-INBUF ,P-LEXV>
             <SET WRD <GET ,P-LEXV 1>>
             <COND (<EQUAL? .WRD ,W?RESTART>
                <RESTART>
                <TELL "Failed." CR>)
                   (<EQUAL? .WRD ,W?RESTORE>
                <COND (<RESTORE>
                       <TELL "Ok." CR>)
                      (T
                       <TELL "Failed." CR>)>)
                   (<EQUAL? .WRD ,W?QUIT ,W?Q>
    <QUIT>)>>>
- Read user input, and put result in WRD

- Switch statement on WRD

- Case RESTART: Write Failed and restart

- Case RESTORE: Write Ok and continue

- Case QUIT: Write Failed and exit


I looked at the zork code. Does it reference (missing?) external files, like ADVSAVE ?



Z-Machines aren't compilers, they're virtual machines that can execute the compiled output.

There's no (known) compiler that still exists that can compile ZIL into Z-code.

edit: except for zilf, as mentioned, but it's not functional for even zork 1.


ZILF works just fine. There's even a competition for games written in ZIL using it:

https://www.facebook.com/groups/ZILcom/permalink/76701623374...


Not functional? Warnings aren't errors. Maybe it's just better at catching potential bugs...


judging from the blog comment it seems that it's functional


you mean interpreters, but this is about compilers of which there are only two: Zilch en ZILF.


I've just now realized why when the movie came out I had already heard about Hitchhiker's!


Is there any good modern analogue to Infocom games that I can plan on my iPhone slowly?


Frotz is available on the AppStore. It's an interpreter for these types of games. The base install includes several games and you can download more from within the app through the link to the IFDB.


Yes! All the Zarfhome stuff, like Hadean Lands or Dreamhold.

Deathless: City's Thirst and Choice of the Deathless, both set in Max Gladstone's lawyers-are-wizards-are-lawyers "Craft" series.


If you have a pre-iOS 11* device, "The Lost Adventures of Infocom" should still be for sale in the App Store. It has a dozen-ish of the actual Infocom classics. Best on an iPad, but I think it's usable on a phone.

*They didn't -- and won't -- re-build it to cross Apple's 64-bit barrier, so you can't play it after iOS 11.


Slowly? the iPhone is many thousands of times more capable than any of the target systems these software were built for -- typical was a 1 megahertz 8-bit CPU with 32 kilobytes of RAM.

Even the most inefficient ZIL interpreter will spend most of its time in a stall loop.


I think “play slowly” in this case means “take it out during odd moments of the day such as waiting in a line or riding a bus and poke at the puzzles instead of catching up on Twitter”.

I am pretty sure that even a first-generation ZIL interpreter spent the bulk of its cycles flashing the cursor and waiting for the player to type something.


Thank you - that makes perfect sense. I obviously forgot that there's a human element to all this.


I thought "slowly" was a reference to the reduced typing speed on the phone.


<TELL " You are likely to be eaten by a grue.">)> <CRLF>


-- https://github.com/historicalsource/zork1/blob/master/gverbs...

The SPRAYED? global wasn't used in Zork I, but showed up in Zork II as the Frobozz Magic Grue Repellent.


Just another reminder that the Zork trilogy started as a single PDP game, I guess :) It's remarkable how they were able to cut it up almost without breaking a sweat.


I wonder how much work it would be to glue the games back together?


Or you could run the un-split original MDL Zork.


Just looking at the source code. Things haven't changed all that much.


No license anywhere. These games are still valuable IP aren't they?


At the bottom of the README

> This collection is meant for education, discussion, and historical work, allowing researchers and students to study how code was made for these interactive fiction games and how the system dealt with input and processing. It is not considered to be under an open license.

So all rights reserved, basically


Not too bad really. This code is so old I doubt anyone really knows how to work with it properly or get it running on a modern machine. Only good for curiosity


Not especially. The last Infocom/Activision Zork game was released in 1997. (There was a licensed browser game in 2009-11, but it sucked -- it was really just a demonstration of how little Activision cared about the IP.)


Is that some kind of angle bracket lisp?

Can anyone shed more light of zil files?


It's exactly a Lisp derivative/fork. Zork was originally written in MDL [0], a Lisp derivative in use on MIT's mainframes (that in turn went on to inspire parts of Scheme). When the Zork team left college to form Infocom, they built ZIL to port Zork to home computers, based on their experience of MDL, and their needs for their Z-Machine virtual machine.

[0] https://en.wikipedia.org/wiki/MDL_(programming_language)


> Scheme

don't know. But Lisp Machine Lisp and then Common Lisp.


I've seen EQUAL? in some of the code snippets. I can believe that inspired Scheme predicates.


Yes. But I think that's relatively minor.

From 'The Evolution of Lisp' Steele/Gabriel:

> MDL also introduced through example the use of a final ? in a name to connote a predicate ... Lisp Machine Lisp would pick up the lambda lists and the locatives, and would adapt the evaluation and splicing markers in backquote, though the evolution of the concept passes through Conniver where it is refined into a form very similar in appearance and effect as in Lisp-Machine Lisp, but in fact the implementation is quite different. Scheme would pick up the use of a trailing “?” for predicates. MDL had a multitasking facility that would reappear in various forms in Lisp-Machine Lisp, Conniver, and various implementations of Common Lisp.

Scheme got the '?'.

LML got complex arglists, locatives, markers for evaluation/splicing in backquote, multitasking.


Hmm, which evaluation and splicing markers is it referring to?

MDL doesn't have quasiquoting, but it has "segments" that expanded while evaluating a structure (prefix a form with "!", and the result is spliced into the structure), and reader macros expanded while parsing source code (prefix a form with "%" and the result is inserted, or "%%" and it's discarded).


Yeah, MDL used the question mark suffix like Lisp used "p".


Take a look at the Z-machine wikipedia page. It has some good background. There's also a link to "Learning ZIL" in the external links section.

https://en.wikipedia.org/wiki/Z-machine


Is it possible to download all these 136 repositories at once?


curl -s "https://api.github.com/users/historicalsource/repos?per_page... | grep \"clone_url\" | awk '{print $2}' | sed -e 's/"//g' -e 's/,//g' | xargs -n1 git clone


I wrote some comments on the Wikipedia Zork talk page:

https://en.wikipedia.org/wiki/Talk%3AZork#Link_to_the_origin...

Link to the original Zork source code in MDL

I suggest linking to the original Zork source code in MDL which is available here:

http://retro.co.za/adventure/zork-mdl/

Is it OK to link to that source code from Wikipedia? I don't know who officially owns it, though. It was never a commercial product, and was developed at MIT. As the Zork article mentions, the Zork source code was leaked way back in 1977, so the cat's been out of the bag for a long time. A link to the actual source code would be a nice thing to cite in that section.

It is fascinating to read, and really beautiful code, quite understandable even if you don't know MDL, and practically a form of literature.

I played the original Zork on MIT-DM and also the Infocom versions of course. Reading the source code is like seeing the behind-the-scenes underground rooms and passages at Disneyland!

While I was playing Zork, I found a bug. First some context: when you're battling the troll, you can give things to him, and he eats them! Sometimes he drops his axe, and you can pick it up and kill him with it. He blocks the exits until you kill him.

So I tried "give axe to troll," and he ate his own axe, then cowered in terror: "The troll, disarmed, cowers in terror, pleading for his life in the guttural tongue of the trolls."

Not satisfied with that, I tried "give troll to troll", and he devoured himself: "The troll, who is remarkably coordinated, catches the troll and not having the most discriminating tastes, gleefully eats it."

...Except that I still could not get out of the exit, because every time I tried, it said "The troll fends you off with a menacing gesture."

I figured there must be a troll flag that wasn't getting cleared when the troll devoured itself. And sure enough, I found it in the code, and it's called "TROLL-FLAG!-FLAG"!

Here is an excerpt of the MDL troll code, where you can see the bug, where it should clear the troll flag when the troll devours itself, but doesn't (well that's how I would fix it!):

               <COND (<VERB? "THROW" "GIVE">
                      <COND (<VERB? "THROW">
                             <TELL
    "The troll, who is remarkably coordinated, catches the " 1 <ODESC2 <PRSO>>>)
                            (<TELL
    "The troll, who is not overly proud, graciously accepts the gift">)>
                      <COND (<==? <PRSO> <SFIND-OBJ "KNIFE">>
                             <TELL
    "and being for the moment sated, throws it back.  Fortunately, the
    troll has poor control, and the knife falls to the floor.  He does
    not look pleased." ,LONG-TELL1>
                             <TRO .T ,FIGHTBIT>)
                            (<TELL
    "and not having the most discriminating tastes, gleefully eats it.">
                      <REMOVE-OBJECT <PRSO>>)>)
                     (<VERB? "TAKE" "MOVE">
                      <TELL
    "The troll spits in your face, saying \"Better luck next time.\"">)
                     (<VERB? "MUNG">
                      <TELL
    "The troll laughs at your puny gesture.">)>)
              (<AND ,TROLL-FLAG!-FLAG
                    <VERB? "HELLO">>
               <TELL "Unfortunately, the troll can't hear you.">)>>
Xardox (talk) 02:45, 15 January 2013 (UTC)

You can give something that you don't have? I was under the impression that it wouldn't work. Double sharp (talk) 13:17, 13 March 2013 (UTC)

You can give anything that's in the room or your inventory to the troll. So if his axe falls on the floor, "give axe to troll" will work without having to pick it up first, which is supposed to work. But even before he drops the axe you can go "give axe to troll" and he'll eat it while he's holding it, since it's transitively in the room. That's the first thing I did, that made me think of typing "give troll to troll"! Xardox (talk) 03:32, 30 March 2016 (UTC)


Bob Supnik got a copy of the latest version from the Zork team, and it's openly published here:

http://simh.trailing-edge.com/games/zork-mdl.zip

I'd like to think this is officially blessed somehow.


Cool! Now, does anyone know the significance of ‘xyzzy’ and ‘plugh’? :)


Here's a ZIL version of the game where "xyzzy" and "plugh" first appeared: https://bitbucket.org/jmcgrew/zilf/src/tip/Examples/advent/a...


I have the oldest available Crowther version running using a DEC Fortran compiler.

YOU ARE STANDING AT THE END OF A ROAD BEFORE A SMALL BRICK BUILDING . AROUND YOU IS A FOREST. A SMALL STREAM FLOWS OUT OF THE BUILDING AND DOWN A GULLY.


I remember digging up these to run on simh

https://jerz.setonhill.edu/intfic/colossal-cave-adventure-so...

Do you have older ones?


No, I got them from the same place.


YYYAAAAAAASSSSSSS


"Zork I is a 1980 interactive fiction game"

Surely, these were called Adventure Games at the time. I never recall them being called that.


The box art calls it Interactive Fiction: https://upload.wikimedia.org/wikipedia/en/a/ac/Zork_I_box_ar...

EDIT: Some more info on the origins; apparently it was first used by an early creator of such games (Robert Lafore), and then picked up by Infocom: https://www.filfre.net/2011/09/robert-lafores-interactive-fi...


Note that those boxes are not the original boxes. I’d have to research to figure out timelines but basically Infocom games came out in all sorts of shapes and sizes of which Starcross may have been the most elaborate. But at some point they standardized on the standard box form factor because of the demands of retailers.

I remember them as being called text adventures but as your link says they officially shifted to IF at some point.


that would be the right term.

you can see the evolution in cga vga games like quest for glory 1 or kings guest 1 or even space quest 1 you still had the console style input but was replaced with the menu bars that most remember from adventure games.


Even games like Maniac Mansion or Monkey Island where the ability to input text commands was gone retained a pseudo-commandline above the lower part of the screen with the verbs and inventory.


When I played these in the 80's, we just called them "text adventures." The box did say Interactive Fiction... Nobody called them that.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: