This forum post is about the final design of Emotion Tracking before it goes into Causality.
You need to imagine what it will be like to use this.
You need to identify story phenomena that aren't captured by this.
The goal is not to be 100% precise. It just needs to be good enough and nearly automatic, or nobody will use it in reality.
The design is not entirely flexible. This is the 10th design over 5 years, and it’s possible this is the best design that can be done, period.
Read this carefully.
WHAT IS EMOTION TRACKING?
Emotion Tracking gives every Tag usage a value that can go up and down, in order to represent an emotion or an objective. This results in curves in the timeline showing activity. It also means tracking Tension and Conflict, which is the coloring behind the lines:
The way you use it is that you enable Emotion tracking for a Tag. I’ll come back to Tension and Conflict in a moment. For now, just imagine that a Tag represents e.g. the character’s Confidence Level.
Every time a Tag is used, you can edit changes to this value, either in the Inspector, or possibly inline in the beat in the script. Tags with Emotions or Objectives are also separated under different headers.
You can either select Relative or Absolute changes. Simply set what the change feels like to you. Adding all the beats together, this produces a curve that goes up and down. Absolute is used for resetting hard to a certain value, like if time has passed in the story.
The scale isn’t important. Initially, all values go from 0-100, but they can go from anything to anything. So +4 means whatever it means to you. Somewhere else, you might have a +8 event. You could also have everything be +40 and +80. The scale doesn’t matter, only the going up and down.
Every Emotion, Objective and Conflict can produce Tension. All tension from each of the storylines is then added together to produce the tension of the story as a whole.
Note that this picture is from an old prototype. Tension graphs now better represent how the story feels.
TENSION FROM EMOTION
If you enable Tension for an emotion, tension is produced when the emotion is high or low, depending on your setting.
If it’s a positive emotion like love or self-confidence, tension comes from it being low. If it’s a negative emotion, like anger, tension comes from it being high. Chandler Bing must get the people at work to like him (low is bad). The Hulk must not get angry (high is bad).
Tension strength sets the contribution of this tension to overall tension. If it’s a small tension like being annoyed at someone at work, it might be 20%. If it’s your intimate relationship going sour, it might be 200%.
PERCEPTUAL BLENDING OF TENSIONS
Tensions are blended perceptually. No matter how tense something is, it goes away the moment we cut to something else. So tensions are weighted heavily towards events where we’re “on”, and in-between, we feel the background pressure of all the growing tensions from all storylines.
Objectives are like Emotions, except that they start low and end high, and then they’re done. If you’re trying to get a girl, that’s one Objective, until you get her. And if it then turns out she’s a Nazi, it’s a separate Objective to get out of the relationship, again time-limited.
Objectives track tension in a completely different way than emotions. Whereas Emotions are passive, and you just feel what you feel, Objectives are active, and you really want it.
For Objectives, tension increases dramatically when you get closer to your goal and it becomes a make-or-break moment, where the beginning of the journey produces almost no tension.
Objectives also produce brief tension (a dramatic spike) on loss or setbacks. You use this when you encounter obstacles, and the Objective has negative values like -10.
This is a curve of how tension increases over the journey of an Objective:
Remember that the goal isn’t for this system to be 100% perfect. The goal is to be close enough, but VERY easy to use so that you’ll actually use it.
Instead, you can tweak the tension of any event. For example, if you have an event where an emotion ALMOST moves, but in the end doesn’t, that kind of tension is invisible to Causality. But you can add it yourself, just for this event. You can even do full manual tension tracking this way. For an objective, you’d use this brief tension for an obstacle that isn’t overcome, but is still a battle.
Finally, Conflict is to measure the relationship between Emotions or Objectives.
For example, in order for Rachel and Ross to get together, they have to both be into it. It’s a conflict if any of them are not at a high level. So we have tension when they’re different.
Or if this is a power struggle and both the protagonist and antagonist are winning. They each have a Success emotion. Then we produce tension if they’re the same. Separately, the antagonist can also produce their own tension when their Success is high.
Another example is a moral argument. If this is Star Trek and we’re weighing planetary suffering against the Prime Directive, you could of course make a single emotion that goes up and down to represent viewpoint A or B. But you could also make two SEPARATE emotions for each argument, and then make each argument extremely well. The better an argument you make for each option, the greater the conflict.
Normal Emotion or Objective tension is drawn as increasingly intense red glows behind the line. Tension from Conflict is drawn in a brighter orange color. You can then hover the graph to both read the values and see where the conflict is coming from.
You can also start your work from the graph by creating the "melody" you want before you've even written anything, and then go write the beats to satisfy your curve. This allows you to draw storylines intuitively and then fill them in.
We've decided to go back to a previous design for Objectives that incorporates an idea of "Stakes", which is a fundamental truth about Objectives that their weight changes over time. As you're trying to get something, it suddenly becomes much more important. The previous design both failed to capture this, and created needless detail at the same time.
The new (actually old) design is that Objectives have no settings at all at the tag level:
And then the Objective is configured while you use it:
Progress is as it was before, your journey from low to high.
Stakes is where you set the importance of reaching the objective. Default is 2, and it goes 0 to 10. Behind the scenes, we calculate the tension produced by this, especially the tension when you're close to the goal or tension from setbacks, as well as tension directly from the importance. We don't need to bother you with more settings, we can work it out internally.
Adjust Tension is also as before, a manual override for when Causality can't see what happens in the scene, for example a beat where you fight with an obstacle that ultimately yields no progress. This would produce a lot of tension that Causality is unaware of, so you add it manually.
Great feature, I've been doing it on a spreadsheet for years. Happy to see it in Causality. IMHO, everyone should be able to customize and name his own criteria. I mean, for instance, in a thriller, I use the audience's ECG (electrocardiogram) as the main criteria. I a romance, I use happiness/sadness criteria. I also think there is no scale where you need more than a 1 to 5 value. Who could say this beat is 83% intense and this one is 81% ? 1 is low and 5 is high, for me at least. I'd do it more simple : 3 customizable criteria and 1 to 5 values.
I like this; almost a programmatic interface for tagging parts of a story with an arbitrary scaler value which tracks with/against another one.
What I would like to see is either a short video or a walk-through of how you think this will/could/should be used in the process of actually assembling the story. Must it be attached to a beat or can it be attached to a group/container?
Otherwise I think this is a good and interesting step forward.
Purely as a UI issue, it might also be worth having four buttons, two to either side of setting the value directly, from left to right:
Decrease a lot <<
Decrease a little <
Increase a little >
Increase a lot >>
Then you can set the default values for those in configuration somewhere. That way you have a little obvious and direct something to push when the user doesn't have a specific jump size in mind.
I'm looking forward to the next iteration.