Difference between revisions of "Story Inputs and Outputs"

From Wildermyth Wiki
(→‎Types of Outcomes we support: Added link to Outcomes page)
 
(9 intermediate revisions by 5 users not shown)
Line 1: Line 1:
What can a story do?
What can a story do?


=Story Inputs=
This is somewhat of an overview of creating stories in Wildermyth, and what the '''requirements''' and '''results''' of that story can be.
 
''(Related: A broader overview of everything can be seen in the [[Writer's Guide]])''
 
==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?
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 ===
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.  
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 unlocked the hero classes (by completing the tutorial)
Line 10: Line 14:
* Maybe stuff like "what chapter is it?"
* Maybe stuff like "what chapter is it?"


==Legacy Unlocks==
===Legacy Unlocks===
You might want to know:
You might want to know:
* Has the player ever beaten the game?
* Has the player ever beaten the game?
Line 18: Line 22:
* Has the Player unlocked a particular weapon variant?
* Has the Player unlocked a particular weapon variant?


==Present Heroes==
===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.
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==
===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.
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==
===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]].
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===
====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.  
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.  
Line 33: Line 37:
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.
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===
====Here's How====
Check out [[Comic Editor Reference#Story Roles|this article]] for a rundown of how build basic Story Roles.
Check out [[Comic Editor Reference#Story Roles|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 [[Tag Reference|tags]]. So the play is a bit different every time you produce it. ''It's the magic of the Theatre!''
Then, in addition, depending on the actors you actually get, you can allow them to improvise a bit, by using [[Tag Reference|tags]]. So the play is a bit different every time you produce it. ''It's the magic of the Theatre!''


===Ordering your Roles===
====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.
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.
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 not a big part so it doesn't matter too much.


===Greenlighting your Story===
====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.
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==
===Where are we===
The '''overlandTile''' target is usually injected and can give you information about the tile.
The '''overlandTile''' target is usually injected and can give you information about the tile.
* Is the tile a Forest or a Swamp?
* Is the tile a Forest or a Swamp?
Line 56: Line 60:
* Is it a town?
* Is it a town?


==What are we fighting?==
===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:  
If this is a fight, the foe is generally injected using the '''foes''' target. You can use aspects to select from the monster [[faction]]s. We use these aspects:  
* '''cultist''' (Deepists are called cultists internally)
* '''cultist''' (Deepists are called cultists internally)
* '''drauven'''
* '''drauven'''
Line 64: Line 68:
* '''thrixl'''
* '''thrixl'''


==Specifying NPCs==
===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.
You can use the implications section of an event to create an NPC just for that specific event. You can even give it a unique '''npcId''' that can be used to have them show up again later!
 
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?==
===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!
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=
==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.
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==
===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.
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 ==
===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.
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==
===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.
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 Better<sup><span style="font-size:50%">TM</span></sup> than Others==
===Avoid Choices that are Strictly Better<sup><span style="font-size:50%">TM</span></sup> 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.
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==
===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!
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 sort of 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=
==Types of Outcomes we support==
Anything from this list counts as ''mechanically simple.'' (For the more technical side of ''how'' to add Outcomes to [[Effects]], see the [[Outcomes|Outcomes page]].)
Anything from this list counts as ''mechanically simple.'' (For the more technical side of ''how'' to add Outcomes to [[Effects]], see the [[Outcomes|Outcomes page]].)


==Grant Gear==
===Grant Gear===


[[Gear]] gotten from an event may include augments, weapons, off-hand items, or (rarely/epically) a new type of armor. You can be specific with the reward if the story calls for it, or you can be more general (e.g. random augment, random weapon, etc..).
[[Gear]] gotten from an event may include augments, weapons, off-hand items, or (rarely/epically) a new type of armor. You can be specific with the reward if the story calls for it, or you can be more general (e.g. random augment, random weapon, etc..).


==Body Modifications==
===Body Modifications===
   
   
[[File:BodyModification_morthagiArm.png|200px]] [[File:BodyModification_tentacle.png|200px]] [[File:BodyModification_wolfHead.png|200px]]
[[File:BodyModification_morthagiArm.png|200px]] [[File:BodyModification_tentacle.png|200px]] [[File:BodyModification_wolfHead.png|200px]]
Line 107: Line 109:
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).
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==
===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.
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==
===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.)
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==
===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..
Story [[hook]]s 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==
 
===Overland Stations===
Add (or rarely, remove) a [[station]]. Stations grant resources during the interval, and some stations have other uses as well.
Add (or rarely, remove) a [[station]]. Stations grant resources during the interval, and some stations have other uses as well.
==Modify Overland State==
===Modify Overland State===
Change a [[Biome]]? Add or destroy a wall? bridge a [[river]]? Add or remove a [[lurking threat]]?
Change a [[Biome]]? Add or destroy a wall? [[Job#Bridge|bridge a river]]? Add or remove a [[lurking threat]]?
==Trigger Calamities==
 
[[Calamities]] are fun! Monster-related, [[infestation]]s, or [[incursion]] all make good negative outcomes.
===Trigger Calamities===
==Affect combat==
[[Calamity|Calamities]] are fun! Monster-related, [[infestation]]s, 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.
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==
===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.
Boosting or changing the aspect of hero [[relationship]]s is fun and interesting! Some players will like this stuff more than others but it's great to sprinkle it in.
==Unlock stuff==
 
===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]]??
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==
===Sacrifice a Hero===
Losing a hero is a heavy cost but it could be appropriate in some stories.
Losing a hero is a heavy cost but it could be appropriate in some stories.
==Recruit an NPC as a Hero==
===Recruit an NPC as a Hero===
Yes! we want to organically grow our company by finding able fighters and teaming up with them.
Yes! we want to organically grow our company by finding able fighters and teaming up with them.
==Fight a Thing==
===Fight a Thing===
Sometimes an outcome calls for an extra fight, with specific settings like foes, map etc.. That's fun stuff!
Sometimes an outcome calls for an extra fight, with specific settings like foes, map etc.. That's fun stuff!
[[Category:Modding]]
[[Category:Writing]]

Latest revision as of 12:08, 11 November 2021

What can a story do?

This is somewhat of an overview of creating stories in Wildermyth, and what the requirements and results of that story can be.

(Related: A broader overview of everything can be seen in the Writer's Guide)

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 not a big 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 factions. We use these aspects:

  • cultist (Deepists are called cultists internally)
  • drauven
  • gorgon
  • morthagi
  • thrixl

Specifying NPCs

You can use the implications section of an event to create an NPC just for that specific event. You can even give it a unique npcId that can be used to have them show up again later!

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 sort of 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. (For the more technical side of how to add Outcomes to Effects, see the Outcomes page.)

Grant Gear

Gear gotten from an event may include augments, weapons, off-hand items, or (rarely/epically) a new type of armor. You can be specific with the reward if the story calls for it, or you can be more general (e.g. random augment, random weapon, etc..).

Body Modifications

BodyModification morthagiArm.png BodyModification tentacle.png BodyModification wolfHead.png

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!