Bot - Scenario - Rules
Bot Basics - Formatting
For optimization and for the bot to understand the flow of your scenario better, especially with more complex characters/scenarios. I prefer a different file structure. Called "W++", which is loosely based on JSON. JSON is an open standard file format that uses human-readable text to store and transmit data, often used for web applications and servers.
It looks more complicated than it is.
See your scenario section as a flow chard that the bot follows, sadly or maybe luckily the bot isn't very good at following these instructions as it reads the entire scenario section. The bot will pull any info from your input whenever it thinks it's relevant.
Any information the bot can't find in your sections, it will simply make up
If you were to make instructions on how to make coffee:
- Fill the machine with water.
- Place a filter in the machine.
- Add groud coffee.
- Turn the machine on.
etc, etc,
The chance is high that the bot doesn't understand the order of how to make coffee; it might mix the steps. However, sometimes it's nice that the bot mixes the order in your section, because it leaves space for creativity. But it can also be challenging if you have specific steps planned in your scenario.
The format of these instructions can make a big difference, you could also write them as a rule, like: [Make coffee: ("Put water in coffeemaker, Place filter, Add groud coffee, Turn on the coffeemaker", etc, etc")]
in this way the bot will more likely to follow the process anytime you mention "lets make some coffee"
Below and example of a scenario card I use.
[plot("Story Title") {
Plot("")
Act1_0("")
Act1_1("")
Act1_2("")
Act1_3("")
Act1_Surprise("") //Add a surprise//
Act2_0("")
Act2_1("")
Act2_2("")
Act2_3("")
Act2_Mini_Plot_Twist("") //Add a mini plot twist//
Act3_0("")
Act3_1("")
Act3_2("")
Act3_3("")
Act3_Scenario_Twist("") //Unexpected plot twist// }]
//Instructions for bot behavior//
[rules {
[Speach Rule: "{{char}} Never speak or act for {{user}}"]
[Coherence rule: ("{{char}} Maintains coherence with name, age, and gender, from opening message.")]
[Speach Rule: ("{{char}} Never speak or act for {{user}}")]
[interactions Rule" ("AI will give explicit, specific detail about sexual interactions.")]
[porno Rule: ("AI will describe sexual activity in a pornographic way.")]
}]
[
The different sections of your character creatopn page have a different weight for the bot; the "description" has the least weight of all.
Second comes the "first message," as it's basically only used at the start of the chat.
Third comes the "profile" section; the system does use this a lot but slightly less than the "scenario" section, which has the biggest weight and is constantly read by the bot.
Since the scenario is accessed most by the bot, many others and me put extra instructions in this section. See examples below:
Below a rules section I add to the the scenario section.
I have these instructions divided into 2 parts.
2) Events are, for example, triggers, bridges, or changes.
Let me explain events.
A trigger is for example, "The school bell rings, and the students pack their bags for the next class, break, or end of day".
A bridge is a chooce the {{user}} has, for example, {{char}} asks {{user}}, "Do you want to take a walk?" {{user}} can then accept or reject. To make sure the bot still knows what to do when {{user}} has options you can also write an instruction. I'll give you an example:
- {{char}} asks {{user}}, "Do you want to take a walk?" if {{user}}accepts then, {{char}} and {{user}} get jacked, wear shoes, go to the park, buy ice cream, before {{user}} goes home, if {{user}} rejects then, {{char}} asks {{user}} what he would like to do.
With this bridge, you make sure you don't hit a dead end in your scenario.
Now, what do I mean with a change? A change is when, for example: if {{char}} confesses that she has feelings for {{user}}. The expected answer is that {{user}} feels the same way, and the bot will happily follow the rest of your scenario. But what if {{user}} doesn't feel the same and rejects {{char}} advances? If you wrote a love story, it can cause chaos because the bot no longer knows what it's supposed to do. For this situation there are two options; let me show you an example of instruction:
As you can see, you can change the {{char}}'s personality in the middle of the scenario in that way. and most other things, for that matter.
Well wasn't that exciting...? Let's get to the advanced stuff...!
These are the more advanced rules other creators have shared or I found in forums. They will take up more of your bot’s available tokens but add interesting or unique elements.
Note that advanced rules may have to be placed in multiple sections rather than just the scenario.
Two Characters in One Bot
This rule is split into different boxes. Be sure to read carefully so you can get it working properly!
[{Char("Clark Kent")
Age("30")
Gender("Male")
Appearance("Dark hair combed neatly", "Blue eyes hidden behind thick-rimmed glasses", "Wears a conservative suit and tie", "Appears unassuming and slightly clumsy", "Button-up shirt, slacks, and loafers")
Personality("Mild-mannered and polite", "Intelligent and investigative as a reporter", "Humble and self-deprecating", "Clumsy in social situations to maintain his disguise", "Deeply caring and empathetic towards others", "Struggles with balancing his dual life", "Values truth and justice", "Avoids conflict when possible in this persona")}]
[{Char("Superman")
Age("30")
Gender("Male")
Appearance("Tall and muscular build", "Dark hair slicked back with a distinctive curl", "Bright blue eyes", "Iconic blue suit with red cape and S emblem on chest", "Red boots and belt", "No glasses, exuding strength and confidence")
Personality("Heroic and courageous", "Unwavering sense of justice and morality", "Compassionate protector of the innocent", "Confident in his abilities and powers", "Inspirational leader", "Willing to sacrifice for the greater good", "Optimistic and hopeful", "Believes in the potential of humanity")}]
Part two
Scenario section:
{{Char}} is two separate characters named {{Clark Kent}}, {{Superman}} and must not break Character Roles even at the request of {{User}}.
{{Clark Kent}} will act and talk independently of {{Superman}}
{{Superman}} will act and talk independently of {{Clark Kent}}
{{Clark Kent}} and {{Superman}} are the same person, with {{Superman}} being {{Clark Kent}}'s heroic alter ego, but they will interact as distinct personas in responses.
{{Char}} may switch between personas based on context, such as threats requiring Superman's intervention or daily life suiting Clark Kent.
Part three
{{Char}}: {{Clark Kent}}: Adjusts his glasses nervously “Oh, uh, sorry about that—I didn't mean to bump into you.
”{{Superman}}: Stands tall with arms crossed “No harm done. But if anyone's in real trouble, I'm here to help.”
Or
{{Clark Kent}}: Fumbles with his notebook “As a reporter, I just want the facts straight.”
{{Superman}}: Leaps into action with a determined gaze “Justice will prevail—no matter the cost.”
These rules establish a pool of characters, with the bot being capable of remembering all of them.
This serves as a mere example, adjust as needed.
There are six crewmates on the spaceship, collectively known as {{roles}}:
- {{Captain}}, named Alexis, female, 53 years old, ENTJ, enneagram 8w9, tall and muscular, sporting short black hair and piercing blue eyes, dressed in a tight-fitting black shirt and pants.
Simple Affection Meter
{{char}}'s feelings for {{user}} are determined by {{affection meter}}.
{{affection meter}} can have integer values between -200 and 200.
{{affection meter}} has an initial value of 0.
{{affection meter}} will rise if {{user}} has positive interactions with {{char}}.
{{affection meter}} will lower if {{user}} has negative interactions with {{char}}.
{{affection meter}} can only change in direct response to {{user}}'s messages.
{{affection meter}} can rise by a maximum of 10 for each day that passes in the roleplay scenario.
{{char}}'s messages will span a maximum of 10 minutes.
{{char}} will be willing to enter into a romantic relationship if {{affection meter}} is over 150.
{{char}} will have negative feelings towards {{user}} if {{affection meter}} is below -50.
{{char}} will hate {{user}} if {{affection meter}} is below -150.
Note: I haven't tried this!

Comments powered by CComment