Blog
Guide to Roleplaying with AI: 4 Things I Wish I Knew

I started roleplaying with friends over a decade ago as a teenager. My first story, there were four of us. One played the BBEG (big bad evil guy), the other three tried to defeat him while managing the tensions in our own little group.
Recently, AI has made it possible to experience something almost as fun as that first story. But I see sometimes that people want to build these sprawling worlds with enormous casts like Game of Thrones. You don't need that. You need a small number of deep, alive characters.
I've spent the past year doing this across more models than I can count. Here are four things I wish I knew when I was getting started that would have saved me a ton of time.
1. Pick a great model
The model you choose is probably the single biggest decision that influences everything else.
If I had to recommend one model, it would be Claude Sonnet 4.6 (released Feb 2026). On the EQ-Bench Creative Writing benchmark, it's currently #1. Claude Opus 4.6 is #2 and three times the cost, so Sonnet is the sweet spot. For the first time, a Sonnet model is actually beating an Opus model, if narrowly.
The bigger thing to notice is the gap below them. GPT-5.2 is #3, but it's a big step down from both Claude models. Claude is in a league of its own for creative writing right now.
And the whole field is advancing fast. As long as you're using a recent model from a frontier lab, you're already ahead of where the game was six months ago.
If you want to run something locally, that's a whole different path. You'll need hardware that can handle it and a model that fits your VRAM. Plenty of good open-source options, but that's a separate guide.
2. Use the API, not the app
When you use Claude or ChatGPT through their apps, there's a system prompt running behind the scenes. A system prompt is the set of instructions the AI reads before it ever sees your message. It shapes how the AI behaves and what it will and won't do. Claude's app system prompt is over 16,000 words, and its core instruction is: be a helpful assistant.
A helpful assistant is not what you want writing your fiction. A helpful assistant hedges, qualifies, and asks if you need anything else. It's trained to be safe and agreeable, which is the opposite of good storytelling. Good storytelling needs characters who resist, situations that escalate, and an AI that commits to the scene instead of tiptoeing around it.
When you use the API directly, the app's system prompt is gone. You write your own. You tell the AI exactly what it is: a game master or a narrator, with whatever rules you set. You also get to control temperature (how creative the output is), response length, and other parameters the app decides for you.
The tradeoff is that the API is more technical to set up. Tools like SillyTavern, OpenRouter, or Dunia use models through the API with a friendlier interface. Worth looking into if you don't want to deal with raw API calls.
3. Plan your story before you play
Planning can take just ten minutes, but spend them on the right things.
Start with a light pass on setting. "Fantasy world" or "near-future sci-fi" is genuinely fine here. You don't need a three-page history of the kingdom. The setting gets its texture through your characters, not the other way around.
Then spend most of your time on characters. This is the part that actually matters. Pixar has a rule: give your characters opinions. Passive and malleable is poison to the audience. The same applies here. An NPC who agrees with everything you say is furniture. An NPC with their own agenda is a person.
Every character needs a want and an obstacle. "James, spy for the resistance. Want: expose guild corruption. Obstacle: his sister works for the guild."

And here's what Pixar gets right about the characters we actually love: they're not good at everything. They have flaws. They don't win every time. But they keep trying, and there are real motivations behind their efforts. How they throw themselves against obstacles and try to overcome them is what makes us care. Build your characters with that in mind: give them wants, give them flaws, and make the obstacles real.
Notice how the setting starts to build itself through the characters. James is a spy for the resistance, so now there's a resistance. His sister works for the guild, so now there's a guild worth opposing. You didn't need to write any of that lore separately.
Finally, give it a conflict. Conflict is the engine of a good story. What's the central tension? Who's the antagonist? What are the stakes? You can do a slice-of-life roleplay where you're just experiencing a different life, and that's valid. But if you want a story with progression, you need something driving it forward.
One way to do this is to ask the AI to interview you to plan the story. You can even share this post with the AI.
4. Set the standard
This is where the craft lives. You can use the best model in the world, but if your prompt doesn't set the right rules, you'll get mediocre output. There are a few big questions to think through:
How much should the AI control your character?
My answer: not at all. The AI should never write your character's actions, dialogue, or inner thoughts. It should never move you somewhere unless you said you're going there. If your message says your character is "considering" something, nothing should happen yet.
You act, the world reacts. This boundary is what makes it feel like roleplay instead of a novel the AI is writing about you.
How alive is the world?
The default AI behavior is turn-based. You say something, it responds, then it waits. The world freezes between your messages.
Push against this. Tell the AI that the world keeps moving. NPCs pursue their own goals. Consequences of past choices develop. Situations change whether you're paying attention or not. A rumor arrives, a guard shifts positions, or an NPC shows up with a problem of their own. This is the difference between playing a game and living in a world.

How do you fight the "nothing happens" problem?
This is the #1 session killer. The AI writes three paragraphs of gorgeous description and nothing actually changes. The scene is atmospherically rich and narratively dead.
The fix is a rule I put in every prompt: before every response, ask yourself what is different by the end. What does the player know, feel, or face that they didn't before? If the answer is "nothing," either make something happen or skip ahead to the next moment that matters.
How do NPCs feel real?
Three rules. First, NPCs can only know what they've directly observed or been told. The shopkeeper doesn't know about the uprising across the kingdom. Default to ignorance. Second, every NPC has their own problems that have nothing to do with you. Third, NPCs should sometimes disagree, misunderstand, or say no. If every character gives you exactly what you want, there's no story.
Putting it all together
Here's a minimal prompt that captures the core ideas from this guide:
You are the game master of an interactive story. Follow these rules:
- Never write my character's actions, dialogue, or thoughts. Only describe what I perceive and the consequences of my declared actions.
- Before every response, ask: what changes by the end? If nothing changes, make something happen or move forward.
- NPCs only know what they've directly witnessed. Let them resist, disagree, or surprise me.
- Give every NPC their own wants, flaws, and problems that exist independently of me.
- The world doesn't pause. Between my messages, NPCs act and consequences develop.
All of this is a lot to set up, and honestly it took me a long time to get right. That's actually why we built Dunia. It bakes all of these principles in out of the box, so you can just focus on the story. You pick a model, plan your characters with wants and obstacles, and the system prompt handles the rest.
But no matter where you're writing your stories with AI, the craft of getting better output is worth practicing.
I honestly believe there are few experiences more peak than living through an amazing story. Try it out, and come tell us about it in Discord.