Zak ak ak ([info]zakarntson) wrote,
@ 2006-03-20 14:25:00
Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Entry tags:game design, programming

Story Now in video game design
Reading Mike's entry on two anime series, I was struck by what turns me off of so much anime. Namely, the substitution of story happening at that moment with either a) mysterious backstory or b) mysterious current events, both handed out in small doses over many, many hours. My favorite anime (among them Paranoia Agent, Tokyo Godfathers and Totoro) all dive right into things with characters defined in the moment and by their actions, not as some mystery nut the writer cracks for you after twenty episodes.


In roleplaying games, this anti-Story Now manifests itself as vastly detailed character backgrounds written before the game starts, for example. Or a GM's richly detailed secret plot of which only a part is ever revealed to the players (let alone their characters), often over a months-long campaign.

Maybe some people who kept up with The Forge for longer than I did can tell me an already-coined term for this. For now, I'll call it the Hidden Story: The creator believes that a pre-written or hidden story is a substitute for the audience's experience of a real story.

Couple this with my current low-time-sink hobby of working on a Roguelike game (progress is very slow). I'm looking into the design, and I want to somehow generate quests for the player. Only it occurs to me that most video game quests are a variant on the Hidden Story: Somebody asks you to do X for them, and you will get Y in return. Where is the story in that? The quest could be, "My wife has been kidnapped by wolfmen, and she is the only warrior capable of leading the charge against the Empire!" This still boils down to a story that occurs outside of the player experience. The player is not causing story, but merely dealing with the effects of a story (prefixed by a kidnapping, post-fixed by leading a charge). Sure, fighting a bunch of monsters and reaching a talking head (or even a party addition) is fun, but it's doesn't make for story.

What am I saying? That, in order to provide a compelling game experience, Story Now needs to trump Hidden Story. To retool the example above, the player is present at the point of the kidnapping and then reacts to this situation with the player's actions directly affecting the result. Even inaction results in something (kidnapping proceeds, husband and community are no longer friendly). Failure to prevent the kidnapping would, say, endear you to the locals but result in the possibility of a rescue. In a roleplaying game, this is easily handled. The participants set up the situation and run it through. Of course, with video games, it's never as simple as "describe it, then do it."

It is the logic of the if/then statement which shoehorns computer games into Hidden Story providers.

   If (player talks to husband)
   {
      If (RESCUE-WARRIOR quest is NOT in player's quest list)
      {
         Offer RESCUE-WARRIOR quest to player.
         If (player accepts quest) then
         {
            Add RESCUE-WARRIOR to player's quest list.
         }
         Else if (player does NOT accept quest)
         {
            Keep asking. (this single line of logic is the cause of countless rolling eyes)
         }
      Else if (RESCUE-WARRIOR quest is in player's quest list) then
      {
         If (RESCUE-WARRIOR quest is NOT complete)
         {
             Show HAVE-YOU-RESCUED-HER dialogue.
         }
         Else if (RESCUE-WARRIOR quest is complete)
         {
            Show THANK-YOU-FOR-RESCUING-HER dialogue.
            Add WARRIOR to player's party.
            Transition to CHARGE-ON-EMPIRE level.
         }
      }
   }
 


That's some simple code! No twisted logic, no multiple paths, just a series of if/then's. The player completes the quest or never continues game progression (or, in the case of an optional quest, completes it or doesn't get the reward). Simple = easier on programmers and scripters = less time = why wouldn't you use this in a game!? Answer: It's promotes Hidden Story, which isn't as rewarding for the audience.

At its simplest, Story Now in a video game would be the following:
  1. Present an emotionally compelling situation which allows for a response.

  2. Accomodate different responses.

  3. Allow these responses to have different effects on ensuing gameplay.

Hidden Story stops at step 1, and often doesn't even proceed to step 2. In those rare cases it does, due to a programmer's love affair with binary (if/else, yes/no), there tends to be only two responses. So the issue for adding Story Now to a game becomes: How do I program different responses and their results?

One way would be to provide extensive branching dialogue for the designer, with the option for each dialogue to change further dialogue options and cause post-dialogue ramifications. Combine this with the aforementioned Quest system and you have a fairly open system. To return to the kidnapping example, the husband offers you the following options:
  • Agree to rescue the warrior
    • Add RESCUE-WARRIOR quest.

    • increase Husband friendliness by 10 points

    • increase player's Compassion score by 5 points

  • Offer to rescue the warrior for money
    • Add RESCUE-WARRIOR quest,

    • add EARN-MONEY to RESCUE-WARRIOR quest

    • reduce Husband friendliness by 10 points

    • reduce player's Compassion score by 2 points

    • increase player's Barter score by 1 point

  • Decline to rescue warrior
    • Remove possibility of RESCUE-WARRIOR quest

    • reduce Husband friendliness by 50 points

    • reduce player's Compassion score by 10 points

This is still very programmable, simple enough for a designer to work with, and would result in a much more robust player experience. However, not only is this still driven entirely by dialogue, but it consists of choices predicated on revealed Hidden Story (kidnapping of warrior). To bring this entirely into a Story Now experience, you would need to perform the following logic:
  • CONDITION: Player enters Stronghold when WOLFMAN-KIDNAP scenario is enabled.
    • EVENT: Wolfmen appear, assign them KIDNAP-WARRIOR goal.

    • EVENT: Play WE-INTED-TO-KIDNAP script (dialogue, in-game, however).

  • CONDITION: If the player stops the Wolfmen
    • EVENT: increase Husband friendliness by 5 points

    • EVENT: increase Warrior friendliness by 5 points

    • EVENT: increase Wolfmen fear by 10 points

    • EVENT: Allow for Warrior to join in Charge Against Empire event

    • EVENT: End WOLFMAN-KIDNAP scenario.

  • CONDITION: If the Warrior is kidnapped by the Wolfmen
    • EVENT: decrease Wolfmen fear by 10 points

    • EVENT: Assign PLEASE-RESCUE-WIFE dialogue to Husband

    • EVENT: End WOLFMAN-KIDNAP scenario.

    • EVENT: Enable RESCUE-WARRIOR scenario

  • CONDITION: If the Warrior is killed
    • EVENT: decrease Wolfmen fear by 10 points

    • EVENT: Assign WIFE-SORROW dialogue to husband

    • EVENT: Assign RETREAT behavior to Wolfmen

    • EVENT: End WOLFMAN-KIDNAP scenario.

  • CONDITION: If the player damages the Warrior
    • EVENT: decrease Wolfmen fear by 2 points

    • EVENT: decrease Husband friendliness by 2 points

    • EVENT: decrease Warrior friendliness by 5 points

    • EVENT: increase Wolfmen friendliness by 1 point

  • CONDITION: If the player KILLS the warrior
    • EVENT: decrease Wolfmen fear by 10 points

    • EVENT: decrease Husband friendliness by 50 points

    • EVENT: increase Wolfmen friendliness by 5 points

    • EVENT: End WOLFMAN-KIDNAP scenario.

    • EVENT: Enable JOIN-WOLFMEN scenario.

Programmatically, this means you need to support:
  • Scenarios: A grouping of conditions and events. Scenarios should open other Scenarios depending on the conditions met.

  • Conditions: In-game conditions, such as DEATH of NPC.

  • Events: One or more of these is called when a condition is met. (examples: Enable QUEST, Adjust CHARACTER STATISTIC)

Computer Roleplaying Games need to move towards this kind of behavior. Without it, we're stuck performing dialogue-prompted quests with no end in sight. Is it tough to implement? Much more difficult than dialogue-trees, for sure, but do we really want to stick with "interactive movies?"

Now I need to work out a Scenario randomization scheme for my Roguelike ...



(Post a new comment)


[info]strangea
2006-03-21 06:00 pm UTC (link)
I thought I'd also mention the ever present groan-inducing metric for computer RPGs - hours of play. Your "Story Now" would move this metric into a more attractive range system (e.g. 20-60 hours).

Let me know when you need developers for your game co. :)

(Reply to this) (Thread)


[info]zakarntson
2006-03-22 01:22 am UTC (link)
It's not my Story Now, but yeah, I would LOVE to freaking play a game like this. The replay value could be enormous.

And yes, I will let you know. In fact, I'll let you know for the game company I'm working at right now.

(Reply to this) (Parent)


[info]locke61dv
2006-03-28 04:42 am UTC (link)
Awesome ideas. (I linked them on the 10x10room.) It's cool that you're going to try building this into the roguelike. I actually once had a project in building natural language interfaces into Nethack (so stuff like "kill all the monsters in the room and open the door" would work) but that code is somewhere in thes stratosphere. Let me know if I should hunt for it.

(Reply to this) (Thread)


[info]zakarntson
2006-03-28 10:26 am UTC (link)
Thanks! Except I went over to 10x10 room and saw your mention, but no link back to this page!

I can't imagine trying to write a natural language interface for any game! Interactive fiction is hard enough, and that is filled with requirements for user input. How far did you get? (Oh, and don't bother hunting for the code just yet -- I'm on a self-imposed programming hiatus for at least the next two weeks)

I'm also nervous that I may be presenting a strawman in my sample scenario. Does all branching dialogue involve Hidden Story? Can you construct Story Now through branching dialogue? I need to come up with more examples, since the Kidnapping scenario is almost too fitting of an exmaple.

On the other hand, Jake read this article and then discovered Hidden Story in Morrowind. He was sent on a mission to kill some kind of crabs because they were attacking livestock: Exposition in dialoge! If Story Now were applied, the player would come across a group of livestock and the farmer being attacked by crabs.

(Reply to this) (Parent)(Thread)


[info]jakefish
2006-03-31 08:21 am UTC (link)
Yeah, that part was SO Hidden Story. I was told that mudcrabs were pestering a local woman's livestock. I visited her and she said that the two crabs had dragged away one of her beasts to the south. When I found them that had already finished with the captured animal. I was never "in the moment". Every step of the way, something had just happened. What if I could have stopped the crabs from taking the animal? What if I could have killed them before they killed the animal? Morrowind's (only?) downside it that TIME DOESN'T MATTER. Once I had to escort a woman in two day's time, but other than that, nothing. Merchants keep shop 24 hours a days. 99% of the quests have no time requirement, even if you are rescuing or saving someone.

I heard you were a hit with the 3rd Graders.

(Reply to this) (Parent)(Thread)


[info]zakarntson
2006-03-31 11:27 pm UTC (link)
Hah! I was just reading something on Slashdot about how Oblivion lets you get really immersive, and the quests are really varied and whatnot. They're still quests!!!

I was working on a roleplaying game, and grabbed an old Planescape adventure book, Well of Worlds. I remember it being a classic, amazing example of how to do the weird D&D gaming thing. So I open it up and every adventure is predicated on some kind of on-rails opening or a quest (that inevitably goes awry or has a twist). It hit me that this isn't something new to computer games. It was directly inherited from tabletop roleplaying games.

Then I got depressed until I remembered my Christmas Conan session from 2004.

As for the 3rd graders, one little boy even put his arm around me and leaned his head against mine, like I was his big brother or something. It was so fun! If I ever have to rethink my career, I'd definitely consider teaching third grade. Or at least that class.

(Reply to this) (Parent)


[info]locke61dv
2006-04-10 05:12 am UTC (link)
(Sorry for falling off the internet.)

Yeah, while NL is interesting, I don't think it's the relevant challenge towards creating Story Now video games. So how far did we get? Some bugs notwithstanding, I think we were able to parse stuff like:

* kill all the X in room
* kill the X
* go to the X
* go west 3 times
* pick up the X
* pick up everything
* open the door
* kill all the monsters and go south

You could play a somewhat functional game with it. But, we were limited to the hardcoding of syntax that made sense in the game, and there is a sense in which we've replaced one syntax with another.

(Reply to this) (Parent)(Thread)


[info]zakarntson
2006-04-10 06:17 pm UTC (link)
I get you. Sounds like it was replacing a functional UI with one that, while neat, didn't offer any different play experience (and slowed it down some, since "open the door\n" in a Roguelike can just be 'o').

(Reply to this) (Parent)


Create an Account
Forgot your login or password?
Login w/ OpenID
English • Español • Deutsch • Русский…