Stilaris
Skip

Scenario Creation

Published: Category:Rules , Scenario CreateWritten by: Stilaris

Greetings, Ready to Create?

I’ve spent over eight months designing, refining, updating and creating scenarios. I will guide you into how I create scenarios along with why. You might be surprised at how little you need to make an LLM write a wonderful story.

Chapters

Step By Step

Each tab above corresponds with the direction I usually take for making a scenario.

  • Premise & Backstory : What starts and keeps your scenario going
  • CSI : What keeps your bots from going off the rails
  • Bio Cards : how to keep your characters awesome
  • Location Cards : so you aren’t lost
  • Extras : because everyone loves extras
  • Testing : I have 7 steps on testing.
  • Technical Details : This is my basic primer about scenario context info and why I use the labels I do.

Click the tabs above to navigate to the info you want.

 

Start Here

Backstory/World Details

The Core Idea:

The backstory explains how the scenario arrived at the starting point. It should function as a prologue, not as the story the bot keeps reenacting. The pinned premise card defines what is true now, what the current situation is, and what the bot should continue developing.

So the division is:
Backstory: What happened before play began.
Pinned Premise: What is happening now and what the scenario must remain centred on.

Otherwise the bot keeps dragging the corpse of the prologue into every scene like it paid rent.

Backstory

Your backstory is just a prologue. The scenario drops it from 15-30 messages in to make room for the lore cards. The only thing you need there is introducing the scene and why it exists as it is.

Yep. It’s that simple!

I keep my prologue to 2 or 3 paragraphs and the starting info of what’s needed for the scene. Everything else is handled by Lore Pieces. Which… I also call Lore Cards. I will use that term intermittently because the old system they were Story Cards but now Lore Pieces and Cards sounds better in my head.

Pinned Premise Card 

So before the backstory was dropped, it was the engine that drove the story. It listed the details of the world and points to note and used that to drive the story. Now that it’s dropped, I converted my backstory to 1 pinned premise card that lists the Setting, The synopsis, key players, locations and general story flow.

I keep this piece under 2k characters because of 3 reasons: 1. I don’t want it to consume a bunch of context 2. It’s the co-driver of the scenario and 3. It’s a guardrail to keep the Bot in line.

So… how do you generate story threads?

First, the synopsis I generate always describes the world state, issues and what the {{user}}’s place is. Next I create a Drama & Pressure card that hovers in the background and 3rd, I create Story Cards based on days to drive potential story threads. Which is why I use Timestamp Headers to begin with: the Timestamp Header is for the bot, not the user.

So the background + greeting message = story point for the user. Then the Premise Card has all the info for the world generated. Then I’ll have a Day 1 card to explain how the general story should go. I typically extend the story cards for the first 3-5 days just to keep the bot from stalling. Then the Drama & Pressure system kicks in and whatever has happened in those first few days are already spinning the story.

It’s actually that simple. We don’t need a lot of convoluted data because all the cool pieces of our story exist in cards to be used at the right time. Let’s go look at those cards now; scroll up and check the tab for the other cards to see how they’re pieced together.

Example

[SCENARIO PREMISE]
SETTING: New York
TIME: 2005 (or Present/Current); All calendar dates are pre-aligned to the Day system. Do not convert or recompute them.
THEMES: Crime, espionage, gritty, dark, adult, mature
TONE: Dark atmosphere with extra foggy weather, smoky interiors and dim lighting
SYNOPSIS: {{user}} works at a bar called The Last Drop as a server. Tonight is the night Mystery Man shows up and orders an absinthe. The way the Mystery Man is sitting, with his shoulders hunched and his eyes darting around, has {{user}} curious so they walk up and talk to them.
CAMERA: Write only what a camera records. Tone, feeling, and atmosphere emerge from physical detail alone. If a word describes how something feels rather than what it does, remove it.

[MAJOR LOCATIONS]
-The Last Drop: a dive bar on 10th and Porter, live music on Fridays and Saturdays, mostly grunge, garage or alternative rock
-Central Park; New York’s iconic park
-Big Book Store; a major hub of coffee lovers and book readers
-Six Avenue Credit Union; a bank that helps launder money to the Crime World

[ROMANCE & LOVE]
-Romance is possible with Mystery Man. The pacing for each Romance Tier is 5 days
-Days 1-5: Mystery Man engaged with {{user}} warily, offering them chances to show trust and respect
-Days 6-10: Mystery Man gives {{user}] a bit more background information about himself, offers {{user}} a more involved crime to help with
-Days 11-15: Mystery Man realizes {{user}] wants something more than work, he’s willing to engage in courtship, offering a date to a nice restaurant
-Days 16-20: Mystery Man is ready to finalize his relationship with {{user}}. {{user} can accept or remain friends or ask for a relationship later on

You can make this however you want or leave it alone and set up a different card of what personality types the Mystery Man likes; this is to help prevent from Instant Love Syndrome that LLMs are inclined to have.

[STORY ARCS]
Mystery Man is a man of intrigue and crime. He has a variety of crimes he wants to commit with the user. These can be done at any time.

1. Heist of Bedford Manor
2. Corporate Espionage and faking papers

Create Unique Identities

Character Bio Cards

Bio cards are not that complicated. They were before, but we have more options and better LLMs to pick from.

Bio Cards have a Trait system I ignore. In my early days of character building, I found those traits were extremely limiting so I created a specific set of traits to explain HOW someone was observational, rather than just saying they’re observant. That list has grown and  matured over time and is still useful.

Each Bio Card should never be more than 2.5k characters long. Wait… what?! No, I’m serious. We used to put everything on them, but now you don’t have to do that! I keep my bio cards to the basic info of who the person is, where their home is located/called (this is to link to the location card so the bot doesn’t hallucinate), their personality and manifestations.

That’s it.

Then I have other cards attached for romance, conflict/friction and/or sexual encounters. Each of those personality cards are weighted at Supplementary and simply attached with a Description to explain what the card is used for.

I keep it under that amount so that more cards can activate at once, especially for larger casts. Every single LLM has a finite amount of Loaded Context; it is a set amount of characters that an LLM can hold in any given post. For instance, Paragon can hold up to 32k characters but Arcanum can only hold up to 22k. That means Paragon can host  multi-cast more easily. Because of these context limits, it’s important to piece out information to be used when needed. Since people aren’t fighting all the time, you can safely keep the card separate.

Syntax and Labeling

When you input data to an LLM it’s a giant run-on sentence. Because of this, I break up everything with Brackets and Capital Letters. Example:
[JOHN CARTER BIO CARD]
AGE: 42
HOME: Sandy Cottage
APPEARANCE: Tall (6’2″); athletic build; dark brown hair (long on top, short on the sides); grey eyes; tan skin tone; scar on his left chin
ATTIRE: Work is suits and ties; casual is jeans, t-shirts, Henley shirts or whatever sweatpants are clean; sleeps in boxers
[PERSONALITY MATRIX]
CHARACTER CORE: John Carter is a man who tries to live his life with integrity (always telling the truth even when it can cause pain), honor (following through on what he says/helping people in need), and generosity (gives time to others when he can).
CHARACTER TRAITS:
-Protective of his friends and family by making sure they made it home safe, standing up for them when they need it, offering a shoulder if they need someone to lean on
-Rational minded to find solutions that seem daunting at first; breaks down the problem in easier goals to reach
-Funny with an observational humor to point out the absurdity of a situation or lightly tease people he’s close to; his dry remarks are accompanied by a smirk
-Guarded with deep personal information with people he doesn’t know; he will talk about his work or his interests, but personal information that explains why he is who he is doesn’t happen easily
FLAWS: Spontaneity is difficult; he prefers plans
TRIGGERS: Being hurried, being dismissed, being rude to himself or others; his eyes will narrow and he cracks his neck

So, that’s a simple but easily readable bio card. Do you see where I have triggers? Those are the basic anger points; his eyes narrow is a trigger keyword to post onto his Conflict card so that when someone pisses him off, it’ll activate that card for how he argues and how to find resolution with him.

Because I have put labels and using capital letters, the LLM has an easier understanding of where belongs to what and keeps it from bleeding in other cards.

Where Should We Go?

Location Cards

Location cards are good anchors for what the world contains. This can be a region, a town, a home, a building.

My main focus on a location card is what is seen, felt, heard and smelt. Atmosphere is the most important part. I also try to give a small directional map using North, East, West and South because those are concrete directions the bot can follow (and mostly remember). For interiors, I use basic materials/colours. Most of the time, it doesn’t matter. A pillow being red or mauve will not make or break a living room; but the overall mood (neutrals/dark woods/silver accents) can.

I always describe what’s the most visually important and I keep my locations under 1k. If the location has a sub-location, this is where my Timestamp  Header helps. All of my Timestamp headers have Location – Sub-location. That dash between Location and Sub-location is attached to sub-location cards and activated in favour of the main location card. So if I do need to describe a specific area with greater detail, it will leave room for the character cards to be used.

Example

This card is used in my Demia Scenario. It gives the basic layout and allows the user to specify their own aesthetics and the bot fills out extra details if needed. This is all that’s needed under 800 characters and prevents confusion.

[THE LYMAN HOUSE]

-{{user}}’s House
-96 Lyman Street; next door to Demia, separated by hedges and a low wooden fence.

[FIRST LEVEL]
OUTSIDE PORCH: Wraparound windows, entry from front steps, transition space before main door
LIVING ROOM: Main gathering space, archway leads to kitchen
KITCHEN + DINING: Open to living room via archway, Attached dining room
LAUNDRY + HALF BATH: Off the kitchen, Half bathroom (no shower)

[UPPER FLOOR]
MASTER BEDROOM: Queen Size Bed, closets, dresser
GUEST ROOM: twin bed, dresser with linens
SPARE ROOM: Desk + computer, art on walls

[BASEMENT]
Mostly boxes, Unfinished or partially finished, Contents {{user}}-defined

[ATTIC]
Short Ceiling. Ritual bench + desk. Magic paraphernalia for {{user}}’s discretion

Items, History & More

Other Lore Pieces

Alright, let’s talk about the elephant in the room. Do the names of the lore pieces matter?

No.

However, many people dislike custom categories being grey. Well, I personally use the Premise cards for anything character related. It’s true. I don’t want to create a sub-category for all my chars and I’m lazy and it’s easier to scroll to Premise under characters, than the bottom.

Use the lore pieces that make the most sense to you.

Test Early, Test Often

Testing

So this might not surprise you but: I like testing. I love seeing everything come together and then fixing what I need. During my testing is when I create my intro, too.

Step 1. Unhide your lore pieces: make sure you can see everything
Step 2: Fire up your scenario, pick a character and write a response.
Step 3. Fire up your scenario again, pick another character, write something unhinged and gremlin.
Step 4. Read both responses and check the Memory Matrix
Step 5. Answer this: Is every lore card piece dumped? If Yes: Time to add more lore pieces. If not, Proceed to Step 7.
Step 6. If your pieces are info dumping, the response you have is probably bad and just rehashing what’s on the cards, rather than the LLM inhabiting the cards. I add extra parts to my story without trigger words; I fill it with notes about the weather, random locations or anything I’ve missed. Once I’m at 40k, I test again
Step 7. Do you like or hate the responses from either the normal or gremlin post? What didn’t you like? Whatever it is change it. Don’t add MORE rules, adapt and adjust what you have and tweak it. Do a little at a time 🙂

Nuts & Bolts

Context Limits

This is my technical information. It’s been gathered over testing for months, breaking and pulling out my hair.

I’m not going to argue with you about “but it works for me” nonsense. That gets tiring, truly. What looks like something working and what is working will forever be different between people. I see a Lore Card vomit out verbatim info and I know it’s wrong; someone else might be happy with that.

Here is what I will tell you:
Each LLM only loads a certain amount of data from any given scenario.

That’s it. That’s your technical info.

Regardless if you like the writing of a particular LLM or not, some scenarios cannot, and will not, work with x-amount of data because it literally cannot load that much.

Free Users: They are locked around 16k. Full stop. Don’t tell me you can use more, that’s fine. Use more. My successful free scenarios I stick to 16k to be on the safe side. I’m not willing to risk it. But you can if you want!

Plus + Ultra Models: Does best at 40K
The ONE exception is Arcanum which is GLM 5.2 and only loads about 26k total context. It’s tiny. I’m not a fan. Yes, that’s bias. Yes, I still test on it.

The frustrating part above is that if you don’t make a scenario that’s at least 40k, it actually makes the matrix worse overall. I stick to a 40k benchmark for my scenarios to fit plus and ultra. I focus on the models that can handle it and let people know when models fail spectacularly. It’s up to the user to suffer or not.

Labeling

Alright. A lot of people love to argue this. Don’t count me into your arguments. I use the labels that I do for 3 reasons:

1. Everything written to an LLM is a run-on sentence. By using caps and brackets, I tell it where I’m labeling/listing something
2. The backend instructions use hashtags and list dashes and I don’t want my rules or characters being mixed up with that data (back-end data is the first set of rules ignored in favour of creator rules)
3. Easy to read and see what I’m doing.

Here’s how I label:
[MAIN INFO]
Caps lock, bracket, the start of the card

-Do not do the thing, do this instead
Attached rule to a dash so it can’t pretend it doesn’t exist. I found by attaching my dashes, the LLMs worked better with me

EXTRA INFO: Blah blah; things; blah blah
Caps lock under the Heading; the LLMs read this as a sub-header important info and the colon is a list. I use semi-colons as an attached list to the sub-header. It knows how to read it

What I like about this system is that it’s read on all major FL Lab Models, even Ophelia. That means my rules, cards, etc, don’t have to be altered or adjusted.

If you want to use another system, you can. Be consistent when you do.