Wednesday, January 15, 2014

Fanwank Corner: Story Engine

I'm thinking this will be a weekly feature here on this blog, or at least a recurring one.  I don't think every post needs to be a review, right?  So Fanwank Corner posts will be where I will engage in some heavy fanwankery, and perhaps come up with some truly brilliant ideas... probably not.

My post on "Fire Emblem: Awakening" yesterday got me thinking.  As interesting as the brutal Hun-like slaughter of anonymous enemy units is - Fire Emblem is a game that takes no prisoners - almost more interesting is the possibilities opened up by the relationship value system.  Inevitably some players will discover the system on their own, learning that their units can suddenly decide to marry each other, almost in an automated story, though most will probably read the manual, study GameFAQs guides, and create a massively detailed plan for the perfect Bene Gesserit eugenics program, thus birthing a race of Kwisatz Haderach units who will devastate any foe.  The min-maxing wanking of those people is not really what interests me, RPG players have been doing that for decades.  What more interesting is this idea of an automated relationship generator.

Because what it means is that in a small way Nintendo and Intelligent Systems have developed a Story Engine*, a self-creating system in which every player's experience is entirely different depending on every campaign.  Basically every video game that bothers to have a storyline creates its story in the same way that an author would write a book, movie, or non-interactive medium.  There's a beginning, middle, and end, non-player (or in the worst cases player characters) will act and react in pre-determined ways moving the planned story forward.  There's nothing wrong with that concept, its been the method of story creation for all of history.  This is because up until computers, it would have been impossible to have characters independently make any decisions at all, and stories had to move forward in a linear path.  Now with video games, I wonder if perhaps it is now possible for stories to write themselves.

Obviously what we're dealing with here is not going to end up as Shakespeare, at least not until the technology grows more advanced.  Essentially all it would be is an independent module for Character Interaction, probably best suited as an aspect of an RPG but perhaps, if strong enough, could be the game itself.  The basic concept isn't too far away from the Fire Emblem system, as Characters fight together, they begin to interact.  However the Nintendo system really only unlocks pre-written conversations between the Characters, not that different from a Romance Simulator that many Otaku players love, but it isn't really quite as organic and self-creating as what I'm imagining here.  The Story Engine would be conversations occurring spontaneously between Characters, as their relationship goes from friendship to romantic to hatred, in a much smaller and simplified simulation of real life human interaction.

Character interaction in the Story Engine could be trigger by any value as determined by the programmer, be it merely physical proximity or a more proactive occurrence.  Say two units in combat fight the same enemy, then their Affection Values would go up.  Or perhaps it could be the passage of items between characters, using magic to heal, or other effects.

The important value is that each character would essentially be a package of Relationship Stats, let's say between -50 to 50.  -50 is pure unending hatred, a kind of grudge that does not appear easily, and is very difficult to break.  50 is the truest most selfless love that any person could have for another.  0, at the middle, is True Neutral, essentially how much you care about strangers you meet on the street.  A Relationship is not a shared value, one person often loves the other more or less, so each Character would have individual stats of Affection for another character.  In order to simplify the simulation, I'd say Characters could only have Affection with around five other Characters.

As Affection Values raise or lower, Character Behavior changes.  At a high enough Affection, Characters will go out of their way to protect their beloved units, perhaps even sacrificing themselves to save the other Character.  At a low enough value, Characters will ignore the plight of the other Character, and at truly low values, they will attack that other Character as an enemy.  The player, of course, would not want such an event to take place.

So here's a brief and cheap diagram, with just two characters:

Character A "Johnny"
Affection Value (AV) for "Janey" - 31
Behavior - Will protect "Janey" if she's in trouble, add damage to any attack upon a unit threatening "Janey".

Character B "Janey"
AV for "Johnny" - 11
Behavior - Does not react to "Johnny".

So you can see the relationship is not entirely equal, Johnny likes Janey more than Janey likes Johnny.  Perhaps as Johnny continues to help Janey in combat, her AV will raise for Johnny, and their relationship might be stronger.

Now let's add a third character, "Stevey", who is actually an enemy unit, but will still have Relationship behavior.

Character A "Johnny"
AV for "Janey" - 31
AV for "Stevey" - -28
Behavior for "Janey" - Will protect "Janey" if she's in trouble, add damage to any attack upon a unit threatening "Janey".
Behavior for "Stevey" - Will attack "Stevey" automatically, add damage to attacks.

Character B "Janey"
AV for "Johnny" - 11
AV for "Stevey" - 14
Behavior for "Johnny" - Does not react to "Johnny"
Behavior for "Stevey" - Will avoid combat with "Stevey", decrease damage to attacks upon "Stevey".

Character C "Stevey"
AV for "Johnny" - -40
AV for "Janey" - 29
Behavior for "Johnny" - Will attack "Johnny" automatically, add damage to attacks.  Will attack recklessly, lower defense.
Behavior for "Janey" - Will not attack "Janey".  Will protect "Janey" if she's in trouble, even those on his side, add damage to any attack upon a unit threatening "Janey".

So now thanks to the random AV numbers that have been generated, what would have been just two of your Characters attacking a single enemy unit has become much more complex.  We have an entire love triangle formed right there.  Now its not necessary that this be two girls and a guy, depending on the AV load-outs, we could have any kind of character map.

Look how complicated "Fire Emblem 12"'s** relationship chart is.
Imagine if we could generate something like this naturally.

As the game unfolds, any number of events could occur.  Stevey could wind up switching sides to your army if Janey supports him well enough.  Johnny could kill Stevey, but this would probably further lower his AV with Janey.  The less supporting Janey is to Johnny, the lower his own AV will become, you could end up with these two allied units feuding, with the origins being the long-dead Stevey.  Perhaps these characters could even work out their differences and Janey could love both of them.  This would all have to do with what choices the player makes, and the semi-random fluctuation of the Story Engine.

The only question ultimately is how these relationships are expressed.  The easiest system would merely to have these Characters react to each other with various emoticons.  But a really ambitious game designer could program massive values of conversation, which are triggered by the AV numbers between the Characters.

A more sophisticated version of the Story Engine could even include Personalities.  This would be how willing Characters are to raise or lower their AV to another Character.  An Antisocial Character might even lower his or her AV when another Character tries to help them out.  An Outgoing Character would react in the opposite way.  These Personalities could furthermore be used to determine what sort of conversations would occur, we could have a maudlin love story, or perhaps a wacky comedy of errors between two Personalities that do not understand each other.  Or maybe a Greek Tragedy.

I guess my point is ultimately video games and computers are an unlimited medium.  Maybe instead of using this miracle of processing power to just make games that are much prettier, we could be doing all kinds of experimental and fascinating things with them.  You know, more than just shooting a dude in the head in HD.

Just an idea, game developers.

* Unofficially patented by Eric Fuchs, 2014, as much as an intellectual concept can be patented.  All rights reserved.

** That's the one for the Nintendo DS that never left Japan, by the way.


  1. Quite a brilliant idea. I've seen an idea similar to this before, but it involved potential conversations and dialogue trees instead. Here's the link:

    With something like this, the overall tone of the story is crucial to how relationships work out, like you said. Ranging from Ranma 1/2 (comedy) to Othello (tragedy).

  2. Maybe instead of a number based rating system it'd be better to build a list of relationship statuses. Think like Final Fantasy V's job class system where you can fuse the jobs together by teaching the characters the abilities only here its an emotion based classification system.
    for example, theres a class for the "infatuated lover", the “platonic lover" the"unrequited lover"
    the "romantic lover"
    and on the opposite end of the spectrum the “no reason neutral hater" the “the unrequited love hater”. whatever you figure it out.

    This wouldn’t be your typical RPG, and i can imagine it would draw in a large female audience too. Therefore something more personable might do the trick.

    My feelings on your idea are overall mixed, on one hand you've got a really creative idea.
    On the other hand, this concept could back fire and totally restrict the players sense of freedom.
    Take a game like Final Fantasy VI. its a strongly underdeveloped story, but leaves tremendous room for the players imagination. Thats a good thing.
    The characters are empty vessels but with enough charm to lure are own world into them. Its not pen and paper but the experience is still how you choose to interpret it.

  3. Interesting idea, Blue. I've been tinkering with this idea on my own RPG Maker project. Allies use Combo Techs, defensive abilities, and items to increase their relationship with one another. And outside of battle the decision and questions they ask in the story/sidequests can either raise or lower relationships. As the relationships grow or wither this can effect battles (Sometimes a character will take a hit for a wounded ally or if they hate a person enough they might "misguide" a spell to an unintended target), stats, and certain points in the story.

    If you have a strong enough program and the patience and will power to write hundreds of conversation pieces then this would make a fantastic game idea. My one question is how exactly would this effect the over story? Doe's each campaign still have a overarching plot and the relationships just change the way it's presented?

    1. That's the thing I'm somewhat conflicted with. If used for a traditional RPG, it would just be an extra feature, the overall campaign would remain generally the same. I guess you could use this to recruit villainous characters and if you're not running things well, you could lose heroes - but maybe you could convince them to rejoin you.

      On the other hand, this might even have the strength to hold its own as a game itself. In that case, the expressions of affection wouldn't be combat effectiveness, it would be something more like how close characters are. They might still fight with each other, but that's something the player would want to avoid. It would be like the Sims, a little dollhouse game where you try to keep your people in line and happy.

    2. RPG Sims? Hmmm....I think we could find a way to make that work. The only thing missing is what kind of battle system to make it.

    3. It's a good idea, it would be a pain to code and write all possibilities. Still I'd respect anybody who would have to patience to do all that. Even if it fails, it would be a spectacular failure.
      Sword of Primus

  4. Sorry to post a query unrelated to this entry, but I was wondering if you ever finished Chrono Trigger: Flames of Eternity? Or how far you were able to get in the game?


      I played and beat it. Flames of Eternity is an alternate release, virtually the same, but I think the script is different.