top | item 45658333

(no title)

xpasky | 4 months ago

I have recently started experimenting with LLM-based text adventure setting: 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.

discuss

order

kqr|4 months ago

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.))

korse|4 months ago

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.

xpasky|4 months ago

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.

mathieudombrock|4 months ago

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.

benbreen|4 months ago

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

ianbicking|4 months ago

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.

SubiculumCode|4 months ago

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.

xpasky|4 months ago

Oh, great to hear it worked for you! I also want to try the role reversal soon.

vunderba|4 months 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..."

duskwuff|4 months ago

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.

sharemywin|4 months ago

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.

ianbicking|4 months ago

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.

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.

patcon|4 months 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|4 months ago

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.

the_af|4 months ago

If 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|4 months ago

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.

[1] https://www.exaltedfuneral.com/pages/dolmenwood Yes I'm plugging this, but I am not financially involved.

Tepix|4 months 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. 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.

wahnfrieden|4 months ago

You can have it create and reuse permanent world info as players explore it.

IT4MD|4 months ago

[deleted]