7 ms·
I have recently started experimenting with LLM-based text adventure setting: https://pasky.or.cz/ourtober25/crimson/ https://pasky.or.cz/ourtober25/crimson/ (C
by xpasky 11mo ago
I have recently started experimenting with LLM-based text adventure setting: https://pasky.or.cz/ourtober25/crimson/ https://pasky.or.cz/ourtober25/crimson/
(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.
- the_af 11mo agoIf you use an LLM for your text adventure, how can you make sure two people experience the same game? "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."
- SubiculumCode 11mo agoWhen 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. [1] https://www.exaltedfuneral.com/pages/dolmenwood https://www.exaltedfuneral.com/pages/dolmenwood Yes I'm plugging this, but I am not financially involved.
- the_af 11mo agoHeh, I was just browsing Exalted Funeral for unrelated reasons! Re: TTRPGs... I think that's difference. There's no expectation that when two groups play a D&D session, even with the same module, that the story will play out the same (note: I never played one of those strict adventures with predefined story beats). But with computer games, which includes Interactive Fiction (the modern name for text adventures), you do expect the same experience. People remember Planetfall because of the story and how it plays out. People remember that in Colossal Cave Adventure there was "a maze of twisty little passages, all alike", so much so that it became a bit of early internet/hacker knowledge. I think you lose this if the LLM is making up too much stuff, and so far it's proven very hard to reign them in.
- zem 11mo agomight end up with something more akin to nethack than to colossal cave.
- wahnfrieden 11mo agoYou can have it create and reuse permanent world info as players explore it.
- the_af 11mo agoBut can you reign it in? LLMs are frustrating, they tend to go off the rails.
- Tepix 11mo agoOne 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.
- the_af 11mo ago> 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. This happens mostly with old text adventures. Modern Interactive Fiction is really sophisticated, and you don't get many boring responses. Example: in "Spider and Web", you're a captured spy being interrogated by your captors. If you say random gibberish, your interrogator will tell you (playing the role of the parser, but in a more interesting way). If you say something nonsensical, your interrogator will say "I'm losing my patience. No, that's not how it went", etc. Parsers are really, really sophisticated and they can make sense of contextual, unsaid information (or ask for clarification). For more than a few decades, parsers no longer reply "you cannot do that".
- FumblingBear 11mo agoThanks for mentioning Spider and Web. It's by far my favorite modern take on a text adventure. There were a few moments that really blew my mind when I figured out how to progress. Highly recommend anyone who is intrigued by the premise to just jump in and give it a go!
- Tepix 11mo agoIsn't it true though, when you do something the author didn't anticipate, you get a set of standard responses? If not, perhaps it's already using a LLM?
- SubiculumCode 11mo agoI'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.
- xpasky 11mo agoOh, great to hear it worked for you! I also want to try the role reversal soon.
- SubiculumCode 11mo agoTo be clear, I have not tried it with any sophistication. Its just as DM/GM, and if you can get the LLM to accept that DM/GM is the last word, aka GOD,, then you can maintain the world..keeping things on the rails better. But its something I am thinking about for alpha play-testing tabletop modules. My brother and I have a side business (Hexbrawler Games [1]) and we are currently writing a Maussritter[2] mouse TTRPG adventure hexcrawl set in 1930-50's Appalachia. [1] https://hexbrawler.com/ https://hexbrawler.com/ [2] https://mausritter.com/ https://mausritter.com/ A great game!
- kqr 11mo agoYeah, 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.))
- xpasky 11mo agoThis 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.
- bongodongobob 11mo agoI ended up giving up. It's incredibly hard to keep it on track but also let the user be creative. At any time I could just say things like "I jump into the lake" or "I open the chest" even though neither one was mentioned, and it would happily continue on. I found myself pretty far down the generate a JSON scene full of JSON objects to interact with and quit - because at that point, you're just writing a game engine.
- korse 11mo agoYeah. 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.
- mathieudombrock 11mo agoThis 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.
- benbreen 11mo agoCurrently 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 https://historysimulator.vercel.app/1348/europe
- ianbicking 11mo agoI 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.
- IT4MD 11mo ago[dead]
- vunderba 11mo ago> 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..."
- sharemywin 11mo agoI 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.
- duskwuff 11mo agoAnd 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.
- ianbicking 11mo agoOh, 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. 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 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.
- patcon 11mo ago> 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"
- xpasky 11mo agoOoh, 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.
- khimaros 11mo agoanother attempt in this space https://github.com/ianb/intra-game https://github.com/ianb/intra-game