Ahead of its time
Z-machine was a marvel of design. Such a clever solution with the limited resources of the day. So many fond memories.
Microsoft developer boss Scott Hanselman saved the company's Ignite shindig this week by unveiling the source code for Zork I-III, all available under the MIT license. "Our goal is simple: to place historically important code in the hands of students, teachers, and developers so they can study it, learn from it, and, perhaps …
ZIL used this crazy 8-bit to 5-bit (with shifts!) compression scheme to cram all of the text onto a single floppy disk, so conventional hex editors were useless for this as it obfuscated all of the text.
Now I really wish I still had that code. I modeled the UI on the Norton Utilities, and IIRC I made it look pretty slick for the era.
...on the VIC-20, in 20-characters-across-ovision. That was my introduction to text adventures. I was fascinated, but not hooked. I confess that my attention was diverted by the flashy graphics and sounds of action games. I retain a fondness for adventures, though, and will, on that mythic 'one day', sit down and play it through. Then there's the rest of Scott Adams' adventures, and Brian Howarth's, let alone all of Infocom's and Magnetic Scrolls'.
I believe I still have the original MDL language version of Zork on fan-fold somewhere. Or maybe just blank fan-fold after almost 50 years of storage.
Thankfully others have been better custodians - https://github.com/MITDDC/zork
Zork & Infocom made an impression on the career I took in life. Think it through...
These games taught basic troubleshooting. They taught how to define an objective with limited clues to what the objective may be. They taught how to observe and connect pieces together. They taught how to solve ambiguous problems with more than one path to a solution. They taught how to use my imagination to visualize a scene without computer graphics, and if that didn't work they taught how to hand-draw maps for notes. Even at the more basic level they taught me rudimentary typing skills (errr, "keyboarding").
Reflecting back on everything I have done in tech since then, these fundamental skills have been regularly used for success in my career. I have not adopted any of the modern gaming culture, so I wonder if today's kids get the same skills through modern computing recreation.
This earns a huge cheers!
I think there are quite a few games that teach relevant skills, but rarely the cash cow AAA games.
Satisfactory and similar go through a whole series of start simple then get more complex as they progress.
This requires observing what you have, work out how to refactor/optimise it as the game moves along and you need to setup more complex supply chains to build the final item.
Early on you can get by with the inbuilt tools and paper notes, but it has also spawned online tools to help you find optimal solutions.
While that is a game that springs to mind because I play it, I’m sure there are plenty more popular modern games that haven’t lost the need to think, plan, solve problems.
There are a lot of games, and while many, and several that are very popular, take the form of how can you shoot the thing that's trying to shoot you, there are ones that do have puzzles and problem solving. I don't play many of them, but I hope they do a better job than the average text adventure and think it's likely they did.
I too played many of these as a child, but I had a different experience to you. A few of them did have all the things thought through and could take multiple paths, whereas many others were far more limited. I remember many games that would require you to use completely illogical things because you could only break a window with one specific object and they would simply reject any other method you tried, when in real life we know there are many objects that can be used to break window glass. At other times, they taught monotony. I experienced several games where, if you saw a table, you had to enter "search table, search under table, search behind table, search in table, search in table drawer, search under table drawer, search behind table drawer", with a healthy chance that none of those would give you anything, just because there would be one piece of furniture where one of those seven incantations would give you something necessary to winning. This kind of had the opposite problem to the "you can't break the window with the stone statue" problem because that's a realistic difficulty for conducting a real search, but it also made some operations more tedious. That also happened a lot when you had to get information from a character, because you needed the specific topic to ask them about before they'd mention anything.
Don't get me wrong, I played so many of these because there were some really nice and enjoyable ones. Unfortunately, I gave up on playing more because I had this happen far too often and had several games where I either couldn't find the way to keep going or needed to cheat to do so, and knowing that there's half a story left if I can only find the object that can break a window, but it's none of this collection of heavy objects I've already collected, was frustrating.
I never really got on with Zork, don’t know why.
Did enjoy most of Infocom’s releases.
Hitch hikers guide was always my favourite… the amount of time spent trying to get that damn babel fish in my ear… :D
Always thought that has to be one of the most difficult puzzles across all their releases surely :D
That was for the original Adventure game - Advent.
Just remember to put down the staff before picking up the bird.
I'm just wondering what happens when we stick AI in front of Zork and see if it can play it. AI playing a different generation of AI, or would that just result in a singularity ?
> I'm just wondering what happens when we stick AI in front of Zork
AI has no curiosity or sense of purpose, so nothing. Besides the game just gives descriptions, it doesn't ask or give specific instructions, so the AI will wait for the game to ask it something, and the game will wait for the AI to initiate some game action, which the AI can't, because those actions are completely out of its universe.
We can give an LLM instructions to read the descriptions, name an action, and submit it for the next step. That is within their capabilities. It doesn't need to ask a question to do that. I'd expect plenty of unparseable commands, but it will likely be able to make at least some moves. I'm tempted to try this and see what happens.
Compare it to when an LLM was told to issue commands. It could issue commands without being specifically prompted to, and the problem was that it didn't stop when it needed to and continued to make up valid commands that broke stuff.
> We can give an LLM instructions to read the descriptions, name an action
I'm not sure an LLM can visualize the environment suggested and the interactions it allows, and even if, it would not have the imagination required to decide to climb a tree (instead of just walking past it). It won't always know what interactions any given object might allow or require, and it lacks the mental permanence and focus to build a plan and follow it. Don't let their apparent eloquence deceive you, LLMs have the intelligence of a 2-month old toddler...
The game's possibilities are simply too vast, that's the whole point of that game after all, it requires some creative thinking, something an AI isn't really able to. All it can do is to check "what have others said in a similar situation", which in this context won't get it far.
An AI could only play if you train it specifically for this game, but then you could as well make a list of all the right prompts and feed them blindly... :-D
I did not suggest that an LLM could successfully solve a game. I suggested that it could issue valid commands without needing to be prompted each time or to be faced with questions and it wasn't limited to answering questions. That doesn't mean it can come up with the valid commands, and it's likely that it will fail to do so and very quickly. It won't do so in the way or for the reasons you used against it, both of which do not match the models' many weaknesses.
And before we praise the games too much, we should also consider how limited the command sets actually are for games like this. There are generally two categories of games. One of them uses a small number of verbs you can do to any object, meaning the creative thinking involves thinking which of those are logical ones to use. The other category is ones where the authors defined the commands you have to enter, and LLMs would likely have a lot of trouble with that. However, it was so frustrating and unintuitive to motivated and creative-thinking humans that it got its own idiom, "guess the verb", to indicate how problematic it was. I wouldn't jump to assuming that solving these puzzles is an indicator of intelligence.
Worth checking out the yearly xyzzy awards for the best interactive fiction. The original Infocom adventures remain obtainable easily via the Internet, or some of them from GOG, and are still fun. I really need to finish completing Enchanter (which I enjoy far more than Zork) without accidentally releasing The Evil One and receiving a score of -1 'Menace to humanity' (I was quite proud of that).
Inform 7 for modern Z machine based games is.. ok. Personally I don't get on with the 'natural language' because you end up having to use very specific language to drive it. Instead I use Inform 6 (which Inform 7 compiles down to anyway), but also the PunyInform library which if you're careful about the limits also enables creating adventures for old 8 bit systems in addition to modern ones. If you're running a Z80 based system, Vezza is an excellent Z machine interpreter, and you can e.g. run pretty modern interactive fiction games on an Amstrad PCW.
Our goal is simple: to place historically important code in the hands of students, teachers, and developers so they can study it, from it
In the unlikely event that Larry Ellison reads that and follows suit with the release of the source code for Oracle 1.0, you'll run the risk of being had for lunch by an Oracle auditor
You are likely to be eaten by a grue.
If this predicament seems particularly cruel,
consider whose fault it could be:
not a torch or a match in your inventory.
https://frontalot.com/lyrics/MC-Frontalot-Lyric-It-Is-Pitch-Dark.html
https://youtu.be/4nigRT2KmCE?si=DVRvpCI9YPIoQkIq
Sierra' s 3D adventure games ran on their AGI (Adventure Game Interpreter) and later SCI (Sierra Creative Interpreter) that essentially followed the same approach, although by the time they came onto the scene the IBM PC had already begun to take over from the varied home computer market, so their game engines were never ported to different platforms. Yet their approach was definitely "inspired" by the Z-machine.
AGI games were ported to a lot of non-IBM platforms, King’s Quest had Apple ][ and PC releases in the same year: https://www.mobygames.com/game/122/kings-quest/releases/
Apple, Atari and Amiga releases were pretty normal 1985-1990:
https://www.mobygames.com/game/379/leisure-suit-larry-in-the-land-of-the-lounge-lizards/releases/
https://www.mobygames.com/game/114/space-quest-chapter-i-the-sarien-encounter/releases/
https://www.mobygames.com/game/146/police-quest-in-pursuit-of-the-death-angel/releases/
Even some SCI games had releases on Amiga and Atari, but the PC was definitely winning by this time.
https://www.mobygames.com/game/168/heros-quest-so-you-want-to-be-a-hero/releases/
https://www.mobygames.com/game/461/the-colonels-bequest/releases/
The Virtual Machine (not to be confused with today’s VMs) idea was very popluar at that time. Java VM is a later implementation of the concept. Game engines are kind of like that as well: assets and scripts are portable to whatever toaster the engine’s latest port runs on.
But as always, the answer is no.
Dumping a license file in the root doesn't legally mean anything and the statement in the git log is vague and mentions that trademark restrictions may apply to the software?
At bare minimum, to license such zork versions as free software, there needs to be a clear statement in the README stating that all files in the repo are licensed under MIT expat regardless of the text in the file (certain files contain; "(c) Copyright 1982 Infocom, Inc. All Rights Reserved.") - microsoft lawyers of course knows this, but as usual, they've chosen not to free it by releasing it as free software - rather as an "open source" project.
microsoft also doesn't provide the compiler needed to compile a corresponding binary to the binary under COMPILED (has it been lost?) - making those 3 binaries proprietary software.
The readme notes to use a 3rd party compiler that produces a non-corresponding binary with "minor issues".