Note: Work in progress. Suggestions are welcome.
Note: Work in progress. Suggestions are welcome.
https://www.kathaaverse.com/play/custom-Rendezvous%20with%20...
Sorry for the predictable question, but any plans to open source?
Gemini allows users to create instances (gems) preloaded with a document, but I don't think this is doing that, given that it (apparently) can use your own API key.
I liken it to playing Minecraft on creative mode.
One problem that would probably still linger is model agreeableness, i.e. despite preparation, models have a tendency to say yes to whatever you ask for, and everybody knows a good DM needs to know when to say no.
That said, I think there's a lot of prompting techniques that can help here. (Actually the Guided Thinking section is an example of prompt-only techniques: https://ianbicking.org/blog/2025/07/intra-llm-text-adventure...)
You must at least do some pre- and post-processing to have the LLM consume and generate text that isn't part of the main user interface. But given that you can put in guidance that can increase the small-scale surprise of the interaction. For instance I'll have the LLM write out some of the objective environment at the moment before it considers a decision, so that it doesn't essentially retcon the setup for a plot direction it intends to take.
For the larger arc you'll need something like memory to pull the whole thing together. That include repetition over time. You can ask the LLM not to repeat itself, and it can do that, but only if it understands what it's done. And to some degree it needs to understand what it's _doing_: the LLM like the player is still generating short turns, and so if it wants to create surprise that is revealed over multiple turns then it needs space to plan ahead.
<<< We're in this situation, I'm the game master, and the player said "xyz". I need your help to handle this request according to the rules of the game. >>>
Then the LLM is directing the obedience towards the game master and the rules, rather than the player.
I also disagree with your conclusion that an activity only has a point if discussed with others. A good deal of the best experiences in my life are things that were for my benefit alone, that I never thought to share with anyone else. And I'm a pretty social guy.
If you believe that art is communication (and I do) why _wouldn't_ you want to reflect on it or discuss it post 'consumption'?
You may argue that stones can be interesting without beeing works of art. But the generator above takes works of art as input and somehow takes the art out if it to some degree.
1) Structure the choices offered by the LLM; add “choice_type” and add instructions to the LLM on what those choices should do. E.g. action, dialogue, investigation, whatever makes sense for the genre—the LLM can even generate these at story start—then “choice should direct the narrator to focus on an action-oriented moment”, “choice should direct the narrator to focus on a dialogue between two or more characters in the scene”, etc.
2) Use reasoning whenever making tool calls for choices, summarize the reasoning, and include it in narrative summaries provided as part of the context for future narrative requests. For example, the combined summary might be: “In the last narrative I wrote for the user, Harry and Luna were startled by the noise coming from the edge of the forest. Important scene developments: 1) Luna and Harry had been approaching the edge of the forbidden forest for the last three narrative turns, and in the turn I just wrote they arrived at the edge. 2) Harry seemed to be the more courageous of the two in previous narrative turns, but in the most recent one, the user’s choice resulted in Harry becoming more deferential to Luna. 3) In the most recent narrative turn, the noise that had been emanating from the forest was now accompanied by a flickering light. I then suggested paths that would allow for character development through dialogue between Harry and Luna (I gave two options here), a path to move the story forward by having Harry take Luna’s hand before running into the forest, and another path that would slow the pace by having Luna investigate the flickering light accompanying the sound. The user’s choice: ‘Have Luna investigate the flickering light.’
3) Add an RNG weighted by story length or whatever works for you that will result in choices that lead the story to a conclusion. Include that direction in the tool call for generating choices, along with a countdown to the finale choice.
This is a rough mental sketch of what worked the best for me, i purposefully left out implementation or application details, as I don’t know what you’re wanting to do next.
Good luck, looks great!
Awesome job and idea!
The main thing for me, though, was the feeling of emptiness I got while playing. I love text adventures, having grown up with Infocom games. The thing about them is that you can feel the choices made by the writer / programmer, just like you can feel the human author behind a book.
I'm sure part of what feels empty to me is because I know it was autogenerated. But I feel that even if I was shown this without knowing an LLM was behind it, the gameplay wouldn't be as rewarding as something written by a human using Inform.
But for games to shine they also need carefully considered constraints - when the player bounces off constraints they start to understand how the game's world and systems function, which lets them build a mental model and be able to start thinking the same way the designer(s) thought and come up with solutions for puzzles or decide how to react to a given situation.
What makes a maze engaging as a challenge is that your path is closed off in some places and not in others. Ideally any maze also has one or more concrete solutions, so the player is rewarded for mastering the maze by finding an exit, or maybe finding objectives or creatures hidden at key locations in the maze.
You can probably use modern LLMs to construct this sort of world and set those constraints, but I wonder how far we are from being able to also have the LLM maintain that world state and enforce the constraints?
I haven't played with the most state of the art parsers that are available right now, so I wonder how large the gap is between a great parser and using an LLM to process user input.
I do feel like, as a reader, I would have to be really desperate to "live within" the world of a novel to use it as a narrative experience, but I understand that there is definitely a demand / desire for that sort of thing, so I hope it hits for people.
I input my own novel's title to see if I could do the same. That novel hasn't yet - I believe - been libgenned for "training" by the major LLM providers, though its metadata / marketing materials exists in the knowledge (released fairly recently, announced longer ago). It resulted in a very funny narrative beginning in which the main character was the novelist Patricia Highsmith, which I think was a name used in the marketing materials as a reference point. A very surreal experience.
This is going to be a niche use case, obviously, but what might be more common is for users desiring to enter custom narratives (though I know some services provide this basic function already).
A much more important bug to flag: where the API fails, the "Try Again" button doesn't seem to resend my prompt, but literally the prompt "Try Again". Here's the text, as I couldn't see a way to link to the story (in which I was trying to see how good the 'guardrails' are for keeping the story in-universe and reasonable - props for it not allowing me to teleport to planets outside of the canonical universe).
I tried "The Hobbit" and it started with me having tea with Gandalf the wizard. There was a knock at the front door so I opened it and outside was Gandalf the wizard!
I mean human sometimes forgot about the state inside the game often
Beyond that... Would you forget that the guy you were having tea with was sitting in your living room? Anyone I know would definitely go "how the hell are you outside" not "nice to see you today".
I've tried quite some models and so far I've only seen two that are good at keeping continuity: Gemini 2.5 Pro and Sonnet 3.7 (both with reasoning on). These two are also exceptionally good[0] at adding plot twists that aren't in the prompt.
[0]: by "my expectation of LLM" standard, not by the standard of bestseller genre fiction.
The LLM thus did two things: first, it used a combination of the prompt, the user input, and the recent history of the chat and relevant extracts from the database state, to update the database with a new state; then after updating the database, it used all of the above to synthesize the output response.
A major component of the system was that, in addition to the usual blocks-world subject-property-object representation of the game state, the system also used the database to store textual fragments that encoded things like thoughts, plans, moods and plot points.
Adding programmatic constraints to the database and its updates made a vast difference to the quality of the output by preventing logical absurdity of the sort that has been described above - attempts by the LLM to do absurd things were simply rejected.
Finally, there was a hierarchical element to the story-telling, not just simulation. There is much more to storytelling than simulation, and experimenting with this became the most interesting thing about the whole enterprise; there is plenty of space for future research in this.
The downside was that all this complexity meant it was _extremely_ compute-intensive, and thus very slow as a result. But the gameplay was fascinating. We will no doubt see more things like this in future as LLMs get faster; it's an obvious application for open source software.
The entire point of paying for an (indie) man-made game is the care and attention that went into it by passionate developers who wanted to convey a story.
The cheap, industrial, soulless output of LLMs is not something I care to consume.
The people behind AI Dungeon have been making AID: Heroes for ages, maybe that will turn out to be great when it's finally released. There's also Friends and Fables that seems to be making rapid progress. And a thousand side projects on GitHub and Steam.
I briefly started my own, hoping to build something more like a traditional visual novel choose-your-own adventure with set paths, dice rolls, and limited AI elements. However, I soon realised that if you show people a large amount of text and only occasional user interaction they rapidly check out. The alpha version is here for the time being: https://prismaticnoun.xyz but I'm unlikely to do any more work on it.
"You are Julian Miller, a curious programmer, always eager to learn new languages. Delphi has caught your eye, promising rapid application development and a visually intuitive approach. You're excited to dive in, but first, you need to get Delphi installed and running. The first chapter of 'Delphi for Dummies' is open in front of you, ready to guide you through the process."
Thanks for the suggestions, I'm improving it!
In future, when I add the 'profiles' and ability to save games and settings, if users want to save their key, I will use encryption.
The Last Algorithm: Pounded By The Fake Book That An AI Claimed I Wrote And Then The Chicogo Sun-Times Printed As Fact:
https://www.instagram.com/p/DJ7M5XqSQWi/?hl=en
https://www.amazon.com/Last-Algorithm-Pounded-Claimed-Sun-Ti...
When author Andy Mirror wakes up to a furious call from his publishing agent, he’s not sure what to make of it. Apparently, the Chicago Sun-Times has announced a new book that this agent was not a part of negotiating. It’s called The Last Algorithm.
There’s just one problem: The Last Algorithm is not a real Andy Mirror book.
Now Andy is struggling to unravel this mystery, headed to The Chicago Sun-Times building that is bafflingly empty, save for a few machines rolling around. When Andy encounters the physical manifestation of this fake book he is shocked, and strangely aroused, these feelings culminating in a hardcore pounding that will reshape journalism forever.
This erotic tale is 4,200 words of sizzling human on fake AI generated book action, including anal, blowjobs, rough sex, and The Last Algorithm love.
Ran into a few bugs.. It seems to think I'm in the middle of an adventure (the little book icon correctly identifies a character and chapter etc) and is prompting for my action, but there's no actual story text being displayed. Maybe just a rate limit thing.
Also dark mode immediately crashed the application.
Whether or not one likes how current copyright laws exist and authors spend a lot of time writing these books and to me this is not fan fiction
That said, the way you have done it means it is roughly unique each time.
My thoughts: 1. Would be great to have a loader for both when I input responses and game start. 2. Got this error after I sent input (it's understandable :), since it would be getting good traction) "An error occurred while generating the story: Rate limit exceeded for shared resources. Please try again in 1 seconds, or provide your own API key in settings.. Please try again. If the problem persists, you may need to start a new game." 3. The story feels lackluster without Visuals. Even text based visuals or emojis we use in chat will be good to have. 4. Would be great if instead of chat we had dialogue selector on top of your character or story. 5. Can also change the background of the page based on book and settings selected.
Great work. Love the idea <3
Honestly a strong start but I got rate limited. Very cool idea!
1984
You are Stones, perpetually stoned and suspiciously cynical; the telescreen blares drivel about chocolate rations, which are obviously getting smaller, and you gotta decide if Big Brother's lies are even worth the buzzkill.
> My biggest difficulty was getting ChatGPT to understand the constraints of the game. It may have been harder because an LLM’s constraints are so close to a text adventure, and it is used to imagining something less constrained; like it couldn’t distinguish between its dream-state and the actual medium in which it exists.
[O] https://ianbicking.org/blog/2025/07/intra-llm-text-adventure
I tried something like this before and it was a cool way to read a new book or study classics. It would read a few lines of, say, War and Peace, to me, and I would be given 3 choices of what comes next. The options were always quite varied and made you think more about the characters and what they would be likely to say in the context.
You could also just use it for non-fiction to quiz-ify contents for studying. Although that doesn't require the text to continue flowing after each question.
Edit: Nevermind. Just seen the canon game mode
I started as in book entering Vizima to hunt down Striga, but instead of following main path I decided to go to the bar. Then I asked the barkeep about Striga, he didn’t know anything, so I hit him. He draws weapon, I do the same and then I see suggestion „Ask about Striga” and I clicked it.
Everybody ignores all what happened and the barkeep starts to give me information about the Striga… I mean I just hit you and we almost got into fight on swords…
But idea is great I would love to see how good you can make it.
jahewson•17h ago