Gamasutra: The Art & Business of Making Gamesspacer
View All     RSS
August 22, 2014
arrowPress Releases
August 22, 2014
PR Newswire
View All
View All     Submit Event





If you enjoy reading this site, you might also want to check out these UBM Tech sites:


 
Dynamic Narrative in The Hit
by Dan Stubbs on 04/02/14 06:40:00 pm   Featured Blogs

The following blog post, unless otherwise noted, was written by a member of Gamasutra’s community.
The thoughts and opinions expressed are those of the writer and not Gamasutra or its parent company.

 

I've been dreaming about a player-driven dynamic narrative system for the last 20 years, and trying to come up with a workable design for the last 5. The Hit will be the first part of that to see a public release. I’m going to need as much user feedback and player metrics as possible, so I’m designing the game to be enjoyable and attractive from the start, and only building in the framework for the dynamic narrative system. Once the game is released, I’ll start to add more of the dynamic systems, and develop systems for creating richer and deeper narrative content.
 

One thing I should make clear: I’m not trying to create a dynamic narrative system for a traditional FPS or RPG, though if anyone reading this is, I hope they will find the following to be useful. Instead, I’m building the game around the dynamic narrative system, and many of the design and mechanical systems in The Hit stem from that.

Here's an overview of how the dynamic narrative system will work.

Level 0: Pedestrians & The City.

 

At the simplest level, the City is full of pedestrians. Each pedestrians has an NPC style [which just describes, in numbers the game can understand, how the character looks] and a looped path, which they will walk along forever. The pedestrians are very simple, and ridiculously cheap in terms of processor time, so thousands can exist simultaneously in a scene. They’re also synchronised across the network, so that other online players will see exactly the same pedestrians on the same street.

 

The City itself is composed of sections (each about half a block in size), which each have a set number of assigned pedestrians. Generation rules for each city section will dictate the percentage of different NPC types (suits, casual, etc.) which will be generated for each section.

 

This is where I am at the moment. I’m concentrating on making The Hit fully playable and polished for an initial release, at which point I’ll start building the level 1 systems into the game.

 

 

Level 1: NPCs and The Cloud.

 

If the player interacts with a pedestrian (Initially, if they speak to the pedestrian, photograph them, or follow them for a set amount of time), some procedurally generated information will be attached to that pedestrian, and it will become an NPC. NPCs will have a name, a job, and two or more destinations (usually home and workplace, though they may also have a car, which they will use to drive from one to the other). The simple looping path they follow will also be replaced by a path with a start and an end, so that anyone following will see them behaving realistically.

 

The data used to create the NPC will be taken from the cloud, which is a persistent, and continually changing set of information that covers every aspect of the gameplay. It is essentially a reserve of pre-generated information, so the game always has suitable data on-hand for when it is required. During quiet moments of gameplay, the cloud will be creating new sets of data, including NPC data, but also procedurally generated posters, signs, billboards, graffiti, paint-jobs etc.

 

If the NPC data is not used (say, if the player begins a conversation with the NPC, but doesn’t learn their name, or discover where they live or work), it is either discarded completely, or returned to the cloud, and the NPC will revert to being a pedestrian again. This avoids the need to store data about every single pedestrian in the city, memory which can be much better used elsewhere.

 

This is where I think the system described recently by Ken Levine at GDC falls down. It is not necessary to simulate everything in the game-world, as long as what the player experiences feels real enough. More signal, less noise. Dwarf Fortress, the reigning king of emergent content, doesn’t actually create a narrative through simulation, it just generates enough ‘noise’, with a specific enough context for the the player to be able to create a signal from the noise. However, most players won’t have the patience to filter out all that noise in order to create an interesting narrative.

 

The pedestrians are essentially a programmed animation of the flow of people through a city. As long as that animation is convincing enough, as long as the NPCs are believable enough people up close, and as long as the switch between them is not too obvious, it will appear to the player as though everything in the world is fully simulated.
 

 

Level 2: Characters and the Director.

 

An NPC isn’t quite a character yet. Characters can be created in one of two ways: Firstly, if the player spends enough time in the vicinity of the NPC, it will request character data from the cloud. The other method is via the Director. Similar in purpose to the Director AI in the Left 4 Dead series, the Director is constantly watching over the player, and can make decisions about the various narrative threads which are in play. It can pull data from the cloud on the fly, and attach it to NPCs in the game.

 

Characters have traits, which can have exclusion rules, so that conflicting traits are never assigned to the same character. Traits are modular, and can be common, rare or unique. Most unique traits will have a story (see below) attached to them.
 

Examples of Traits: Hard of hearing, Southern accent, Religious, Unsociable, Gung-ho, Insanely Jealous, Relative is a special character, Deathwish, Serial killer...

 

A small, but important part of creating abstract systems is coming up with ways to represent that system visually, so that users can create and share content quickly. One of my goals is to open up The Hit’s systems to story designers, who will need an easy way to map traits onto their characters, or to understand how collaborators have set up those characters. It’ll most likely end up looking something like the Chakra system, or the Kabbalah.

 

Characters can also be created by designers, either in full or in part, in which case the modular system will allow the designers to rapidly bring a new character to life. For The Hit, I'm not planning to use spoken dialogue at all in the near future, which will make prototyping and testing significantly cheaper and faster.

 

 

The Story Game

 

The Director is essentially playing its own game with the player, and has a few rules it operates by. It has a memory of when the most recent plot-beats (events related to other events) occurred, and will try to ensure that beats continue to happen on a regular basis, occasionally punctuated with standalone incident. It also knows how far the player is along the current major and minor story arcs. That part’s a bit more complex. Probably the best way to explain it is to use a card game as a metaphor.

 

Stories are made up of discrete events, and can exists as individual events, chains of events, or arcs. There is no limit to how long a chain or an arc can be, and stories can also be nested inside larger arcs.

 

Each event will have a trigger condition, where a set number of pieces need to be in place before the event can begin. Conditions can be acquaintances (or rather their traits), objects or information, and can be thought of as cards in the player’s hand. The Director will constantly be sorting its list of events into order of desirability. If the player is missing just one card for a high-value event, the Director may decide to 'force' the card into the player's hand by means of a smaller event.

 

Example of an Event 1 (Western genre): The player has tracked down the Jacoby gang, who have holed up at the family farm. Through stealth and strategy, the player kills the gang one by one, until only 18 year-old Larry Jacoby remains. Instead of fighting, he throws down his gun, and offers to trade his freedom for a particular piece of information. This event could be used to force a character (not necessarily Larry himself) into the player's hand, or an item, or even just information, regardless of whether or not the player lets Larry Jacoby live, and could also provide an exciting and surprising story beat.

 

Example of an Event 2 (Fantasy genre): the player has a magical artifact, and is on friendly terms with a powerful special character, who discovers that the artifact is both incredibly dangerous, and also sought after by a powerful evil special character. He/she decides the player should transport the artifact to a location where it may be destroyed, and calls upon some capable friends to assist the player. This could be the start of an epic arc, and would also allow for the introduction of many characters at once.

 

The advantages of this system are many: rapidity of development, flexibility and game variety, and it also will allow designers to create and alter events as they go, instead of having to design everything at the outset.

 

One point I should stress here is that events will be, as far as is possible, player-directed. The Director is continually trying to set up events around the player, but they will be left for the player to trigger unless it becomes absolutely necessary to force an event. In order for this to happen, the Director can have triggers for multiple events in play at any one time, and will increase that number, and therefore the likelihood of triggering an event, the longer the player goes without experiencing a plot-beat. When the player does trigger an event, most of the other triggers will be removed from play until they are needed again. Only some one-off events will remain; we don’t want the player to be confused by multiple plots. Again, this could be another big advantage over a traditional RPG Quest system. It will allow designers to pace the story, rather than letting player stack up multiple missions in order to maximise their chances of gaining XP from any location.

 

Multiplayer is being built into The Hit from the start, and should offer less problems than in traditional narrative games. Because characters and events are generated per-game, designers will never be faced with the problem of characters existing in different states in each player’s game. Also, characters can be shared between players while they are connected, then withdrawn to their respective games when they leave the session. The main effect multiplayer will have on gameplay is that the Director will have more cards to play with, and therefore more opportunities to create events and advance the story.

 

As I said at the top, right now my focus is solely on making The Hit an entertaining and engaging experience, and get the game out later this year, and then start releasing the user creation tools soon after that. If everything goes according to plan, the first dynamic story content should be appearing in the game before the end of 2015.

 

Dan Stubbs, April 2014
 

Website: www.thehitgame.co.uk

Blog: http://thehitgame.co.uk/wp/

Facebook https://www.facebook.com/TheHitGame

 

Kickstarter: https://www.kickstarter.com/projects/374958068/the-hit-stealth-action-in-a-dynamic-city


Related Jobs

Retro Studios - Nintendo
Retro Studios - Nintendo — Austin, Texas, United States
[08.21.14]

Gameplay Engineer
Trion Worlds
Trion Worlds — Redwood City, California, United States
[08.21.14]

Senior Gameplay Engineer
GREE International
GREE International — San Francisco, California, United States
[08.21.14]

Senior Software Engineer, Unity
GREE International
GREE International — San Francisco, California, United States
[08.21.14]

Engineering Manage - Game Server






Comments


Jon Day
profile image
Great post. I enjoyed it a lot and look forward to seeing your progress.

tony oakden
profile image
I thought this was a really interesting post. I look forward to playing your game when it comes out.

David Cummins
profile image
Really interesting. It reminds me of an article that I read about alibi generation, but taken to the next level. It gels well with some of my ideas, as I feel that most simulations are 90% things that the player will never notice or care about. That frees up time for other aspects of the AI. The thing I find challenging is how to handle the transitions up and down levels well, and how to weave them into a story. Hope to hear more from you!

Dan Stubbs
profile image
I remember that one (I'm assuming it's Ben Sunshine-Hill's 2010 article). Links here if anyone else wants to read, as well as Ben Sunshine-Hill's 2011 talk on creating convincing background characters, which I can't comment on because unfortunately I don't have GDC Vault membership.

http://www.gameai.com/papers.php?a=190&t=&e=&y=&s=e

Thanks for the interest. I'm planning to write-up every aspect of this system, but until I can secure some funding, every minute I can spare is going into developing the game.

Luis Guimaraes
profile image
This is very similar to a discussion I had a recently about a hypotetical dynamically generated detective 'game where the player would keep on finding more about what happened in a context as long as they kept digging, but the stories wouldn't be preset.

The hypotetical system I suggested would be one in which "anything" the player examines around gets to have a story as how and why they came to that place, and that story would be generated on the spot, on each step of the process, using a backwards event propagation system to create chains of past events. Essentially, the system would ask and answer questions of what, who, why, when and how for as long as possible, writing the stories of the crime scenes backwards.

It was just hypotetical talk, but it's something easily prototyped in a boardgame format.

Lihim Sidhe
profile image
"If the player interacts with a pedestrian (Initially, if they speak to the pedestrian, photograph them, or follow them for a set amount of time), some procedurally generated information will be attached to that pedestrian, and it will become an NPC."

This right here is pure, elegant, genius. I am certain that if you keep following your passion The Hit will be a hit; at least a big enough hit to have enough vacation time outside of the two weeks doled out by corporate America. ;)

Your game and ideas are incredible and there are so many things I'd like to say to you. However, one thing comes to mind: Realistic law enforcement. Parking tickets. Traffic laws. People calling the police when they see a crime. Going to jail for years at a time while the game world persists during that time. Death sentence.

I just would hate to see this brilliant idea full of GTA silliness. Let GTA be GTA. If it degrades into people wearing bubble vests, masks, zipping around in fancy cars firing rockets at one another with minimal consequences… I feel that will overshadow the brilliance you are trying to accomplish here.

Or in other words… put your game through a non supernatural Dark Souls filter. I could have just said that.

I wish you the best of luck.

Dan Stubbs
profile image
Dark Souls is the one game I wish I had more time to play. It's a total work of genius, and I admire the purity of its vision, and the lack of compromise in its gameplay. It's a game that takes away the training wheels, in both its gameplay and narrative, and constantly asks you to rise up to meet it. If I can make something one-tenth as good as Dark Souls, I'll die happy.

Thanks, and yes to (almost) everything you just said. I wish I could tell you what I'm planning. I know I can't wait to show you.

Dan

Christiaan Moleman
profile image
This sounds really interesting. Good luck with the project!


none
 
Comment: