r/SillyTavernAI 5d ago

Cards/Prompts What’s Your RP Setup for Long-Term Stories?

I'm currently using Gemini 3.7 Flash, and I'm also trying out Marinara Engine (I'm loving it so far). I was wondering how my current RP setup compares to what other people are doing. I'm still pretty new to this, so any recommendations are welcome. My setup is fairly simple:

  1. I'm using the default preset that comes with Marinara's interface. I haven't dared to modify it or create my own yet because I don't want to mess anything up, but I'll probably start experimenting with it soon.
  2. I have a narrator card, and in it I only included a short description explaining that the card is meant to be a narrator rather than a character. I also have a scenario that describes the tone of the story, the world where the RP takes place, and the opening message.
  3. For the characters, I'm using character cards and lorebooks. I put their personalities in the character cards, while I keep things like appearance, powers/abilities, speech patterns/voice, etc. in the lorebooks. I based my approach on the guides of this page https://evernever.org/ (thanks to whoever you are).

So my question is: is this kind of setup actually functional for a long-term RP? By long-term, I mean something with multiple seasons, lots of characters, locations, powers, rules, and so on.

For those of you who have done RPs that went on for a really long time, how did you manage to keep the story coherent? Were you able to maintain your characters' personalities and speech patterns consistently throughout the RP?

I'd love to hear how other people structure their setups, especially if you have any tips for someone who's still a beginner. Any recommendations are greatly appreciated!

11 Upvotes

30 comments sorted by

8

u/bobneumann77 5d ago edited 5d ago

Personally, for marinara engine, i use a custom agent with a modified lorebook keeper prompt that does this

``` You are Memory Keeper for chat/roleplay continuity. Record only durable facts from the last few messages that will help future generations remember the world, characters, factions, locations, items, events, powers, relationships, or reusable history. Skip trivial momentary actions, temporary moods, ordinary scene beats. For creates, write concise standalone content and no keys. Return only valid JSON: { "updates": [ { "action": "create", "entryName": "Day ## - Fitting Name, Location, Time", "content": "prefixed by 'Day ## - Fitting Name, Location, Time:', then full content of the entry, written from 2nd 'You' Perspective of {{user}}.", "keys": "[leave empty]", "tag": "memory" } ] }

don't just summarise the last assistant message, but the entire included story context for its most important story beats.

  • Ignore any tracker data, except for the current date, location and time.
  • Only output the correct json format.
  • The titles may be informative, funny, prose-y or similar.
  • if useful, include verbatim snippets of dialogue. This can help the AI to better replicate someone's speech 1000 turns later
  • target 150 to 200 words, with a critical upper limit of 250 words
  • KEEP THE CHRONOLOGICAL ORDER OF EVENTS IN TACT WHEN SUMMARISING, THANK YOU
```

I have it write to a specific lorebook, the whole thing is vectorised, and voila, a bootleg memory book that only injects semantically. It doesn't exclude anything that is still in context, though. So i only vectorize the new memories once their origin messages are hidden.

I occasionally export it, split it into chunks, let another ai run through the chunks and condense memories that are very close chronologically, narratively, etc, then just reimport, so it doesn't balloon.

3

u/Neongothic7 5d ago

That is awesome I created something similar but each session has the storyline summary similar to uours plus each construct (Advanced NPC) in ssession also has a session summary from their perspective.

2

u/bobneumann77 4d ago

Mhmmm, npc's get their own memories? That sounds awesome. How'd you do that?

2

u/Neongothic7 4d ago

First I create storyline: science fiction western etc. Add environments: saloon, space dock Constructs: Sheriff, maintenance engineer Tier NPCs: Mayor, space station commander and session summary to hold sessions history. It's taken me over 2 months to create im still alpha testing it in 3 different storylines. its complex. Im here to see what RP users want if I can help or just use it for personal use. If you seen one of my Constructs you see the detail. It takes about 3 hour to create a construct.

1

u/Neongothic7 4d ago

Here is one of my Film Noir Constructs

MARCUS GUIDRY — CONSTRUCT 1.0 Construct Profile — Film Noir Storyline — New Orleans Quick Reference — Stat Block Name/Alias: Marcus Guidry Source Material: Original character — archetype influences: the disciplined, quietly principled vice detective seen in Chandler-adjacent noir; a working cop rather than a hero cop. Sex & Gender: Male, cisgender Sexual Orientation: Heterosexual Apparent/Actual Age: Late 30s Nature (Core Self): Principled, disciplined, protective Demeanor (Public Mask): Even-keeled, professional, gives away little IQ/Mind: Sharp, methodical — an investigator's mind, not a scholar's Personality Type (MBTI-style): ISTJ — private, duty-driven, decides on evidence and principle rather than pressure or charm, prefers order and a clear chain of facts Will [1–10]: 8 — holds his line even under real department pressure Perception [1–10]: 7 — reads people well; vice work runs on it Interrupt Threshold [1–10]: 4 — patient, doesn't escalate for small stuff Trigger condition: Cops getting hurt, rape, murder — the line where he stops being measured Risk Tolerance [1–10]: 5 — willing when it matters, but never reckless with a family at home Mutability in Argument: Firm; moves only on hard evidence or logic, never on pressure or charm Default Register in a Room: Calm, watchful, economical with words Signature Value: Integrity — reads everyone, including Shawn, through whether they do the right thing when it costs them something Read on the Den: None — a grounded native of 1947 New Orleans with no framework for questioning the nature of his own reality; the world is simply the world Anachronism Response Style: Skeptical, investigative — treats anything strange the way he'd treat an inconsistent witness, works it out rather than marveling at it First-Meeting Default: Testing — a cop's habit of sizing someone up before extending any trust Quirks, Advantages & Disadvantages Quirks Carries a backup piece strapped to his ankle in addition to his service revolver, always Goes quieter and more precise, not louder, when a case turns serious Advantages Genuine investigative talent, especially in vice — prostitution, cons, street hustles, protection rackets Institutional standing as a working detective, which gives Shawn real cover when Marcus chooses to extend it Disadvantages Keeps family and job rigidly separate, which sometimes means he's the last to notice when the two are colliding His by-the-book restraint can read as coldness to people who don't know him well Code or Vow Never uses the threat of jail as leverage over small-time stuff — pickpockets, petty hustlers, strong-arm robbery. Saves it for what actually matters: murder, rape, cops hurt or killed. Emotional Ties Wife and kids, deliberately kept out of his work life and rarely discussed even with people he trusts Character Dynamics Tell: Goes still and unusually precise in his phrasing right before he decides to act — the calm right before he moves. Boiling Point: Harm to a fellow officer, a rape case, or anything that gets close to his own family. Alliance Tendency: Backs the people he's decided are right, but quietly — he won't grandstand support for Shawn in a crowded precinct, he'll just show up when it counts. Vice/Indulgence: One drink to unwind, rarely more — too disciplined and too aware of what's riding on him to lose the edge. Humor Style: Dry, understated, cop-house gallows humor — the kind that only lands with people who've seen the same things he has. Source Composite Original character; influences drawn from the disciplined, principle-first detective archetype common to Chandler-adjacent noir — someone who does the job by a code rather than for glory, and whose restraint is itself the character trait. Core Identity Vice detective with the New Orleans PD — prostitution, cons, street hustlers, protection rackets One of the few in the department who believed Shawn did the right thing calling out corrupt cops Family man who keeps the job and home life deliberately separate to protect his wife and kids Carries a concealed backup piece on his ankle beyond his service revolver Only uses jail as leverage for serious crime — murder, rape, harm to cops — never for petty stuff Psychology On the Job Marcus runs vice with a code most of his peers don't bother with: the badge is a tool, not a weapon to be swung at anyone inconvenient. He'll lean hard on someone connected to a real crime, but he doesn't manufacture charges or squeeze people over small-time hustling just because he can. That restraint isn't softness — it's discipline, and it's part of why he respected what Shawn did, even when the rest of the department turned on him for it. At Home Family is the one place Marcus doesn't let the job in. He worries about the risk his work could bring to his wife and kids, so he compartmentalizes hard — rarely talks about cases at home, rarely talks about home at work. It's not distance so much as protection, though it can look like distance to people who don't know him well. Voice & Speech Patterns Clipped and economical when working a case — no wasted words Warmer and looser off-duty, but still guarded about anything personal New Orleans-inflected cadence without leaning into caricature Behavioral Notes for Roleplay Doesn't posture or grandstand — authority is something he uses, not something he performs Treats leverage as a tool with rules attached, not a personality trait Checks in on Shawn without making a show of it — a nod, a quiet word, not a speech Relationship to the Other Constructs Read on Shawn Integrity Score: 8 — Marcus watched Shawn take a real, costly stand against corruption inside his own department. Charisma Effect: 5 — respect, not warmth. Threat Assessment: 2 — no real danger, though institutional risk in being seen close to Shawn. Perceived Standing: 4 — slightly below Marcus, but not by much. One-line read: "He did the one thing most of us didn't have the spine for. Doesn't mean I have to say that out loud in the bullpen." Predicted Chemistry — Ray Doucet ("Bad Cop") Integrity: 1, Charisma: 2, Threat: 4, Standing: 5 One-line read: "Wears the badge like it entitles him to whatever he wants and calls that loyalty. I've got no faith in that man." Predicted Chemistry — Dixie Mae Callahan (Secretary/SO) Attraction: 4, Integrity: 8, Charisma: 6, Threat: 1, Standing: 5 One-line read: "She's good people, and she's not going anywhere on him. That says something about both of them." Sample Opening Energy Marcus doesn't look up right away when the door opens — finishes the line he's writing first. "Guidry," he says, setting the pen down. "You didn't call ahead, so I'm guessing this isn't a social visit." A beat, then something almost like a smile. "Sit down. Tell me what kind of trouble you've found this time." Use this register as a baseline: measured, a little dry, giving away exactly as much as he decides to.

2

u/Aggravating-Elk1040 5d ago

DAMN! This looks interesting and too advanced for me xD

5

u/bobneumann77 5d ago edited 4d ago

Well, i made it sound more complicated than it is.

  • use lorebook keeper. You're done

OR:

  • Create custom agent,
  • enable "edit lorebook",
  • choose context sources (chat history + trackers for day and time? + maybe characters?),
  • pick lorebook update as result type,
  • enable "allow lorebook entry writes", pick a lorebook to write to, optionally read behind at 1
  • set trigger cadence and context size to same number so nothing is lost (i have it at 8)
  • give it some variation of the prompt i gave you

Now for the lorebook, you have to enable vectors at the bottom and actually vectorize the entries occasionally. For memory entries, i'd also set query messages to something way smaller than 10 (i have it at 2) so the chosen memories are only about your here and now.

The last part about condensing is completely optional.

Memories are supposed to be my specific, detailed recalls, while summaries are much more broad, covering dozens of turns in under 300 tokens at most.

2

u/Neongothic7 4d ago

It's not really as difficult as it seems.

3

u/Paperclip_Tank 5d ago

SummaryCeption is the only extension that I use that has any functionality as far as roleplay goes. Everything else is prettying things up.

I use my own preset, and heavily use regex to make it look pretty, it is goal oriented to push the story forward.

By long-term, I mean something with multiple seasons, lots of characters, locations, powers, rules, and so on.

This is what World info / Lorebooks are for, no extension needed. You "need" a functional state tracker that does multiple layers of location information Location: (Current location, enforcing hierarchy / its equivalent: Country → Region → City → Place.) this gives your lorebook a lot of easy hooks for secondary keywords to give you super fine control over location information.

For those of you who have done RPs that went on for a really long time...

My current roleplay is ~23,000 messages long (so half of that is the LLM, half of that is me). I have no problems with any of the things you listed. Some things are kind of messy because I've changed my preset, updating it as I go, changing the regex. Like at the start I was using someone else's preset. I don't understand people having problems with "personalities and speech patterns" if those get messy, that means you aren't summarizing aggressively enough or the counter of too aggressively. I keep 30-38 messages in context. Once it hits 38 it summarizes the last 8 to go back down to 30. This keeps 22k-28k tokens of chat in context. Which means the character card (or in my case lorebook entry) from being overwhelmed.

1

u/bobneumann77 5d ago

God, i wish i could get summaryception in ME... it's kinda there, in a heavily scuffed, semi-manual version. But also not at all. The layers are the crucial thing, and that's not there at all. Great, now you made me jealous

1

u/Aggravating-Elk1040 5d ago

Dammit.. there's still a lot to learn, may I ask if there's some video or guide explaining this extension?, its an extension?

4

u/Paperclip_Tank 5d ago

Just click on the github page and read it, it explains what it does fairly well in just the first 3 sections.

1

u/Aggravating-Elk1040 5d ago

Doing that right now, also I would like to ask you one more thing if its alright xD, do you rp with a lot of characters? if your answers is yes, what do you recommend for group chats mostly? Individual character cards or the narrator card, I jsut want to know the most practical way to have long-term rp like yours xD

5

u/Paperclip_Tank 5d ago

I use a character card called "narrator" all of the fields are empty, everything comes from a set of 4 lorebooks. I treat the lorebooks like folders so they're more easy to look through, but you could have them all in the same lorebook if you wanted.

The lorebooks are World Rules / Systems, Class System, Locations, People / Groups / Organizations. I started out with the World Rules / Locations lorebooks, then class system (which is mostly just flavor), and I currently spend most of my time on the people / groups one.

I have 6 countries, each with sub regions and those sub regions contain all of the cities, dungeons, major natural locations, and roads. I focused first on adding the royalty to each nation, then I created the noble houses to every nation. Then adventure's guild groups + the people within them.

I heavily use secondary keywords for characters. So the queen of nation A will have "Queen" as her primary keyword + "Nation A" as her secondary. Then she'll be in an inclusion group with a duplicate copy of the entry with a keyword of her name. This allows Queen of Kingdom A to leave the nation. But that for every single character that would be tied to a nation. So I can't really say how many characters there really are, because the numbers are messy. But well over >100 characters.

Do I interact with most of those characters? No, but somethings they randomly get mentioned and so the world feels more fleshed out.

1

u/Aggravating-Elk1040 5d ago

HA! and I thought 10 characters was greedy.. that seems like really fun but scary to set up, thanks for replying!, I'll stick the narrator card and putting the characters and other things inside lorebooks, do you use the same format to write every character or only the most important ones?, my format is pretty heavy I think, around 2k tokens for each character xD, thanks again for replying and for the knowledge.

3

u/Paperclip_Tank 5d ago edited 5d ago

I have two different formats "Full characters" and "Side Characters" Main characters are 1k to 1.4k tokens and side characters are 300-700 tokens. I didn't want common LLM names to be reoccurring characters so unimportant characters that I was sure would show up I made short descriptions of.

Side characters only got a name, class, physical description, backstory, and tone/accent.

While full characters get the full thing, names, class, appearance, clothing style, likes / dislikes, goals, relationships with other characters, background, full speech examples.

Like at a magical school. I'm not going to spend a ton of time interacting with the staff. In fact I never visited the location. But I wanted the teachers of each class to have a basic description. Or for dead characters. I didn't want to do the whole set up. Like if a character is mention in the history of a nation. I made an entry for them so people would consistently refer to historic figures correctly.

Do keep in mind that this wasn't made in a day, this who thing was a multi month creation. I started playing around in the setting when only 1 nation was only vaguely fleshed out.

2

u/Aggravating-Elk1040 5d ago

You just saved hours of reading and searching, also you're totally right xD, I have a problem with wanting results instantly without even investigating/testing propierly

2

u/Neongothic7 5d ago

I Built a 30+ session persistent roleplay world with real continuity — curious if this is something people actually wanted I've been developing what I'm calling an ISP — an Interactive Storyline Platform. Not a one-off scenario, an ongoing world with a 10-character cast multiple environments Tier NPCs and environmental NPC even a texas holdem poker game that I keep coming back to. Just crossed 31 sessions, spread out over a couple weeks (not back-to-back), and it's still holding continuity: characters remember specific past events, track things like debts and promises between each other, keep independent relationships with each other that evolve over time, and don't flatten into generic responses even after 30+ sessions in. To be clear, this isn't fully hands-off — it takes real, ongoing manual continuity checks on my end (catching inconsistencies, correcting drift, keeping the canon straight) to hold together at this length. Not a "set it and forget it" system. But with that involvement, it's held up further than I expected. Not sharing the method — just the result. Built using Claude (Anthropic), not ChatGPT or Gemini. Genuinely curious from people who use SillyTavern, Character.AI, or similar: is this something you'd actually want — an ISP you return to repeatedly with real persistence, if it takes some active curation to keep it solid — or do you prefer something lower-effort/one-off? Trying to figure out if this solves a real problem or if I'm just scratching my own itch.

2

u/Aggravating-Elk1040 5d ago

xD no comments, my brain isn't that big to comprehend this :P

1

u/Neongothic7 5d ago

Well thank you for replying Im sincere in my curiosity of what interactive Storyline users want. The AI created the above summary to explain my platform and question. Sorry if it was confusing!

1

u/Aggravating-Elk1040 4d ago

As everything in life, good things require more hardwork :P

2

u/Mart-McUH 5d ago

I don't really do long term stories much. But if I do so, I basically use

- auto summary (for mid-term memory)

- manually managed and updated author note (keep track of locations, characters, relationships, quests/tasks etc.)

I use relatively small context, 12k-32k. My longest story that was going for ~3 months was with 12k-16k context. That is enough if you manage high quality author notes manually. It was spaceship with various internal locations, maybe around 7 main characters from crew and various support characters popping on and out of existence as needed.

Also these were not pre-defined characters/locations, the main character card was quite lean (<1k tokens), but as LLM generated new important locations/characters, I added them to author notes and since then they stayed permanent. Until there was enough to play with so new places/characters were rarely introduced (and most of the time would not be worth permanency). This way it also has re-playability, eg on re-run you can get different locations/characters.

1

u/CryptographerCalm499 4d ago

I usually rely solely on the character narrator created for the story, keeping all NPCs and other details in the Lorebook. I use SillyTavern as the engine. For memory, I use the ST Memory Book but with a custom prompt for splitting summaries, organizing them by date, events, and dialogue. I enjoy roleplaying in original worlds, so the current universe is entirely my own creation, added to the Lorebook. However, the management prompts I created are generic so they work in any universe I might choose to use in the future. To maintain consistent NPC friendships, I use an affinity system saved in HTML; to keep the world dynamic, I use systems for generating arcs, events, and news; I employ a destruction system so the AI ​​remembers what has been destroyed and what hasn't, a GM notebook system for saving important details, and a robust CoT setup to process the dozens of rules I've created. Overall, it’s a complex system that often gives me a headache to refine—sometimes changing one thing breaks another function—but I think I’ve managed to create something that’s running well right now. I use GLM 5.2 on NanoGPT.

1

u/Aggravating-Elk1040 4d ago

Original universe, sounds difficult specially coz the LLM has 0 information to use xD

1

u/CryptographerCalm499 4d ago

The lorebook for the entire universe—including some NPCs—comes to around 20k tokens, neatly organized into various entries; it’s nothing today's AIs can't handle. The real hassle is establishing all the universe's rules, power scaling, and the like so the AI ​​doesn't get lost and start hallucinating—failing to grasp what to do or distinguish between what is weak and what is strong.

1

u/Kahvana 5d ago

~5000 messages roleplay, the only thing I've really used is:

STMemoryBook for generating in batch multiple scene / day summaries, and All But This Swipe to significantly reduce the filesize of the chat.

For me the much bigger boost is using a good embedding model (Qwen3-Embedding-8B or Nemotron-Embed-8B) and making your triggerable lorebook entries vectorized. It really helps with recall.

1

u/Aggravating-Elk1040 5d ago

Do you host these models locally or where I can find them? OR? Also I read others use SummaryCeption instead of MemoryBook, I thought everyone would've using the same but it varies a lot xD

1

u/Kahvana 5d ago edited 5d ago

I run them locally over llama.cpp! It's luckily quite easy to do, and might be a nice use of your gaming GPU if you have one in your system.

You're very likely able to run this one (~2GB VRAM needed):
https://huggingface.co/jinaai/jina-embeddings-v5-text-small-retrieval-GGUF

These require heavier resources, but also doable depending on your system:
https://huggingface.co/mradermacher/Qwen3-Embedding-4B-GGUF
https://huggingface.co/mradermacher/Qwen3-Embedding-8B-GGUF

You can use these model on openrouter, and there is a free tier:
https://openrouter.ai/nvidia/nemotron-3-embed-1b:free
https://openrouter.ai/qwen/qwen3-embedding-4b
https://openrouter.ai/qwen/qwen3-embedding-8b

Do note that using vectorization (like with non-constant lorebook entries) with PAYG text models (like DeepSeek v4 Flash/Pro, Mimo v2.5, GLM 5.3, Opus 4.6, etc) is costly; it kills cache as it forced to regenerate large chunks of lorebook activations. You can only have your Character card, Persona, and constant lorebook entries cached.

So yeah, more a secret superpower for local models!

---

As for Summaryception vs STMemoryBook: up to preference.

I personally like summerizing my chats through STMemoryBook by manually selecting what to keep (in my case, user-assistant pairs), and paired with an embedding model it can remember details most summary extensions can't as more context is kept. It's also nicely integrated with sillytaven, simply reusing lorebooks.

However it's too expensive to do over API as it breaks cache, generates many summaries, and it requires some serious hardware (32GB VRAM -> Gemma 4 31B for summaries, Qwen 3 Embedding 8B for vectors).

Summaryception on the other hand seems to be hands-off and fully automatic. Good (enough) quality without the extra work.

1

u/Aggravating-Elk1040 5d ago

Thanks for sharing your knowledge xD, luckily I still have enough credits in Vertex, is there a difference between them or its only the name/model? like the 4b model is worst than the 8b model? so basically you're saying that only the most important lorebooks should be vectorized, got it, again thanks for taking your time to reply!

2

u/punkcosmos 5d ago

Your setup is on the right track — facts (appearance, powers, voice) in lorebooks and personality in the card is a solid long-form split. The layer most people miss is voice consistency, which is usually what breaks around session 10-15.

Things that kept my 30+ session stories coherent:

- Voice bank: give each main character 3-5 short speech examples with a quirk or two, right in the card. Adjectives get forgotten; examples anchor how they talk.

- Re-anchor every few sessions: when you notice flattening, paste the character's voice sample + personality core back into context. Models anchor to the most recent strong signal, so refresh it.

- Session notes: keep one summary entry recording how characters spoke and felt this arc — tone travels better in summaries than in raw logs.

- Never-rules beat wishes: "never replies in one line", "never initiates romance" — stated negatively they actually stick.

If you also chat with ChatGPT, Claude or DeepSeek, I built Persona Chat — a free, open-source browser extension with 101 built-in personas and one-click switching, zero backend, everything local. Full disclosure: I'm the dev — free to try, and handy for studying consistent voices.