Story Inputs and Outputs
What can a story do?
Story Inputs
What can you rely on? What can a story know about the state of the game, and how can you incorporate that in your writing?
Company State
Company State is useful if you want to know if the company has seen a particular event, been in a certain number of fights, stuff like that. Queries about the general state of the campaign will often go here.
- Has the company unlocked the hero classes (by completing the tutorial)
- Has the company fought gorgons 3 times already?
- Maybe stuff like "what chapter is it?"
Legacy Unlocks
You might want to know:
- Has the player ever beaten the game?
- Has the player seen a particular villain?
- Has the player ever completed a particular quest line?
- How many Warriors does the player have in their Legacy?
- Has the Player unlocked a particular weapon variant?
Present Heroes
Most events get a target called party injected. This is the heroes who are physically present at the event location. The New Story Role button takes advantage of this, by only choosing heroes from the Party by default.
All Heroes
Maybe you want to talk about a hero who's not here right now (i.e. not in the party). That's totally possible and not even hard. Use the "HERO" type target, and remove any "fromRoles" to match any hero. Use the "notAlreadyMatchedAs" -> party to talk about someone behind their back.
Particular Heroes
Almost always, it's a good idea to call out heroes for your stories by some particular personality trait, relationship, hook, other aspect, or primary stat.
Here's Why
One of the major focuses of our game is creating unique, iconic heroes. One of the major ways we do this is by giving the heroes personalities, quirks, and relationships. When you're telling a story, it's a perfect opportunity to emphasize those things. Instead of telling a story that could happen to literally anyone, inject some specialness.
I'm going to explain it with a Theater metaphor. Pretend you're writing and casting a play. From whatever actors show up to your casting call, you need to pick the ones who best fit the story roles that the script calls for. You don't just hand out parts at random. You look for a good fit.
Here's How
Check out this article for a rundown of how build basic Story Roles.
Then, in addition, depending on the actors you actually get, you can allow them to improvise a bit, by using tags. So the play is a bit different every time you produce it. It's the magic of the Theatre!
Ordering your Roles
There are a couple other concerns. Be careful about the order you define your targets. The most iconic and necessary should be first, because targets are picked in order. By the time you get to the fourth pick, it's pretty wishy-washy whether that character is a real exemplar of those traits.
Going back to our play analogy, say only 5 actors show up to your casting call. You want to cast the lead first. They have the biggest impact on the story and they need to be the best fit. Then the second most important, and so on. The last character might not be a great fit for their role, but it's bit part so it doesn't matter too much.
Greenlighting your Story
Maybe you think, if I can't get two good lead actors, this play will suck. That's ok! make those roles mandatory, and maybe put score thresholds on them. If the right cast happens to show up, the play will be produced. If not, some other play will have to do.
Where are we
The overlandTile target is usually injected and can give you information about the tile.
- Is the tile a Forest or a Swamp?
- does it border a river or a mountain?
- what stuff is on it (a bit complicated to query but can be done)
The site target is usually injected for combat events and can give you info about exactly what's up.
- Is the site above ground, below ground, ruins, tomb, etc?
- Is it a town?
What are we fighting?
If this is a fight, the foe is generally injected using the foes target. You can use aspects to select from the monster groups. We use these aspects:
- cultist (Deepists are called cultists internally)
- drauven
- gorgon
- morthagi
- thrixl
Specifying NPCs
Right now the easiest way to specify NPCs is by using the legend target. Legends are NPCs that are generated at the start of each game. We have some ideas on how to expand this so that it's more meaningful to the player. For example, former heroes might show up here. But for now that's speculative and this is just a convenient way to get actors who are not PCs into your comics. You can also add monsters this way! Use the legendId field to pick who you want. There's also a spreadsheet in Drive for claiming NPCs for particular purposes, so the same rando doesn't show up later in a different event.
More than likely, Legends are not going to be robust enough to serve all your needs. A more complete NPC tool is on the drawing board but it hasn't been started yet.
Anything else you want?
Is there anything else you want to be able to use in your events, or to use to determine whether or not to tell a particular story? Let's talk about it!
Story Outcome Guidelines
What results are possible? What's desired? A lot of this will vary based on event type, but there are some general guidelines.
Dramatically Appropriate
Outcomes should be basically fair, in the sense that if a particular choice is risky, it should feel clearly risky to the player. Don't have a quiet conversation where an idle musing leads to character death or mutilation.
Trade offs and Risk
One kind of choice that remains interesting the second and third time you see it is the risk trade-off. One path is relatively safe, one path is relatively risky, with upsides and down sides. As long as it's clear to the player which is which, this generally feels good, and allows you to put much more positive and negative outcomes into play.
Avoid Choices that are Just Bad
Risky choices are great. Choices that give you something you want at a high cost are great. But Choices that always result in a purely negative outcome are not fun.
Avoid Choices that are Strictly BetterTM than Others
Let's say choice A gives a hero +5 Agility, and choice B gives that hero +10 Agility. This is bad. It means there is a clearly correct choice. Players will discover this and put it on the wiki. It's ok to have some choices be on average better, but to be safe, make them different in some way. For example, +5 Agility vs +10 Attunement is suddenly an interesting choice.
Dramatic, Permanent, and Mechanically Simple
For big moments at the ends of story chains, we want big changes to happen. We want the player to feel like their choices were really important. Permanent, visible character change is sortof the gold standard here. Map change is also great. As far as mechanically simple, that mostly means, don't specify complex new gameplay. Stick to the outcomes listed below when possible. If you need something more / else, let's talk!
Types of Outcomes we support
Anything from this list counts as mechanically simple.
Grant Gear
Gear gotten from an event may include augments, weapons, off-hand items, or (rarely/epically) a new type of armor.
Body Modifications
Heroes' arms, legs and heads can be replaced with exciting things. These replacements may happen as the result of a choice in an event (e.g. a hero gets a wolf head after agreeing to join the wolf god), or they may be gained as rewards for quests that become available after the hero loses a limb in combat (e.g., after losing an arm, a hero discovers an abandoned Morthagi who offers to build them a mechanical one).
In addition to replacements, modifications like wings, scars, or tattoos may be added.
Most body modifications will affect the hero's stats or abilities in some way (e.g., our hero with wings can now ignore obstacles when moving during a battle).
Add History Lines
Adding a little line to a character's history is a good way to memorialize an important moment. Generally combined with another outcome like gear, stat, or hook.
Stat boosts
Permanent stat boosts are a good outcome for stories that are not farmable. (Tactical stories are considered farmable and shouldn't give too many positive rewards like this.)
Add/remove hooks, aspects
Story hooks are a great, generic way to say "this character has a weird thing about them that we want to tell stories about." Hooks are intended to be starting places for further stories. Some examples: Inhabited, Gorgonized, Wildheart, etc..
Overland Stations
Add (or rarely, remove) a station. Stations grant resources during the interval, and some stations have other uses as well.
Modify Overland State
Change a Biome? Add or destroy a wall? bridge a river? Add or remove a lurking threat?
Trigger Calamities
Calamities are fun! Monster-related, infestations, or incursion all make good negative outcomes.
Affect combat
Combat advantage and disadvantage are excellent outcomes for tactical and other combat-related stories. Since the advantage is just for that combat, it doesn't create a balance problem or a farming problem, and it almost always feels relevant, fair, and interesting. Plus, it spices up our missions, making them more replayable.
Hero Relationships
Boosting or changing the aspect of hero relationships is fun and interesting! Some players will like this stuff more than others but it's great to sprinkle it in.
Unlock stuff
One of the key long-term goals of the game is to have each play through feel richer, contain more weird content. Bring your ideas for what this should look like. See Unlockables??
Sacrifice a Hero
Losing a hero is a heavy cost but it could be appropriate in some stories.
Recruit an NPC as a Hero
Yes! we want to organically grow our company by finding able fighters and teaming up with them.
Fight a Thing
Sometimes an outcome calls for an extra fight, with specific settings like foes, map etc.. That's fun stuff!