Source code for Zork, Hitchhiker’s Guide, and other Infocom games
github.com
github.com
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.
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.
Come to think of it, why did we put up with it?? :-)
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...
The game at least was intentional rather than incompetent.
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.
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.
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.
[0] https://en.wikipedia.org/wiki/The_Hitchhiker%27s_Guide_to_th...
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.)
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.
> 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.
I remember getting stuck in an early C64 text adventure and reading the BASIC code to try and find a clue.
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.
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.
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.
There is such a standard, devised by Andrew Plotkin (edit: in 1996). Quite a few games have been rated on it.
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.)
walkthroughs were very popular topics.
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.
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).
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.
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 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.
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.
I found this out when playing this as a kid without knowing how to look up a guide. Fun times.
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.
Then I groaned when I realised what they’d done.
- 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
I finished the game after that.
I believe in contemporary use it has become associated with witches, and I have seen it used as a general "occult" reference.
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.
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.
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.
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/
I had this box! The cover opened on it, it was so cool.
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.)
wow. I also nearly finished but not quite. I bet most people got this far.
Now to burn the next 40-80 hours ...
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.
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.
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).
It's also better than the books because it stops, instead of carrying on well after the joke ceases being funny.
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?
As a zipfile because someone is bound to get that repo taken down.
https://drive.google.com/file/d/1S1CgtZNEKS8VITqTAWAkeyO0LBf...
I wonder if this IP is currently owned by Activision/Blizzard
stationfall suspect suspended trinity wishbringer witness zork-german zork zork1 zork2 zork3
> 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)
Rumor has it that he owns http://zilf.io, but that appears to be unfounded
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.htmlThat 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.
[0]https://retrotinker.blogspot.com/2018/02/z-intepreter-source...
[1]http://www.colorcomputerarchive.com/coco/Programming/Source/...
[1] https://en.wikipedia.org/wiki/The_Restaurant_at_the_End_of_t...
(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 )
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.
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...
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.
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
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.
But if length is really a problem, making shorter versions wouldn't be hard.
There is no casual playing of HHGTTG or Zork or Hadean Lands.
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).
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/?...
Some things never change...
EDIT: this is how I do most of my personal projects!
https://github.com/historicalsource/zork/blob/70d16c9c817bc1...
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 :)
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.
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.
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...
I wonder how gzip and xz do with Super Mario Bros. and other NES games though.
You can still try it out, I think, if you say "Ok, Google, let me talk to Dungeon RPG"
Smart assistants, ironically, feel like the perfect medium for "text" adventure games to have a resurgence.
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.
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.
https://github.com/historicalsource/hitchhikersguide/blob/ma...
https://github.com/historicalsource/hitchhikersguide/blob/d7...
you have failed the Leisure Suit Larry Age Verification.
also, Toshiba is not a car.
Boy, this brings me way back to playing Zork on a 20 lb amber-screen ibm “portable”.
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.
Can't see it in any of the source here.
This adds some "graphics". I personally love this format for these games.
Along with The Enchanter, which is equally good, if not better.
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.
https://www.facebook.com/groups/ZILcom/permalink/76701623374...
"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
Deathless: City's Thirst and Choice of the Deathless, both set in Max Gladstone's lawyers-are-wizards-are-lawyers "Craft" series.
Even the most inefficient ZIL interpreter will spend most of its time in a stall loop.
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.
*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.
The SPRAYED? global wasn't used in Zork I, but showed up in Zork II as the Frobozz Magic Grue Repellent.
> 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
Can anyone shed more light of zil files?
[0] https://en.wikipedia.org/wiki/MDL_(programming_language)
don't know. But Lisp Machine Lisp and then Common Lisp.
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.
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).
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)
http://simh.trailing-edge.com/games/zork-mdl.zip
I'd like to think this is officially blessed somehow.
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.
https://jerz.setonhill.edu/intfic/colossal-cave-adventure-so...
Do you have older ones?
Surely, these were called Adventure Games at the time. I never recall them being called that.
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...
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.
I remember them as being called text adventures but as your link says they officially shifted to IF at some point.