Double Buffered

A Programmer’s View of Game Design, Development, and Culture

Archive for March 29th, 2009

GDC09: From COUNTER-STRIKE to LEFT 4 DEAD: Creating Replayable Cooperative Experiences

Posted by Ben Zeigler on March 29, 2009

Here are my notes for the GDC Session “From COUNTER-STRIKE to LEFT 4 DEAD: Creating Replayable Cooperative Experiences” presented by Michael Booth from Valve. As a summary, half of the talk broad overview of the design of Left 4 Dead, and half of it was discussion of specific methods for achieving the randomized AI behavior. The first half was a rehash of various stuff I’ve read other places online, but the second half was all new to me:

Initial Design of Left 4 Dead

  • Why Left 4 Dead? The developers (at this point pre-Valve-purchase) identified a gap in the market for a cooperative shooter, and saw that it would be a good format for building a community around. They decided to fully commit to a game that requires 100% cooperation, and guide the design to fit that.
  • The entire survivor team was treated as a single player. This means that players should be happy if anyone makes it out alive, and the design needed to penalize players who abandoned their teammates. However, the team had to do this in a way that would feel natural, because artificial teamwork never seems to work with the somewhat cynical gaming crowd.
  • The zombie apocalypse setting was a logical solution to this problem, because “stay together or die” fits naturally with the fiction of the genre. Players already understood why they had to work as a team.
  • The team started with just zombie wanderers and hordes, and then they added in the special zombies to fix specific gameplay issues that arose from the original playtesting. The hunter was the mechanism for enforcing death to lone wolves. The smoker was designed to break up overly coordinated groups so they would still experience the fun of panic. The boomer was designed to make players think before firing.
  • The moments of incapacitation that special infected added were very useful in building cooperation. It forced players to work as a team, and gave them the opportunity to “be the hero”. It turned out players really ended up loving this mechanic, and it drove people to keep playing the game.
  • The Tank and Witch were designed to create points where the players would have to temporarily change their strategy completely, and were modal in the same way as a traditional boss.
  • The original goal of vocalizations was to help with situational awareness, but it was found that giving the characters personalities helped to create a sense of camaraderie. This encouraged players to work as friends, by working within the established social relationship of the existing characters.
  • One concept they discovered midway through was the importance of Dramatic Anticipation. Originally the Boomer was a bomb that exploded when shot, but this was found to be too penalizing to beginning players (they would shoot one and kill most of the team, which would then make the veterans ostracize them, killing the community). They changed it so the boomer would draw a zombie horde, which actually ended up feeling a lot cooler, because the dread/excitement that occurs when you wait for the horde to come. They then pushed that concept with other details, such as the car alarm and tank sound effects.

Structured Unpredictability

  • Overall the goal of gameplay was Structured Unpredictability. The basic idea is low probability + high drama = memorable. The goal was to create awesome possibilities that people would remember, but to keep it structured so players could learn some skills for dealing with specific situations when they did randomly arise.
  • A big part of this is the adaptive dramatic pacing. This originally came about from studying the pacing of CounterStrike. CS has a very “spiky” pace, where there are periods of quiet tension followed by extreme excitement. It was very unpredictable, but sometimes lead to dull games when both sides decided to be cautious. The goal of Left 4 Dead was to bring this pacing to Co-Op play, but without the possibility of boredom.
  • The algorithm for pacing first estimates the emotional intensity of the team. The solution they settled on increases intensity with damage received, and then decays over time if the players are not actively fighting. The algorithm uses the highest intensity of a single member of the team, as opposed to an average.
  • The 4 phases of dramatic pacing are Build Up, where it spawns things until someone hits high intensity. Then it sustains it for a bit, then fades it, then goes into “relax” mode for 35-40 seconds or until they reach farther in the map.
  • Basically, the system is always attempting to spawn things in Build Up, but if the players are in relax/fade it will refuse to spawn things, thus giving them a breather.
  • The specific method of spawning works by keeping track of an “active area” around the team. It then uses information in the pre-computed “navigation mesh” as well as the concept of “flow distance” which is how far along in the map the players are.
  • Normal infected spawn in areas that are currently not visible, and have NOT already been checked (so there is some gameplay advantage to searching. This was news to me). They normally spawn behind the players, to force them to keep going forward.
  • Special infected spawn in areas that are currently not visible, but CAN spawn in areas that have been checked. They often spawn ahead of the players.
  • Bosses spawn according to their own system. It splits a level into segments, and for each segment it will spawn a tank, a witch, or none. It never spawns the same thing twice in a row, but otherwise is just random and is not attached to the intensity system.
  • One important concept was that there are no preset spawns. Preset spawns force players to memorize spawns, which hurt cooperation by penalizing new players. Instead of preset spawns or complicated algorithms, it works via several layers of very simple algorithms.
  • Other new features that helped cooperation were changes to VoIP, an in-game instructor, voting to kick players, split screen play on the XBox360, achievements, and the new lobby system.
  • The robust survivor AI (derived from CS bot AI) was a huge win, because they could always balance for exactly 4 survivors, and the drop-in-drop-out play meant that setting up online games was much less irritating. Also, it was very useful for testing, because they could run a group of AIs at high speed to test out levels.
  • In conclusion, random internet players WILL cooperate if you provide the proper structure for them to do so.

Q&A

  • Because their primary focus was on the cooperation aspect, gameplay features like ammo scarcity and multiple character classes ended up not as priorities. There is work that can be done here to add depth, but needs to be balanced against cooperation.
  • Michael said that all of the AI and balancing was a black box entirely controlled by software. He felt this was a problem now that they were part of Valve, and they were fixing it. (I’m not sure how bad this really is, as long as you have a responsive programming team)

The most important take aways for me were that Left 4 Dead implemented their entire dynamic AI system as a layered set of extremely simple, playtestable algorithms. Also, they put a lot of effort into designing to encourage cooperation and a healthy community (as opposed to prioritizing gameplay depth), which obviously succeeded given the size of the Left 4 Dead community. Also, the identification of the power of spiky pacing is something that I wish every game understood. This was a great talk, and I would recommend everyone check out future talks by Michael Booth.

Posted in Game Development, GDC 2009 | Tagged: , , , | 3 Comments »

GDC09: Meaning, Aesthetics, and User-Generated Content

Posted by Ben Zeigler on March 29, 2009

Here are my notes for the GDC Session “Meaning, Aesthetics, and User-Generated Content” by Chris Hecker, of EA/Maxis. It was a broadly-focused talk about things both directly and tangentially related to User-Generated Content (UGC).  It reminded me a good bit of Chris’s talk from last year, in that I wouldn’t say it had a clearly defined focus, but did a good job of bringing up a variety of interesting points:

Categorizing User-Generated Content

  • Two axis of categorizing User-Generated Content: Aesthetics vs Behavior, and Parametrization vs Creation.
  • Parametrization means that the space of possibilities is small enough that it is theoretically completely explorable, and sliders are the normal UI for this. An example of this kind of content is the City of Heroes costume editor, where the possibility exists of a “Random” button which is guaranteed to create a valid costume (incidentally, the City of Heroes random button has issues that mean it won’t actually explore the entire theoretical space)
  • Creation becomes the correct approach when there are too many dimensions of behavior to explore using only sliders and pickers. Creation-based UGC ends up creating create<->test cycle. The length of this loop affects the overall usability of the system, where long cycles are harder to use and approach just being full development tools.
  • Given those ideas, what are the limits of what is considered UGC? Are the machinations of player corporations in a game like Eve UGC? What about something like high-level fighting game tournament play, where the excitement comes out of the specific tricks players invent.

And Now For Something Completely Different

  • At this point, Chris’s talk was interrupted by a surprise Russian Space Minute featuring Will Wright. He went over the development of the Russian Buran space shuttle competitor, and it was both informative and hilariously out of context.

Who Makes UGC?

  • Who really makes UGC? According to wikipedia statistics, 2% of users perform 73% of total edits. However, that’s not a useful statistics because it’s about number of edits, instead of amount of actual content. Analyzing the Alan Alda article on wikipedia, only 2 out of the top 10 content contributors (by amount of text added) were even registered. 1% rule is a lie.
  • The old broadcast model of communication has broken down, and has split into two competing models: crowdsourcing (last.fm) vs curated (Pandora). Both have benefits and issues, but crowdsourcing is the currently more successful model
  • In Salganik, Dodds, Watts 2006, the authors did some research into song rating by groups of people. Research subjects were split into several groups, and in each group half the subjects would see the ratings of others when making their rating, while half would rate the songs only based on their own thoughts. Across the groups, the subjects who didn’t see the other ratings were fairly stable, while the subjects who saw the ratings of others tended to make much more random ratings, that would stabilize based on the initial ratings in their particular group. Seeing the ratings of others made the end results more random, which is counterintuitive.
  • Dan Gilbert (TED Talk) has researched the Free Choice Paradigm for Dissonance Reduction, or what is also called synthetic happiness. Research worked by having people rate 6 paintings, and offering them a print of their two middle choices (which were rated very closely initially). Then, several months later they were asked to re-rate the paintings. The mediocre painting they choose became much more liked, while the one they didn’t choose before became despised. Even more interesting, they performed this on people with inability to create short term memories, and the research still worked. Choosing something inherently and automatically makes you enjoy it more. (I call this the “fanboy” effect, where the system you buy becomes the system that is obviously better. It’s not just for people on forums, it’s basic human psychology)

How Do Games Mean

  • An important near-term focus of game research is figuring out How Do Games Mean? Ie, what is the correct method for a game to provide meaning?
  • One approach is the “Message” model, as discussed (and discouraged) by Frank Lantz and Jonathan Blow. This means that the creator adds explicit packets of meaning to their games, which they then transmit to their audience, much like passive media.
  • Another approach is the “Immersive” model, as discussed by Steve Gaynor and tale of Tales. This consists of building a world that contains various bits of meaning, but NOT explicitly showing them to the player. The player is then free to find them themselves, or ignore them as desired.
  • The last approach is the “Looking Glass” model, as used by Marc LeBlanc and Doug Church. The idea here is to completely abdicate authorship to the user, to get off the stage and let them actually create their own meaning.
  • But do we abdicate enough authorship as game designers? Walton Ford is a painter who creates works with lots of layered meaning, and also adds extensive labelling to point out the intricacies of the work. However he has been trying to wean himself off the labels, because they feel too directed, and leaves no room for interpretation.
  • Is it time for an “Interpretative” model of meaning in games?
  • For instance, there is the difference between beautiful (safe) and the sublime (scary). UGC pushes expression, and leads to things like weird double monkey creatures in Spore, which are not beautiful but have the scaryness of the sublime.
  • What are games as a platform? Games are a platform for meaning.

Sorry about the notes for the end of the lecture, I was getting tired and hungry by that point, and the lecture was running long. I may have reconstructed them incorrectly. Also, throughout the lecture, Chris demonstrated various Spore creatures that somewhat illustrated his points, but I was too distracted by how cute the walking chair was to accurately note which ones he showed. Overall, it was a definitely a talk worth going to, although I can’t help but wish the disparate threads had come together a bit more satisfyingly in the end.

Posted in Game Development, GDC 2009 | Tagged: , , , | 2 Comments »

 
Follow

Get every new post delivered to your Inbox.