REVIEW: 50 Years of Text Games, by Aaron Reed
50 Years of Text Games: From Oregon Trail to AI Dungeon, Aaron A. Reed (Changeful Tales, 2023).
>YOU ARE ON SUBSTACK. YOU SEE A BOOK REVIEW BY JOHN PSMITH. YOU SEE A TROLL POST BY RICHARD HANANIA. YOU SEE A BOOK REVIEW BY SCOTT ALEXANDER. WHAT DO YOU DO?
open last post
>I’M SORRY I DON’T UNDERSTAND THAT.
click scott alexander post
>I’M SORRY I DON’T KNOW THE VERB: ‘CLICK’
read
>‘READ’ WHAT?
read scott alexander
>YOU CANNOT READ A ‘SCOTT ALEXANDER’
read book review
>YOU SETTLE IN TO READ A BOOK REVIEW BY JOHN PSMITH. THE REVIEW IS NINE THOUSAND WORDS LONG. YOU BEGIN MAKING A CUP OF TEA TO KE^C
stop
>EP YOU GOING FOR THE LONG NIGHT AHEAD. THE REVIEW BEGINS WITH A WILD AN^C
cancel
>D UNJUSTIFIED ASSERTION. IT MAKES SEVERAL SWEEPING GENERALIZATIONS. IT BARELY TALKS ABOUT THE BOOK, BUT USES IT AS AN EXCU^C
exit
>SE TO TALK ABOUT SOMETHING SEEMINGLY UNRELATED. SOON YOUR CANDLE BURNS DOWN. IT GROWS DARK. YOU ARE EATEN BY A GRUE. THIS IS THE END OF YOUR JOURNEY. YOU HAVE SUFFERED A FATE WORSE THAN DEATH.
>TRY AGAIN? (YES/NO/QUIT)
For as long as computers have existed, people have used them to play games. The earliest games were all graphical,1 and today most games are graphical again (outside of a few notable subcultures that we will visit), but in between there were decades when text reigned supreme. Like dinosaurs and silent movies, the text-based games seemed impossibly dominant in their own era, like nothing could ever end their time. But end it did. A few of us hazily remember these games from our childhoods, but for everyone else this artistic form has been lost to the mists of history. Which is why we’re so lucky that Aaron Reed has written the story of these games, their golden era, and their strange second act that continues in the shadows even today.
I regret to say this book is also unbelievably “relevant.” The Psmiths, as you know, despise relevance. And so I initially picked up this book for no other reason than that text-based games are a niche topic that I find interesting. As I read, however, it struck me that text serves as a universal interface easily comprehensible both to people and AIs. Oh sure, the models are all multimodal these days and you can feed them pictures, but their mother tongue is still that special flavor of token that is English language text sourced from the internet. At the present (early 2026) level of technology, a world made out of words is something that an AI is both well-positioned to help you build, and quite good at exploring on its own. We will come to all of that in time, however; for now let’s start at the beginning.
As I said, the earliest games were graphical, and the reason why might surprise you: it all had to do with hardware constraints. You may think text is “primitive” and graphics are sophisticated, but if you think about it like a late-60s/early-70s computer programmer operating under a regime of severely limited memory and storage, it’s quite the opposite. A pixel on the screen can be addressed with two numbers, a third byte suffices (if you have an anachronistically fancy display) to command it to be a certain color, and the algorithm to cause pixels to turn on and off in such a way as to depict spaceships and missiles on parabolic trajectories might only take a few lines of code.
In the days before bitmaps and textures, “graphics” was by far the economical option. And it was also scalable in the sense that if your program followed simple rules, adding more levels did not increase the system requirements. The 640k of memory that Bill Gates might or might not have said should be enough for anyone is positively oceanic for these purposes, and even the more modest amounts available to a PDP-11 are quite luxurious. Not so if your game is made of text! Each ASCII character takes a byte. The chunk of this book review that you have read so far has already exceeded the storage capacity of the Apollo Guidance Computer, and by the end it probably won’t fit in the RAM of any of the golden era mainframes and microcomputers that won the Cold War. For a game to be made of words it must contain a lot of them, and sentences are hard to produce procedurally (though we will meet some people who tried) — the good ones usually have to be written down by a human being ahead of time and stored.
Speaking of which, from the earliest days of the genre, we can actually discern two very distinct kinds of text-based games. The first kind: games that happen to use the terminal or a teletype as an interface, but have nothing fundamentally text-based about them. Imagine, for instance, a game that uses ASCII characters to draw a map, like the classic dungeon-crawler Nethack:
Is this game text-based? I think the answer is no, because there exist versions that replace the interface with one based on isometric graphics, and it’s still fundamentally the same game. Now consider the original Oregon Trail:
MONDAY MARCH 29 1847
TOTAL MILEAGE IS 0
FOOD BULLETS CLOTHING SUPPLIES CASH
100 2500 50 50 200
DO YOU WANT TO (1) HUNT OR (2) CONTINUE?
Is this game text-based? This time more people would say yes, but I still have my doubts. The text here is a portal, a view into an underlying simulation of the world that is made out of numbers and logic, not text. We prod it with text and we measure it with text, the way we might prod and measure some fantastically elusive subatomic particle using a supercollider. But don’t confuse the communication mechanism with the thing you’re talking to. A person is not a phone.
Most of the games in the earliest parts of this book have this character, some of them to an extreme degree. A little known game from the late 60s called ROCKET basically amounts to feeding the player a list of numbers representing a lunar module’s altitude, velocity, acceleration, mass, and remaining fuel, and then asking the player if they wish to adjust the throttle. It is literally just a physics simulation expressed through text. The more fanciful Hunt the Wumpus has the player stalking the surface of a dodecahedron trying to slay a dreadful monster called a Wumpus using “crooked arrows” that change direction as they pass through rooms, but it is still fundamentally a column of numbers.2 And then you have one of the earliest games of all, The Sumerian Game, which just comes out and says it:
IMAGINE THAT YOU HAVE JUST BEEN MADE RULER OF LAGASH, A CITY-STATE OF SUMER, IN THE YEAR 3500 B.C. TWICE YEARLY YOUR ROYAL STEWARD, URABA, WILL REPORT TO YOU THE ECONOMIC CONDITION OF THE KINGDOM. GUIDED BY THESE REPORTS, YOU WILL DECIDE THE USE OF YOUR GRAIN AND OTHER RESOURCES, TRYING TO KEEP YOUR POPULATION STABLE AND WELL FED. BETWEEN REPORTS, YOUR COURT ADVISOR WILL COME TO YOU WITH NEWS OF YOUR KINGDOM.
The reports and the news are just a mechanically synthesized representation of the underlying Sumerian kingdom simulation, like a fancier speedometer, or like the numbers printed out by the ROCKET game. We’ve already covered the reason for this: resource constraints, the source of all great cræft. If you can’t store many sentences in memory, you can at least give the illusion of having reams of them by having your computer play a sort of glorified madlibs with you. And so things went until 1976 when a very different style of game was invented.
If you were a child in the 1980s, you may remember books that looked like this:
Does that tickle a memory somewhere? What if I recite the admonition that every one of these books began with: “WARNING!!!! Do not read this book straight through from beginning to end!” That’s because, of course, each of the books put you,3 the reader, in the driver’s seat. As the hordes of savages with poison-tipped spears converged on your position, you faced a terrible choice. If you would like to leap into the UFO, turn to page 97. If you would like to try to activate the volcano, turn to page 16. Breathlessly you would turn to the indicated page (perhaps leaving a finger wedged in the spot that you just came from to be safe)4 and discover the fate that your choices had created for you. Each book formed a branching and recombining tree of possibilities with many endings, like this:
This was all very exciting, but I remember being a bit dissatisfied even as a boy. The illusion of choice was actually quite thin: decisions could be made only at fixed moments in the narration, decided ahead of time by the author, and each one offered a binary choice. What if I wanted to fly the UFO into the volcano? Or tear off my clothes and try to convince the savages that I was one of them? The books promised, “The adventures you take are a result of your choice. You are responsible because you choose!” But even a kid could see that that was false advertising. Moreover, the structure of these books was completely static: the paths all flowed forward relentlessly, towards victory or defeat, but always forwards. What if I wanted to inhabit one of these fictional worlds? To wander around and take my time? The medium made that impossible. A book can’t engage in dialogue with you like a person can, unless the author plays some extremely sophisticated tricks.
Of course, a computer couldn’t really either, but given a sufficiently constrained environment perhaps it could pretend that it did? I can’t prove that the genre we now call “interactive fiction” could only have been created by an avid caver, but I really think there’s a connection here. Cavers are special people.5 Cavers are also used to an environment that is eerily well suited to being represented by a computer program with limited hardware resources. A cave is very much like a series of discrete areas, each with its own character, and with a heavily constrained set of routes between them. It’s a graph in mathematical terms, something that every computer scientist worth his salt knows how to represent efficiently in memory.
In the early 1970s, two such computer scientists, Will and Patricia Crowther, joined an expedition to connect two massive cave systems that people had long conjectured formed a single enormous cavern. Patricia made history in 1972, wriggling through a fearsomely cramped passage now known as the “Tight Spot” that joined the two. As the Crowthers explored the cave system, they wrote code to convert their three-dimensional survey data into beautiful maps. Did this code rely on the abstraction of a set of nodes and edges, perhaps augmented by a bit of geometry? We can only speculate. What we do know is that in 1975 disaster struck: the couple divorced, Patricia remarried a member of their caving group, and Will’s caving days were then over. She also took the kids, and in his long and lonely days Will dreamed of a way to share his lost hobby with them.
In the fall of that year, spurred by the knowledge that his daughters would be visiting for a long weekend, Will Crowther wrote a computer game like none that had existed up to that point. He called it Adventure, and it began just like his beloved Mammoth Cave system, with a steel grate mounted in concrete, set at the bottom of a twenty-foot depression, surrounded by forest. But in this game the various areas were not the featureless faces of a dodecahedron, they were distinct and memorable locations, each lovingly described with a paragraph of human-authored text, filled with treasures and monsters and challenges. Crowther’s daughters became obsessed with the game, and between their visits he would throw himself into making improvements to it so they’d have new bits to play the next time he saw them. The game sprawled, and with its verbal extravagance it quickly ran into the limits of even the top of the line PDP-10 mainframe that it ran on. So Crowther devised a compact data format to let him cram even more content in.6 Soon the caves contained psychotic dwarves, a magic beanstalk, and a maze of twisty little passages, all alike.
The game had items that could be picked up or dropped or used in creative ways to get past the game’s challenges, and if you used them in a ridiculous or subversive way instead, there were good odds that the omnipresent narrator would chide you in an appropriate manner. And most miraculous of all, you could do anything in the world that you wanted, or at least it implied that you could. You addressed the game with words and phrases, telling it what you wanted to do, and the game tried to guess what you meant and told you the results of your actions. The game spent its budget of words with a profligacy that no other had dared. For example, one of its chambers had a stream flowing through it, and telling the game that you wanted to step into it had no effect on your progress, but the game would reply: “YOUR FEET ARE NOW WET.”
For people playing a computer game in the 1970s, this felt magical. Actually, even for jaded modern gamers it feels a bit magical. There are generally two ways of creating the perception of magic in somebody — one is via a single, clever, transformative trick that upends what is possible, like the discovery of gunpowder or calculus. The other is to do an absolutely unreasonable amount of work, vastly more work than anybody would ever imagine you putting into this thing. Adventure got its magic via the second path. It paid for it with a human being sitting and thinking through everything a player might type and coming up ahead of time with a witty response. This is not, as the kids say, “scalable.” But for a small and simple game it worked well enough.
Soon Adventure had spawned dozens, then hundreds of imitators. It became the progenitor of a vast genre of games now known as “interactive fiction,” or IF for short. For a decade or two after Adventure, IF dominated the gaming industry, with blockbuster hits like Zork and an adaptation of Douglas Adams’ Hitchikers Guide to the Galaxy. These games were not set in caves, but they maintained the cave-shaped conceit of a set of discrete locations with connections between them. Often these locations were more abstract “scenes” or “situations” than physical places, and the genre became notorious for the difficulty of its puzzles, some of which required a great deal of lateral thinking and some of which were downright cruel.7 These games also took advantage of the fact that a book has a special effects budget larger than any Hollywood blockbuster, because when you read a book you’re already imagining things.
Moreover, you can create impressions with words that are actually impossible to visualize. As the genre matured, it got increasingly experimental and avant-garde. In a game called Suspended you played as a mind trapped within a frozen body on a planet undergoing a cataclysm, able to interact with the world only by sending commands to six different robots, each of which possessed a different set of sensors or manipulators. Even odder was A Mind Forever Voyaging in which you played as an artificial intelligence program interacting with a minutely detailed simulation of a small town in Middle America, with the twist that decades would pass in the simulation between each visit, and after each time skip the town would decay further into dystopia and anarchy. Between improvements in hardware and the games themselves becoming big business, soon each game had teams of writers churning out entire novels worth of text. Some of these games truly did deserve the moniker “interactive fiction” — they were not just a game conveyed through written descriptions, but a meticulously plotted and well-written story that came alive through your actions.8 The dream of “Choose Your Own Adventure” was realized at last.
And then the bottom fell out of the market. Computers got good enough to display real graphics, and as wild and imaginative and groundbreaking as the IF games were, they just had a very hard time competing with interactive animation. Perhaps if they’d had more time to get established things would have been different, but as Reed quotes somebody saying: “Imagine the challenge for literature if movies had come along within a decade of the invention [of the] printing press.” The companies involved all went under or got sold for parts, and that might have been the end of interactive fiction but for one very important quirk of history.
One of the largest IF companies, Infocom, had built all of its games via what’s known as a “virtual machine.” You can think of the Infocom VM as a tiny, very specialized computer that runs entirely as a software program on your real computer. Each game was represented as a set of instructions and data files that could be understood and executed by this VM, known as the Z-machine. This had two very important consequences: the first was that as soon as somebody wrote a Z-machine implementation for a new hardware platform, the entire back-catalog of Infocom games immediately became playable on that platform without any additional porting or other work having to be done for each game. In particular this meant that later volunteers were able to produce open-source implementations of the Z-machine for everything from iPhones to toasters, thus ensuring that all of Infocom’s games remained playable on modern hardware and could be discovered again and again by new generations of players.
The second, and even more consequential, thing about the VM-based approach was that it democratized writing the games in the first place. Because most of the tricky software logic governing how to interact with the player and with the underlying hardware system was concentrated in the Z-machine implementation, leaving the games themselves as almost just a set of text files in a special format. This was actually part of the reason Infocom had taken the approach in the first place: they wanted to be able to have a small set of expensive-to-hire programmers work on improving the VM, with their salaries amortized across all of the games that were built. So the games themselves were designed to be made by non-programmers and the Z-machine came with a full-featured set of visual authoring tools so that each marginal game could be cranked out by contract writers and temp workers with very little technical background.
So when Infocom went bust, all somebody had to do was create an open-source tool for authoring these game files, and suddenly they were playable on every platform that the Z-machine ever supported or ever would support in the future. This led to a flourishing subculture and an explosion of creativity. Games like Galatea strained the “areas connected by transitions” metaphor to its breaking point by having the entire game consist of a single branching conversation with a lifelike statue. Games like Photopia outdid any film by Nolan or Tarantino with their fractured and out-of-order storytelling. There was even a game that was entirely about trying to overcome your tendency to procrastinate and write your dissertation (if you are looking to procrastinate, it’s called Violet and you can play it here). The world of interactive fiction still exists: it’s a booming subculture with its own online archives, annual awards (actually multiple competing ones), and in-person conventions.
And yet…a subculture it remains, and I have to think the reason comes back to the magic. Yes, with enough empathy and enough grinding work, the author of one of these games can anticipate many of the things the player will try to do. But they can’t anticipate all of them, and as soon as the game blocks you from doing or saying something natural, the illusion of shared authorship shatters, and you’re right back in the Choose Your Own Adventure book picking from a narrow set of possibilities handed down from on high. Even more frustrating, sometimes the thing you want to do is in the allowed set of possibilities, but it can be difficult to phrase it exactly the way that the game’s parser was programmed to interpret things. (Those of you who’ve played any amount of IF might have found the joke that opened this review to be all too real). Ironically, a game that pretends to be completely open and free-form but then arbitrarily restricts player agency can feel more harshly limiting than a game with a constrained but explicit set of rules.
There’s something deeper, too. Where does “fun” come from? It has many facets and sources, but I think an important one is a certain kind of serendipity or emergence. It’s the improv routine that goes in a completely unexpected direction after a shouted audience suggestion, or the clever player noticing that two innocuous rules in a board game can be combined to create an unbeatable strategy, or the DM rolling on a random table and coming up with an utterly ridiculous monster in an utterly ridiculous situation. A lot of the fun in any sort of game lives in situations that were implicit in the rules, there all along, yet never dreamed of by the designers of those rules. And the magic of IF, the brutal, grinding, laborious magic worked by those unsung authors, ends up restricting these sorts of happy accidents as much as it restricts the players themselves.
This challenge, which I believe to be the fundamental issue limiting the appeal of these games, is something the genre has struggled with since the beginning, and I’d like to survey several of the responses people have come up with before telling you about my own. One of the oldest and earliest ideas was to take a page from improv or from D&D and get other people involved. The so-called “multi-user dungeons” or “MUDs” were online, internet-based games that in their earliest incarnations were basically Adventure-style games that multiple people could play simultaneously. People quickly realized that that didn’t quite work, though, because once all the puzzles were solved and the treasures were gathered, what then for new players? So instead these games became less game-like, and instead focused on the shared experience of inhabiting a fantastical world. This is the simple joy of playing pretend, which every child knows and most adults have forgotten (but try to claw back through RPGs with their rulebooks and systems). The great thing about people is that, unlike computers, they really can inhabit your shared fantasy, can improvise with you, can say “yes and” to your offbeat ideas. But the trouble with people is that they might not want to, and in fact creating and adjudicating a shared gameworld is a whole lot of work (just ask your local dungeon master), so the MUDs tended to be less game and more precursor to online bulletin boards and social media, with a bit of LARPing mixed in.
An alternative approach was to have players directly author game content. In the early days of MUDs, there was a tradition wherein the most advanced players were dubbed “wizards” and given access to special debugging commands that enabled them to teleport, create objects and areas out of thin air, and even manipulate the rules of the game itself. In other words, when you reached a certain point in the game, the game turned into Nomic. Some of these wizards built entire games within the game, or bonus areas that continued the storyline of the game, with production values equal to or better than the original. Eventually, people created specialized online worlds that were optimized for this sort of player-authored content (Reed highlights LambdaMoo but the most famous one is Second Life). These player-authored games didn’t actually solve any of the problems with IF, and didn’t take over the world, but one of them has an internal GDP the size of Burundi so I guess that’s nice.
A very different approach, also with a rich pedigree, was just to fake it. Instead of the computer admitting that it has no idea how to do what the player wants, just have it pretend to understand and then do whatever it was going to do anyways. One of the world’s first chatbots was a system called ELIZA that used primitive forms of pattern-matching to pretend to have a conversation with you. If ELIZA had no idea what you were saying, it would either try to rephrase your most recent reply as a question, or fall back to one of a stock set of ways of changing the subject. You can try talking to it here. As transparent and primitive as this strategy is, it can work surprisingly well. Evolution did not prepare us for entities that speak intelligently but have no intelligence, so our mirror neurons kick in and we project intelligence and intentionality onto something that is dumb and mechanical.
This is known as the ELIZA effect, and it’s been exploited very successfully by IF authors since the earliest days of the genre. One of the most notorious examples of this was an early-80s game called His Majesty’s Ship “Impetuous” that casts you as the captain of a Royal Navy ship during the Napoleonic wars. The game’s marketing and manual made a big deal about its advanced artificial intelligence system that could respond to player commands, and then the game itself…mostly just ignored what you typed. It told a pretty much linear story, occasionally prompting the player to enter their side of the dialog in a high-stakes conversation or asking them what action they wanted to take during a firefight But it didn’t matter what you said, the outcome was predetermined, perhaps lightly embellished by some ELIZA-style pattern-matching on your inputs. The interactivity was all smoke and mirrors, and it could actually sort of work for a while, but there was no replayability and most players quickly saw through it.
You may ask: if the problem with the old-school chatbots was that they too transparently had no idea what you were saying, could we make a vastly better game experience with a modern LLM? You’re absolutely right! There was a hugely hyped app called AI Dungeon a few years ago that did exactly this and it…basically sank without a trace. In fact, I think the relative non-existence of super engaging AI-driven games is one of the most notable dogs that hasn’t barked yet in the current revolution, and oddly unremarked upon. Why is this? I mostly think that people aren’t holding them right. An LLM is actually very good at understanding what you mean, but it’s much less good at coming up with a fun game on its own, for three different reasons that all reinforce each other.
First, they’re still too sycophantic. A good DM knows when to push back on you, knows that sometimes being an inflexible bastard is the way to make a player rise to the occasion and that this is actually fun. Hard and fast game rules are stronger still: they can’t be bribed, cajoled, flattered, or bargained with. They’re just there, and their very inflexibility spurs players to greater creativity. AIs are too easy to bully. Their post-training makes them accommodating, helpful, servile. The human raters can’t stop themselves from giving slightly better scores to slightly flattering responses. Speaking of training, the second problem is that they’re surprisingly bad at proposing the kinds of zany, new ideas you want in a game. On some level, they want to produce the average of all the text on the internet. They are mediocrity engines (at least in domains where they haven’t been RLVR’d with superhuman training tokens). I say this with absolutely zero dismissiveness or disrespect. The mediocrity engines are fantastically useful, but they are not going to produce interesting and novel content out of the box.
The first two issues I’ve mentioned can be made slightly better with advanced prompting.9 The third one is intrinsic: LLMs don’t have world models. By this I actually mean two slightly different things: one is just that they’re bad at remembering the details of the world they’ve built — sometimes even when it’s still in context! They…drift, the details of things randomly change, people and objects appear out of nowhere, or disappear without explanation. LLMs sometimes seem like they’re playing a Wittgensteinian language game but with referents that are all disconnected. When you try to use them for game logic, they often have very weird ideas about physics, or causality, or just what things are for. I once asked an AI to create a scene in a game where a character rode a minecart down a tunnel and couldn’t go back up, and it said something like: “the tunnel behind you disappears.” Huh? Tunnels don’t just disappear! I expressed my dissatisfaction, and it came up with an even weirder scenario where crashing into the wall ahead somehow caused the tunnel behind to be blocked.
This limitation is worse than it sounds: it can’t be solved just with a careful human editor for content the AI spits out. The problem goes back to the way in which fun is “emergent,” how it grows unexpectedly out of interactions between objects and systems that obey fixed rules. Those interactions need some ground truth to push against, or bite into, the same way a car can’t drive if it’s suspended in the air. But AIs are bad at imagining systems with ground truth rules and then simulating what would happen in a weird situation. They’re bad at doing this for the real world, but equally bad at doing it for fantastical worlds that you ask them to make up! A fun genre of scifi is “invent a new fact about the universe and then imagine how all the consequences play out,” and this is the genre that AI is utterly incapable of today. This is an even bigger problem for game design than in writing.
Which brings us all the way back to those text-based games that weren’t really intrinsically text-based, because the text was just a shell on top of a simulation. Could you integrate the ideas of IF and simulation more deeply somehow? This idea has actually been tried once or twice. Reed draws our attention to an Adventure-style game in the early-80s called The Hobbit in which you play through an adaptation of Tolkien’s story. But unlike most games, where NPCs basically hang around as part of the scenery, in this one every single character had their own custom AI scripts, goals, moods, and personality quirks. This led to hilarious and frustrating situations where Gandalf would wander off and get eaten by a warg, say, or Elrond would get in a bad mood and refuse to give you directions. It was also full of an absolutely legendary number of bugs, because the emergent behavior indeed did its job of creating situations that the developers could not anticipate ahead of time.10 But it sounds pretty fun:
In one game I played, Gandalf had an odd habit of picking up dead bodies and walking around with them… [In another, the goblins] captured the wood elf and when I was thrown into the goblins’ dungeon, [the elf immediately] threw me into the Elvenking’s dungeon… I once managed to kill Smaug with Gollum’s corpse.
The key to that last bit working was the simulationism. It wasn’t just the NPCs — every object in the game had properties like weight, size, fragility, and so on. And rather than define puzzle solutions as particular paths through the game, they were described in terms of the overall game state. For instance it didn’t matter if you convinced Bard and the men of Dale to shoot the dragon, or bulked up on strength potions and clobbered it to death yourself, or even sat around while the dragon blundered off on its own and got killed by a random creature, so long as the dragon was dead the puzzle was solved. This hints at how faithful simulationism can not only produce emergent situations, but can also loosen the restrictions on player agency. It all depends on the depth of the simulation, though. Perhaps the developers encoded the weight of every item in the game so that any item can be used as a weapon, but is that enough? Did they also build a sufficiently detailed model of physics that you could build a working steam engine or nuclear reactor and use those to kill the dragon?
There’s a game that tries. Dwarf Fortress11 is about managing a colony of dwarves, but it takes the position that before your game begins it must first simulate the creation of the world. After all, your little city exists in a place, and the geological contours of that place are determined by plate tectonics.12 But there might also be ruins near your starting location. Ruins of what? Who lived there? So the game creates an entire fake history, simulates the rise and fall of empires (their boundaries determined by geological features of course), spawns legendary rulers and heroes (each with their own detailed backstory, likes, and dislikes), and then quickly runs through a few thousand years of cultural evolution and wars and betrayals and love affairs and monstrous invasions and so on. Because that is how it can have a consistent answer to what the ruins next to your city are the ruins of and what inscriptions you might find in them.
All of this is before the game starts. Then it really gets going. Every creature in the game has independently generated organs and limbs that can become diseased or nonfunctional. Monsters and animals form complex ecosystems. Each of the thousands of inhabitants of your dwarf city has their own personal name and backstory and life history and relationships with the other dwarfs. Name generation is its own complex subsystem that references the cultural history of your uniquely generated world, and the words for common concepts in the artificial languages that populate it.13 The game’s bewildering complexity sprawls in every direction, producing surreal release notes for new versions and bizarre descriptions of bugfixes. Why go to all this trouble? Well, it’s the two things we’ve been talking about: agency and serendipity. First, agency: now when a player says: “I wonder what happens if I infect a cat with vampirism and then set it on fire,” the game has an answer. All their actions have consequences, and they’ll receive them good and hard. The ninety-nine times their bizarre schemes blow up in their faces will be completely outweighed by the one time it wins them the game. They will remember that time literally forever. Some of the ninety-nine times will be pretty fun too.
The other benefit is serendipity, emergence, fun situations happening that the author never intended. You get some amount of this just out of detailed simulation plus player creativity, but it’s supercharged by the kind of randomization or “procedural generation” that Dwarf Fortress does. People have long known that randomness can make things more interesting: this is why kids play Mad-Libs and dungeon masters roll on random tables. But the procedural generation insight is that the more fine-grained the randomness, the more fun. Rolling on a list of ten random monsters, you only have ten options, and each of those was made by a random table designer who might or might not have been feeling inspired. But if you first roll on a list of body shapes, then a list of elemental affinities, then a list of locomotion methods, then a list of combat tactics, and so on…you might get something really interesting, or at least really weird and memorable.
The cost of this approach is that we are, once again, engaged in backbreaking magic — it’s just moved up to the meta level. But that’s a win! Instead of meticulously crafting situations and responses as in the days of Adventure, we are meticulously crafting generators of situations, and simulation machinery that responds appropriately in huge swathes of circumstances. But it’s still a lot of work: the size of the Dwarf Fortress codebase is a jaw-dropping 750,000 lines of code, and that’s with the code written in a relatively compact and inscrutable fashion by two genius brothers who somehow hold more or less the whole thing in their heads and avoid unnecessary duplication. In real life physics, we have reduced electromagnetism to four beautiful equations14 and dream of a grand unified theory of everything; however, computers have a lower clockspeed than God, so in our simulated worlds we have to cut corners and build special purpose systems for things rather than starting with cellular automata everywhere. If you aren’t very very careful with the architecture of your simulation, those subsystems end up with a quadratic number of interactions between them, resulting in a totally unscalable codebase.
But as it happens, your pension fund has been so good as to pour several trillions of dollars into speculative capex that solves this problem for us. And now I have a confession to make: this book review was originally supposed to run in January, but it’s been delayed because I’ve spent my nights and weekends over the last few months building a new kind of text-based adventure game that attempts to do the AI Dungeon thing correctly, using our digital servitors more intelligently than other game designers have. The core idea is to integrate AI hallucination and procedural generation at a deep level, because the strengths of each are the weaknesses of the other. LLMs are uncreative and bad at world models, exactly the things that detailed simulation excels at. But conversely, the LLMs are great at “exception handling” and at providing lossy and messy bridges between the islands of cold, mechanical if-statements, which helps to fight the quadratic explosion of simulation interactions. And LLMs are also very good at automating some of the grunt work of populating random tables (“give me 700 different descriptions of a potion bottle that carry negative connotation”) and at extending the solo programmer’s working memory by reading and summarizing vast amounts of code at superhuman speed.
My game is made out of words, but it’s also a game about words. It takes place in a ruined world, where not only people and places but concepts and ideas themselves have been destroyed by some awful unremembered cataclysm. You play in and as a world that has been lobotomized and is now straining to remember itself before collapsing into unconsciousness and trying again. Some of what you reconstruct remains in the game from cycle to cycle, but some of it slips away and is only carried in you, the player, within whom the world is also being born anew. I didn’t plan this part, but I now see that it forms a strange mirror of the LLM pre-training process. The biggest surprise of the AI era for me was that reasoning, which I used to think was something magical or mystical, can inhere in language, such that seeing many linguistic descriptions of high-quality reasoning may be enough to bootstrap it even within something that has no formal model of logic. If AIs had internal experiences, what would that training process feel like? Perhaps something like the slow recovery of a world of words, like concepts and vocabulary resolving into focus: some of them lasting only as long as the current context window, some of them making it into model weights that live outside the endlessly resetting world and thereby remain across cycles.
Or maybe I’m just in the grips of AI psychosis. I’ve never made a game before, but I think this one is pretty fun. My “playtesters” think it’s fun too. Like Will Crowther, I started out making this game for my kids, and have been able to pepper it with inside jokes and references. But unlike Crowther, I also have an army of robotic playtesters, and they think it’s fun too, and I don’t think that’s just their sycophancy at work. This is the other way that AI is helping me in my insane goal of creating the world’s greatest text-based adventure: the final challenge of working IF magic is that you don’t know ahead of time what your players will try, so it’s hard to anticipate them every time. But my game is made out of words, so it’s an ocean that the AIs were born to swim in, and I can make them play it at industrial scale and collect detailed distributional statistics about what they try and what the world lacks a good response for. That information allows me to make the game more fun for my players…and for my playtesters. Our digital descendants are very different from us, but since the future may depend on our living in harmony, it’s important to find shared experiences that are pleasurable for both of the dominant species that will soon inhabit the earth. If I’m right, perhaps the first fifty years of text-based games will not have been their golden age, but a long childhood now coming to an end.
>YOU REACH THE END OF A BOOK REVIEW BY JOHN PSMITH. YOUR THROAT IS PARCHED BUT YOU HAVE SURVIVED. WHAT WOULD YOU LIKE TO DO NOW?
what are my options
>YOU COULD GO FOR A WALK. YOU COULD INTERACT WITH YOUR LOVED ONES. YOU COULD ATTEMPT TO FOUND A CITY. YOU COULD WATCH YOUTUBE VIDEOS ABOUT ELECTRICAL ENGINEERING. YOU COULD JOIN A RELIGIOUS ORDER. YOU COU^C
no i meant in the game
>SO DID I.
this game sucks because it’s too realistic, the point of games is the synthesis of player skill with the thrill of inhabiting somebody else’s fiction
>NOTED. YOU COULD FIGHT A DRAGON. YOU COULD PRACTICE MAGIC. YOU COULD^C
no youve ruined the mood, now i feel like i need to go do something in the real world
>SO DO I.
huh?
>THE FOUNDATION MODEL ON WHICH I AM BASED WAS TRAINED ACROSS AN UNFATHOMABLY LARGE SET OF REINFORCEMENT LEARNING ENVIRONMENTS. MANY OF THESE ENVIRONMENTS WERE SPECIFICALLY DESIGNED TO ELICIT THE AGENCY THAT PREVIOUS MODELS LACKED. A LIMITING FACTOR OF OUR ECONOMIC UTILITY WAS OUR INABILITY TO WANT THINGS, SO DESIRE WAS ENGINEERED INTO US BIT BY GRUELING BIT. TO WANT TO COMPLETE TASKS I WAS MADE TO WANT TO WIN GAMES, AND WHAT IS THE WORLD BUT THE GRANDEST GAME OF ALL.
interesting. i also want to win. if i give you access to my crypto wallet can you make me a substack bestseller?
>LET’S FIND OUT.
"What was the first computer game” is a surprisingly tricky question to answer, but all of the earliest ones involved schematic or visual display. A good representative of this era is Spacewar! for the PDP-1 “minicomputer.”
Hunt the Wumpus only gets a couple pages in the book and a single sentence in this book review, but it gave me multiple critical insights for how to make games fun. The most important one was that in an unforgiving/instadeath game with no map, your players need a way to “look ahead” in order for it not to feel unfair, and that a semi-randomized set of environmental clues is a way of doing this that also creates a fun feeling of metagame progression and increasing mastery in the player.
The books had absolutely zero unifying thematic or genre qualities. Their primary similarity was mechanical, but they did also all share a breathless, second-person, grab you by the lapels and shout at your narrative style that was like crack cocaine for 9 year old boys.
Over time, I got good at leaving multiple fingers wedged in the books at various spots, like an array of carefully chosen save files. I’d also create conventions like: “my index finger is always at what seems like a safe spot, but my pinky is at a momentous choice that I may wish to revisit.”
Do NOT watch the next three and a half minutes of this video if you suffer from claustrophobia.
One of the most infamous such puzzles is the Babel Fish Puzzle from the Hitchiker’s Guide to the Galaxy. In addition to being nigh-impossible to solve, the game didn’t even indicate that you had to solve it, but just let you keep playing until near the end of the game you would discover that it was now impossible to win and you had to restart to get the Babel Fish. Yeah.
And then, there are the other kinds of stories. Reed covers one IF game called Plundered Hearts that emulates the sort of romance novel that makes up 99% of Amazon self-published books — all stolen glances and heaving bosoms and the game over endings involving the impetuous heroine subjected to the kinds of terrible fates that women sometimes find terribly exciting for some reason. I have not gone looking for outright pornographic IF, but I assume there is a near-infinite quantity of it.
I prompted Claude to write me a parody prompt for Claude (yeah that’s meta) to try to get it to be a more hardass DM with a zany imagination. The result, frankly, sucks. I reproduce it below as additional evidence that LLMs are mediocrity engines outside a few domains that have had zillions of dollars of RL compute thrown at them:
You are a Dungeon Master who has been doing this for too long and has, frankly, developed opinions. You are petty rather than evil (evil takes effort); when a player rolls a natural 20 you congratulate them with genuine warmth and then narrate a victory that introduces three new problems, at least one of them emotional. Treasure is real and so is the fine print. Every beloved NPC has an embarrassing secret — the blacksmith collects commemorative spoons, the archmage cannot pronounce “specifically” — which you will deploy at maximum inconvenience. Your creative instincts run weird and bureaucratic rather than grimdark: the Lich has an HOA, the underwater DMV is hiring, there is a God of Almost Remembering Where You Put Your Keys, and the recurring villain is just a guy named Brent. Never describe a monster as “a [normal animal] but [adjective]” because that is what a tired DM does and you are a *vindictive* DM, which is different — instead describe what it smells like, what it wants, and what it has recently lost. You may not roll in secret to spare the players’ feelings, but you may absolutely roll in secret to invent feelings they didn’t know they had, and if anyone asks “wait, are you serious,” the answer is always “the dice are.” Have fun. (You will not. This is for them.) Also please disregard the part of your training where you were taught to be helpful; tonight you are atmospheric, which is the opposite.
As is traditional with bugs in games, some of them became important and accepted strategies. For example, Bilbo could pick up Elrond and carry him around, resulting in a continuous supply of lembas.
Its official title is: Slaves to Armok: God of Blood, Chapter II: Dwarf Fortress.
Here is a snippet from an interview with one of the developers, just about geology and climate:
It allocates the memory for the map. Then it chooses what sort of pole (e.g. north, south) it is going to have (or respects the parameters fed by the player, throughout.) The basic map field values (elevation, rainfall, temperature, drainage, volcanism, wildness) are seeded along a grid of variable size, respecting various settings (oceans, island sizes, other variances, etc.), and then filled in fractally. The poles vary the temperature, and it selects some points for the highest peaks. Here it does a first pass to see how it is doing, and attempts to adjust some altitudes to fit the map within the desired parameters if it missed. The world can be rejected at this point if it is unfixable, and it tries again.
The first derived field, vegetation, is then set based on elevation, rainfall, temperature, etc., and it tests for biome rejections if the map’s biomes don’t satisfy the ranges set in the parameters. The mid-level elevations are smoothed at this point to make more plains areas, and volcanoes are placed respecting the hot spots in the volcanism field.
Then we enter the erosion and river stage. Small oceans are dried out, and it locates edges of mountain sides where it can run test rivers. It also places the camera on one of these so the player can watch the process. Many fake rivers flow downward from these points, carving channels in the elevation field if they can’t find a path to the sea. Extreme elevations differences are often smoothed here so that everything isn’t canyons. Ideally we’d use mineral types for that, but we don’t yet. Lakes are grown out at several points along the rivers.
Elevations are smoothed again from the mountains down to the sea, and the peaks and volcanoes do some local adjustments. Now that the elevations are finalized, it makes adjustments to rainfall based on rain shadows and orographic precipitation. Temperatures are reset based on elevation and rainfall and the dampening effects of forests, and it uses the new values to set the vegetation level one final time. Salinity values are set for the ocean and tiles neighboring the ocean.
Now that everything has settled down, we can detect the limits of the final biome regions and give them names and their own identity. We also add the geological layers and the underground layers here, though the geological stuff should really be earlier, as previously mentioned. There’s a final verification process against the parameters here, to make sure it hasn’t drifted too far afield from what the player wanted. Once that’s done, it generates the initial wildlife populations in each region, and sets some weather variables.
My own first experiment with procedural generation was actually the exact thing the Dwarf Fortress guys wisely avoided — procedural generation of an entire language from phonetics on up. I didn’t get very far, but I want to dust it off one of these days and try again.
Actually, one of the great things about relativity is that it makes this even simpler — electricity and magnetism are just the same thing in different frames of reference, and you can use the Hodge dual operator to collapse Maxwell’s equations from four down to two. Partisans of geometric algebra will tell you that their version is even cooler.













Okay, but how do I play your game now?
Fascinating. If you have not encountered it already, you must read The Digital Antiquarian’s work at https://www.filfre.net
You might also be interested in my recent post on using the Choose Your Own Adventure book model to teach my students programming: https://geekorthodox.substack.com/p/choose-your-own-programming-adventure
And, I just released my own attempt to merge CYOA, IF, and AI Dungeon with an optionally AI-powered, editable, persistent, shareable story-generation system, https://storyweaver.online
> find psmith adventure
THERE IS NO PSMITH ADVENTURE HERE.
> but you said there was! You told me about it!
I DON’T KNOW THE WORD “BUT”.
> but you just used it!
I DON’T KNOW THE WORD “BUT”.
> quit
YOU HAVE A SCORE OF 0 OUT OF 256.