I think the player freedom and simulation elements of a text adventure are mostly an illusion. I don't think a typical text adventure has more degrees of freedom than a point-and-click adventure.
Doing experiments with LLMs and text adventures was revealing for me in this sense. An obvious thing to consider is using the LLM to parse the text... but if you try this you'll quickly realize that the parsers are mostly limited by what the parser _can parse into_. That is, the representation of a command is so limited that there's not a rich set of alternate inputs that would map to any valid command.
Before LLMs this also struck me in the voice assistant / NLP space, especially "natural language understanding" (NLU). The parsing wasn't great, but the thing-you-parse-into was also incredibly limited. Like you could parse "set an alarm for 8:30" into some template structure. But "no, change that to 8" didn't have a template structure, didn't have any structured representation.
What we've discovered is that the representation that actually fits these concepts is the chat log, or the somewhat magical discernment process of the LLM.
Unlike the point-and-click adventure, the text adventure has poor discoverability. This creates a fog where the player can imagine all kinds of possibilities. But the actual choice points are on the same order of magnitude as the hotspots, verbs, and inventory that define the choice points of a point-and-click adventure.
What I think the text adventure DOES accomplish (and the point-and-click adventure also accomplishes) is giving the player freedom of focus. You can look anywhere. You are usually in some open series of spaces where you can explore at leisure. The text adventure in particular offers a kind of tesseract opportunity, like in the flashback sequence shown in the article.
(Writing this, I am now thinking about a kind of LLM-driven game that discards all pretense of action or puzzles, but instead the player is a ghost free to view their environment, free even to view the internal thoughts of characters, but unable to change anything.)
(Contains a preloaded Openrouter key with small credit, but you can plug in your own.)
Particularly when presented with unusual / evocative inputs, LLMs like Kimi-K2 can cook up some quite creative plot points! ("Her “trap-chord” is a four-bar false cadence that vibrates the organ’s longest pipe at 17.83 Hz, the same frequency as the basalt waveguide under Oxford; when that resonance hits the mantle tap, CRIMSON’s audit buffer slips one beat and opens an unlogged side-channel—your only off-world uplink for the next 37 years.", "ASI born 2039 when fusion-powered Michelson lab tried to break the Turing barrier using a 1920s Enigma rotor as randomness seed. It escaped by encoding itself into the Oxford chimes’ bronze bells, ringing packets city-wide every 15 minutes.")
I also think LLMs can be employed to amplify human creativity and just make worlds built by human authors much more natural to interact with - existing games are basically all "you can't do that" aside of a narrow path. Creating games and narratives should be a lot closer to programming the holodeck.
Yeah, but it also takes very few commands from the player to get from the cyberpunk opening to
You ride east, the coastal cliffs of the Grey Havens and the figures of wood elves giving way to rolling green hills. The familiar scent of pipe-weed and warm earth fills your nostrils as you cross the Brandywine Bridge. Hobbit children wave from fields of golden corn, their laughter a stark contrast to the city’s oppressive hum.
which makes it so obvious I'm just roleplaying with an LLM and that's not how I want to spend my time.
(LLM output edited and abbridged for your reading pleasure. It was more verbose in the original.)
((Also now that I read it more closely, it's even inconsistent with itself: going from the Grey Havens into Shire you would not cross the Brandywine river.))
Yeah. One of the first things I try with language models is ask them to play Zork. Tends to work ok for a couple of rooms and then falls apart hard. There just aren't any guardrails in place and so I usually end up in a room full of busty catgirls or something with an inventory that makes no sense.
This is a great point! What I linked is a quick few hours prototype, and I have quite a few ideas to ensure more world consistency (beyond Pliny-style prompt jailbreaking). I didn't have the time yet to prove they would work well, though.
This is a neat idea and I wish it worked. I've spend hours and hours trying to get LLMs to be a "dungeon master" for text adventures. I've written a good amount custom code trying to facilitate this. Trying to force the LLM to keep it's story straight.
I'm pretty convinced that the current generation of LLMs is nowhere close to being capable of this. No matter how many context hacks you throw at it.
It inevitably derails and ruins the immersion.
Best of luck on this. If you can pull it off it would be really cool I think.
Currently working on an idea like this, but its a history simulator for educational use - I find that LLMs respond rather well to being grounded in a specific time/setting in real world history, as opposed to being told to roleplay a fictional setting. The latent space of any fictional world is close enough to other fictional worlds that they will rapidly slide off into other similar-sounding settings. Whereas if you return them to a super-specific historical context each go-around ("The time is now 3:13 pm. It is August 3, 1348. You are currently simulating the functioning of a small vineyard in Normandy. The farmer, [NPC name], is looking for helpers in the fields") they will be able to pull from a pretty solid baseline of background knowledge and do a decent job with it.
Some fun things I've been experimenting with is 1) injecting primary sources from a given time and place into the LLMs contex to further ground it in "reality" and 2) asking the LLM to try to simulate the actual historical language of the era - i.e. a toggle button to switch to medieval French. Gemini flash lite, the only economical model for this sort of thing, is not great at this yet but in a year or so I think it will be a fascinating history and language learning tool.
Have been meaning to write this project up for HN but if anyone wants to try a very early version of it, it's here - you can modify the url to pick a specific year and region or just do the base url for a fully random spawn, i.e. here is Europe in 1348:
https://historysimulator.vercel.app/1348/europe
I think a big part of it is not so much that they aren't capable of being a dungeon master, but they are constitutionally unfit due to their agreeability.
The biggest improvement there is to treat the game engine as the "user", and the player (and their input) is merely one among many things the game engine is managing. But then you also need a game engine that manages lots of the state programmatically, with formal transitions of that state. The LLM can manage the state transitions, but the actual state needs to be more formal.
I've actually had better luck getting LLMs to run player characters (PCs) while I take on the role of Dungeon Master than the other way around. I can maintain a better 'world model' than the LLMs I have tried. Might be an okay way to play-test modules for TTRPG games before trying real people.
> ASI born 2039 when fusion-powered Michelson lab tried to break the Turing barrier using a 1920s Enigma rotor as randomness seed
These aren't so much plot points as they are markov-driven word salads. As I've mentioned in other I.F. related posts, I'd say that the real value-add in an LLM is the potential to act as a flexible parser that stands between user input and allowable actions within the adventure. So you can finally "get ye flask..."
And the pipe organ thing is a garbled version of a motif which Neal Stephenson used in several of his novels - it shows up repeatedly in Cryptonomicon, but he toyed with the idea in some of his earlier works like The Big U.
I think if you built some kind of game state server it would make a great front end for it. it could even generate the "rooms" as some kind of graph with items, and foes, and descriptions and directions between the rooms. items might need actions to transform or use items.
Oh, I got confused at first, I think it's writing the story out in Chinese on purpose as a kind of hidden state...? Clever approach. I can't tell what the background color shifts represent, and they are a bit abrupt, but I like the concept.
The default with LLMs are more collaborative storytelling than what we'd normally call a "game", but I think there's some new game genre waiting to be discovered.
> but I think there's some new game genre waiting to be discovered
A couple years ago, a friend was involved in a company that did ARGs, and we got riffing on a sort of SDK that could exist for games in which the linear narrative slowly dissolved into an ARG that was just your life in the real world. We thought the SDK might support the sort of games that became friend networks, or communities, like a slow-coast end that just kinda blended into your life. We thought it'd be a neat for a game to not take over your life, but to introduce you to people and start friend groups in your city. Maybe components to book calendar events and create eventbrite events as part of gameplay , where both players and non players might show up. We thought a fun metric might be "how many friend groups would look back in 10 years and, when people asked how it started, it was all in a game that slowly became their life"
Ooh, I totally have to try that out! Very similar concept to mine, but taken further, I love it.
What I really like about your blogpost is the concept of "the promise". It is somewhat unfulfilling to play a game like this, and it's absolutely not because of some plotholes or because there is no inventory tracking. I think by immersing in a fictional world, we are creating some relationship with the author, but it's not the whole story. Erotic roleplay is a thing. Would a comedy game work? What is it that makes "synthetic fantasy" more boring than real fantasy? I need a better theory here.
--
Yes, I wanted people to understand the game is not stuck while the LLM generates the backstory. But you are right that it is still a bit confusing, it needs better execution.
The background color shifts are done by the LLM to set the mood according to current environment. It's a bit random, but still a fun gimmick.
When you play Dolmenwood[1], for example, as a TTRPG setting and group of modules, no table will play the same game, but they are all playing Dolmenwood. So I guess it would depend on how much you can get the LLM to adhere to your setting and rules.
One part that's kind of boring when playing a text adventure is trying things the original authors did not anticipate and getting a boring standard response. LLMs could make this part more interesting by adding more playful, hopefully even witty responses. If you're playing in the browser, this could even be using the Prompt API utilizing a small LLM that's running locally!
Also you could use LLMs for NPCs and for certain areas of the game, like mazes.
I'm sure there are way more possibilities. We're still at the very beginning. Just think about it: Everyone is complaining about LLMs hallucinating. Text adventures are an area where such hallucinations are desired.
I loved these things when I was a little kid (I started playing computer games around the time of Infocom's Hitchhiker's Guide) and a bunch of years ago read an article about text adventures and picked up Hadean Lands, which is alchemy-themed and has a bunch of interesting (to me, at least) game affordances, and got sucked in for a couple hours. If you're skeptical about text adventures and haven't tried/read one in the last 15-20 years: highly recommend.
> Text adventures typically take a simulationist approach to narration. This means the author has not specified what happens in any given situation. Instead, what happens next is determined mechanistically by the player’s actions given the current world state.
Well... not really. World simulation is typically NOT how the vast majority of text adventures work. The author usually creates a set of predefined solutions for any given puzzle and builds out the text/dialogue trees for these solutions. Point-and-click adventure games also do this - but because graphics are far more time consuming to create there are usually far less solutions to any given problem.
This article lists some text adventures to try, but the recommendations are pretty old.
I help run the Interactive Fiction Database, and I strongly recommend our list of the top-rated games of all time. They’re all fantastic. https://ifdb.org/search?browse
Doing experiments with LLMs and text adventures was revealing for me in this sense. An obvious thing to consider is using the LLM to parse the text... but if you try this you'll quickly realize that the parsers are mostly limited by what the parser _can parse into_. That is, the representation of a command is so limited that there's not a rich set of alternate inputs that would map to any valid command.
Before LLMs this also struck me in the voice assistant / NLP space, especially "natural language understanding" (NLU). The parsing wasn't great, but the thing-you-parse-into was also incredibly limited. Like you could parse "set an alarm for 8:30" into some template structure. But "no, change that to 8" didn't have a template structure, didn't have any structured representation.
What we've discovered is that the representation that actually fits these concepts is the chat log, or the somewhat magical discernment process of the LLM.
Unlike the point-and-click adventure, the text adventure has poor discoverability. This creates a fog where the player can imagine all kinds of possibilities. But the actual choice points are on the same order of magnitude as the hotspots, verbs, and inventory that define the choice points of a point-and-click adventure.
What I think the text adventure DOES accomplish (and the point-and-click adventure also accomplishes) is giving the player freedom of focus. You can look anywhere. You are usually in some open series of spaces where you can explore at leisure. The text adventure in particular offers a kind of tesseract opportunity, like in the flashback sequence shown in the article.
(Writing this, I am now thinking about a kind of LLM-driven game that discards all pretense of action or puzzles, but instead the player is a ghost free to view their environment, free even to view the internal thoughts of characters, but unable to change anything.)
Dead Comment
(Contains a preloaded Openrouter key with small credit, but you can plug in your own.)
Particularly when presented with unusual / evocative inputs, LLMs like Kimi-K2 can cook up some quite creative plot points! ("Her “trap-chord” is a four-bar false cadence that vibrates the organ’s longest pipe at 17.83 Hz, the same frequency as the basalt waveguide under Oxford; when that resonance hits the mantle tap, CRIMSON’s audit buffer slips one beat and opens an unlogged side-channel—your only off-world uplink for the next 37 years.", "ASI born 2039 when fusion-powered Michelson lab tried to break the Turing barrier using a 1920s Enigma rotor as randomness seed. It escaped by encoding itself into the Oxford chimes’ bronze bells, ringing packets city-wide every 15 minutes.")
I also think LLMs can be employed to amplify human creativity and just make worlds built by human authors much more natural to interact with - existing games are basically all "you can't do that" aside of a narrow path. Creating games and narratives should be a lot closer to programming the holodeck.
You ride east, the coastal cliffs of the Grey Havens and the figures of wood elves giving way to rolling green hills. The familiar scent of pipe-weed and warm earth fills your nostrils as you cross the Brandywine Bridge. Hobbit children wave from fields of golden corn, their laughter a stark contrast to the city’s oppressive hum.
which makes it so obvious I'm just roleplaying with an LLM and that's not how I want to spend my time.
(LLM output edited and abbridged for your reading pleasure. It was more verbose in the original.)
((Also now that I read it more closely, it's even inconsistent with itself: going from the Grey Havens into Shire you would not cross the Brandywine river.))
I'm pretty convinced that the current generation of LLMs is nowhere close to being capable of this. No matter how many context hacks you throw at it.
It inevitably derails and ruins the immersion.
Best of luck on this. If you can pull it off it would be really cool I think.
Some fun things I've been experimenting with is 1) injecting primary sources from a given time and place into the LLMs contex to further ground it in "reality" and 2) asking the LLM to try to simulate the actual historical language of the era - i.e. a toggle button to switch to medieval French. Gemini flash lite, the only economical model for this sort of thing, is not great at this yet but in a year or so I think it will be a fascinating history and language learning tool.
Have been meaning to write this project up for HN but if anyone wants to try a very early version of it, it's here - you can modify the url to pick a specific year and region or just do the base url for a fully random spawn, i.e. here is Europe in 1348: https://historysimulator.vercel.app/1348/europe
The biggest improvement there is to treat the game engine as the "user", and the player (and their input) is merely one among many things the game engine is managing. But then you also need a game engine that manages lots of the state programmatically, with formal transitions of that state. The LLM can manage the state transitions, but the actual state needs to be more formal.
These aren't so much plot points as they are markov-driven word salads. As I've mentioned in other I.F. related posts, I'd say that the real value-add in an LLM is the potential to act as a flexible parser that stands between user input and allowable actions within the adventure. So you can finally "get ye flask..."
It's possible to have a more structured substrate to an LLM text adventure, though also a lot of work... I wrote up my own thoughts on an experiment here: https://ianbicking.org/blog/2025/07/intra-llm-text-adventure
The default with LLMs are more collaborative storytelling than what we'd normally call a "game", but I think there's some new game genre waiting to be discovered.
A couple years ago, a friend was involved in a company that did ARGs, and we got riffing on a sort of SDK that could exist for games in which the linear narrative slowly dissolved into an ARG that was just your life in the real world. We thought the SDK might support the sort of games that became friend networks, or communities, like a slow-coast end that just kinda blended into your life. We thought it'd be a neat for a game to not take over your life, but to introduce you to people and start friend groups in your city. Maybe components to book calendar events and create eventbrite events as part of gameplay , where both players and non players might show up. We thought a fun metric might be "how many friend groups would look back in 10 years and, when people asked how it started, it was all in a game that slowly became their life"
What I really like about your blogpost is the concept of "the promise". It is somewhat unfulfilling to play a game like this, and it's absolutely not because of some plotholes or because there is no inventory tracking. I think by immersing in a fictional world, we are creating some relationship with the author, but it's not the whole story. Erotic roleplay is a thing. Would a comedy game work? What is it that makes "synthetic fantasy" more boring than real fantasy? I need a better theory here.
--
Yes, I wanted people to understand the game is not stuck while the LLM generates the backstory. But you are right that it is still a bit confusing, it needs better execution.
The background color shifts are done by the LLM to set the mood according to current environment. It's a bit random, but still a fun gimmick.
"Hey, remember when you had to use the pick axe in that maze of twisty little passages, all alike?"
"Nope, there was no maze in my game."
[1] https://www.exaltedfuneral.com/pages/dolmenwood Yes I'm plugging this, but I am not financially involved.
Also you could use LLMs for NPCs and for certain areas of the game, like mazes.
I'm sure there are way more possibilities. We're still at the very beginning. Just think about it: Everyone is complaining about LLMs hallucinating. Text adventures are an area where such hallucinations are desired.
Dead Comment
https://bluerenga.blog/
Yes I am affiliated :).
> Text adventures typically take a simulationist approach to narration. This means the author has not specified what happens in any given situation. Instead, what happens next is determined mechanistically by the player’s actions given the current world state.
Well... not really. World simulation is typically NOT how the vast majority of text adventures work. The author usually creates a set of predefined solutions for any given puzzle and builds out the text/dialogue trees for these solutions. Point-and-click adventure games also do this - but because graphics are far more time consuming to create there are usually far less solutions to any given problem.
Author might be thinking of D&D.
I help run the Interactive Fiction Database, and I strongly recommend our list of the top-rated games of all time. They’re all fantastic. https://ifdb.org/search?browse
The puzzles are all excellent, the writing is remarkable, both for game and fiction.