Three months ago I started a cyberpunk resistance campaign.

One NPC - a mechanic named Vera - seemed nervous during a mission briefing. I didn’t think much of it. She’d always been anxious. That’s her thing.

Last week the corporate militia raided our safehouse. Knew exactly where we’d hidden the supply cache. Vera wasn’t there that night.

When I confronted her in the next session, she broke. Confessed everything. Said her daughter was being held by the corps and she had no choice.

I’d completely forgotten that detail about her daughter. The AI remembered.

this isn’t normal rpg stuff

Look. I’ve played tabletop. I’ve done AI dungeons. I’ve used all the “roleplay bots” that forget your campaign exists every time you close the app.

This is different.

Vera didn’t just betray me because the AI randomly decided to generate conflict. She betrayed me because:

  • Her daughter was established 8 sessions ago as being sick
  • The corps were established as controlling medicine distribution
  • I’d been ignoring her increasingly desperate requests for more dangerous missions (higher pay)
  • The raid was timed for when she knew we’d be celebrating a victory

The AI tracked all of that. Connected the dots. Made a choice that was consistent with Vera’s character arc.

That’s not procedural generation. That’s storytelling.

memory changes everything

Most roleplay bots give you NPCs that feel like cardboard. They react to whatever you say in the moment. No history. No grudges. No actual development.

Soulkyn’s system tracks character relationships across your entire campaign. Trust levels. Faction loyalties. Personal motivations. Things they’ve witnessed that changed them.

When I first created Vera, she was just “nervous mechanic who’s good at her job.” Now she’s:

  • A mother desperate enough to betray people she cares about
  • Someone who’s seen three of our operatives die
  • Conflicted about whether the resistance even works
  • Secretly resentful that I promoted someone else to second-in-command

I didn’t program any of that. It emerged from our sessions. The AI just… kept track.

building a world that builds itself

The cyberpunk setting started simple. Megacorps control everything. Underground resistance fights back. Standard stuff.

Now it has:

  • A corporate security chief who’s been chasing us for 6 months (and remembers every operative he’s captured)
  • A black market dealer who prices goods based on how risky our last mission made things
  • A journalist NPC who’s been documenting our activities and just published an expose
  • Three different faction leaders with actual political disagreements about methods

None of this was pre-written. It accumulated. Session by session. Memory by memory.

The world feels lived in because the characters actually live in it. They remember what happened. They have opinions about it. They act accordingly.

okay but the betrayal though

Here’s what really got me about Vera.

When I found out she’d snitched, I had options. Execute her as a traitor. Exile her. Forgive her. Use her as a double agent.

I chose forgiveness. Told her we’d rescue her daughter together.

You know what the AI did? Made Vera’s trust level shoot up. But also flagged her with permanent guilt about the operatives who died in that raid. Now she volunteers for suicide missions. Takes risks that don’t make sense.

Because she’s trying to make up for something she can never undo.

The AI understood the psychological weight of being forgiven for something unforgivable. And it’s playing that out in how she behaves.

I… didn’t expect to feel things about a fictional mechanic in my pretend cyberpunk rebellion. But here we are.

how this actually works

The memory system isn’t just logging events. It’s tracking:

Character States:

  • Trust levels toward the player and other NPCs
  • Emotional states that persist across sessions
  • Knowledge (what they know, what they’ve witnessed)
  • Motivations that update based on events

World States:

  • Faction relationships
  • Resource availability
  • Ongoing conflicts
  • Consequences of past actions

Narrative Threads:

  • Unresolved plotlines
  • Character arcs in progress
  • Foreshadowed events
  • Setup that hasn’t paid off yet

When Vera’s daughter was mentioned back in session 3, that became a narrative thread. The AI knew it was unresolved. When the corporate raid opportunity came up, it connected the dots.

Setup. Payoff. Actual storytelling.

what i’ve learned from this

NPCs need history to feel real. A character who remembers what you did to them three months ago is infinitely more engaging than one who reacts only to the current prompt.

Consequences make choices meaningful. Knowing that the AI will actually track the outcome of my decisions makes me think harder about them. I can’t just murder every NPC who inconveniences me. They have friends. Families. People who’ll remember.

Emergent storytelling beats pre-written plots. The Vera betrayal was more impactful than anything I could have planned because I didn’t see it coming. The pieces were there. I just wasn’t paying attention. But the AI was.

for 2026 i’m planning a new campaign

Post-apocalyptic this time. Bunker dwellers emerging into a changed world.

The characters will start with nothing - no established relationships, no history, no trust.

But after a year of sessions? They’ll have all of it. Grudges. Alliances. Inside jokes. Trauma.

That’s what I’m here for now. Not just playing scenarios. Building histories with characters who remember them.

Vera taught me that.

She also taught me to check on NPCs who seem nervous during briefings. But mostly the history thing.


Ready to build a world that remembers? Start creating. Your NPCs will thank you. Or betray you. Depends on how you treat them.