27
Feb

Having just recently finished Assassin’s Creed, I was quite looking forward to the talk on crowd AI in Assassin’s Creed. The talk was mostly given by Sylvain Bernard, the Animation Director for NPC & Cinematics. James Therien, the Technical Lead for crowd gameplay, chimed in with technical details here in there, but it was a mostly high level talk. Which was good, talking about their goals and design for the crowd, with a little of how they accomplished it.

They started out talking about measuring their expectations. Sylvain joined the company 3 1/2 years ago. At the time, they were looking at GTA since they were doing an open world game. But their focus would be much more on the crowds. The new consoles weren’t out yet so they didn’t know what they were capable of. They recalled watching the trailer for Dead Rising and using that as a benchmark for how many rendered characters the Xbox 360 was capable of that the player could interact with in some way. They also got reference from movies about how people interact with crowds. Some key ideas they took were that in a dense crowd, people form two aisles of traffic, looked at how the crowd reacts to threats, ways the crowd can be an obstacle for the player (showed some footage from Indiana Jones, yeah!) and can make the player trip and fall. They really wanted to incorporate the crowd into gameplay.

High level goals
Rich NPCs: There is no actual notion of a crowd in Assassin’s Creed. Every NPC is an individual. The crowd is emergent from the behaviors of the individuals.
Realistic Art Direction: The art direction was going for a realistic style, which meant they needed to give the player character realistic capabilities. Compared to the Prince of Persia, where the player could run 10 meters along a wall, the assassin can only run a short distance along a wall. They do cheat where needed, however, to make gameplay more fun. The player can survive a 20 meter fall, for instance.
Animation Style: Tried to make it more realistic. They showed the Prince and the Assassin’s wall climb animations side by side and there was much more movement in the assassin’s animation. Ultimately, they felt their animation style was “stylized realistic.”
Shared Skeleton: All NPCs share the same skeleton. Some characters are just scaled down or scaled up. It was a bit of a challenge to fit all the meshes onto that same skeleton, but ultimately it was worth it because any character could play any animation.

They then went on to talk about some of the specifics of bone count and their animation system. One point I found really interesting was that they said they started with an animation system that was more realistic but the controls weren’t responsive. The player would let go of the stick and his character would take a few steps to stop, sometimes running off a roof. NPCs couldn’t stop on a point. They ultimately went back to a more traditional system to allow for more precise control. This was really interesting to me because we run into the same question, trying to balance really smooth locomotion animations with really precise player control.

Unlike in Uncharted: Drake’s Fortune, NPCs and the Assassin share the same animation system. In fact, you could control every character as the player. They would just switch to using Assassin animations if you tried to do something that character didn’t have the capability of doing.

There are two layers to the AI. The first is the behavior layer, and this is shared with the assassin. These are fine-grained environment interactions. The other layer is for the decisions. There is behavior environment data that acts as guidance for runtime interpretation. These guidelines are used only in specific cases, like when the assassin is climbing. NPCs following him in a chase behavior use the exact same code as the player and do the same environment detection tests to achieve their goals.

The AI decision environment data consists of a navmesh. On top of that they generate a waypoint network for A* pathplanning. On top of that they have metalinks. The waypoint links are simple connectivity info, the metalinks encode complex connectivity such as jumps, ladders and beams. They use steering to move the NPCs and communicate with the decision layer when they’re in trouble (something is blocking it should they stop and wait or what).

Since the game is about crowds, they want the designers to be able to specify in general where they want the crowds to go. Level design placed road segments down in the level. Then the NPCs only had to make decisions about which branch to take as they wandered. This made wandering very cheap. They also used this system when NPCs decided to flee from the player - it was just a different decision on which branch to take.

They specifically called out their lack of a technology like Euphoria (something I know a bit about given the project I’m working on), meaning they had to make a ton of different animations. They only wanted to activate rag doll at the last possible moment because they wanted the limbs to have weight to them. So they then showed an example of a character running into a wall. Many many times. All different heights of walls, running into it forwards, backwards, all every which way. That’s how you get to 15,000 animations, they said. 15,000! That’s a lot, wow.

Next they discussed how the spawned in the crowds. They wanted the city to feel like it was full of people but they had I think 120 NPCs at a time. They first tried just spawning them in a radius around the player, but they ended up wasting spawns in places you couldn’t see. They tried changing the radius of the circle, but if they made it too big they just ended up with a sparse smattering of NPCs in any one place. They called their solution “the blob.” They’d pick the closest triangle to the player on a 2d mesh and then do a flood fill outwards to all the connected places the player could go. They’d spawn NPCs on random triangles within that blob out of sight. They didn’t try to bias the blob in any one direction because the player is so mobile, they couldn’t guess where he was going. They just made sure all the connected streets were full of NPCs.

They had a cool system for creating variety on the NPCs. They could vary the head structure, facial texture, skin color, body texture, gender, height, accessories, AI category, reactions, voice and more on spawn. Beyond just looking different, the crowd was composed of people with different duties. First, there was the base walking crowd, which was made up of bench sitters, monks, beggars, military patrols, trouble makers, etc. Then they had people with specific duties, of which they only ended up with the kiosk workers and the orators. These were to give structure to the flow of the crowd. They had wanted more, like people sweeping or drinking from fountains but ultimately these were all really just aesthetic and didn’t make it in.

At one point they had a big system to do simulation and have people change tasks, but they realized they didn’t need it. The lifespan of an NPC is very short, you don’t care if someone just walks off and despawns.

The reaction system was how the crowd would respond to the player. They talked about how it important it was for design to communicate what they wanted to the programmers. They made some animated videos (what we call pre-visualizations) of what they wanted. Showed us a few, they conveyed the basics of how the crowd should move.

They showed some in-game footage of a player hanging on to a world. NPCs that wander close enough and are facing the player will stop and ask what he’s doing. If more than one stops next to each other they’ll start a fake conversation. Reactions are composed of an individual reaction, the sound that actually comes out of that NPC, and over 100 possible body gestures.

Reactions are much more than a visual system. They have “reaction packs” designed by the level designer so they can have special responses to specific events in the level. Alert was a reaction used to draw guards into a fight. Guard awareness levels were done by switching out the current reaction pack based on when a guard saw a body.

How do you get lots of NPCs at 30 frames per second? They didn’t want to have a level of detail system on the decision or behavior layers because they wanted reactions to be consistent. They do get a little bit simpler as the NPCs get farther from the player though - they don’t do much when they are out of sight of the player. But they did a lot of LOD on animation. The bone counts drop quickly, there’s no more IK, simpler look at, simpler procedural rigs. They focused on making common NPCs as cheap as possible - cheap pathfinding, environment tests, steering, etc. They also made use of multi-threading to take advantage of the X360 and PS3 platforms.

Ultimately, they felt they met their goals of creating a believable crowd. They had a quality focused team with good support from management. They felt they fell somewhat short in incorporating the crowd into gameplay. Blocking the player and reacting to the player was there, but they player couldn’t really use the crowd in interesting ways.

Their team size was around 150-180 people, 1/3 programmers, 1/3 animators, and 1/3 artists. Well, I think that’s what he said, but then were are the designers? Must have took that down wrong.

27
Feb

Christian Gyrling’s talk on the AI/animation system used for Uncharted: Drake’s Fortune was easily the most anticipated talk at GDC 2008 for me. I am currently working on AI for a console action title and this is a subject near and dear to my heart. Hearing how other people have made this system work is fascinating and helps me think about how I can learn from other’s work.

They were facing many problems going into this project. It was a new codebase, a new franchise and a new console. The goal was to make everything bigger! They were expecting 10-20 times the number of animations for each character compared to the last generation of console games. But they still were only planning on having one programmer and one animator for every two characters. You cannot put 20 times the content in with the same number of people.

They decided to figure out which things they could address. First was gameplay scope - they couldn’t make everything better, so what parts should they make better? Next was asset creation - how could they create all these animations? How could they decrease iteration time? Finally, the issue was programming. How should they organize all the animations? With all those anims, how will they choose which ones to play? Do they need complex selection logic?

Their approach was to get something working very rapidly. They got a very bare bones version of the AI up and running. It could stay and shoot, go to cover, get hit, and die. Christian and a designer played with it and took notes on what they saw as a player. When they were having fun what were they seeing on the screen? The average lifetime of an enemy in Drake’s Fortune is 15 seconds. Enemy hit reacts and death were fun. The rest of the time the enemy was in cover or shooting at you. The goal became to make these interactions as interesting as possible.

Problems to solve were that they had a lot of animation files. It was slow for an animator to open them all in Maya. With so many anims, they had mismatching keyframes, especially with transition animations where they go from one state to another. The start and end frame need to be the same, but to check this they had to open another Maya file. To solve this they decided to have fewer actual files and keep all related animations in the same Maya file. For example, all cover animations were in one Maya file that the game extracted the needed frames out of. This solution only works if you have one animator per character, since you cannot share the Maya file. But they found that the animator really took things to heart and felt a sense of ownership when they did own a character like this.

Another problem was that the animator shouldn’t have to go through a programmer to fiddle with his animations. They should be able to tune their anim blends without having to restart the game. They created a tool called the In-Game Character Animation Test Bed. Instead of having the AI contol things, they map all possible AI actions to a controller. Then the animator can run the character around and move it to cover to see all the anims. Time to go from animation creation in Maya to controlling an NPC was around a minute. They also let you reload animation scripts at run-time. They only have a PS3 build of the game, there is no PC build. So letting the animator tweak the blends on the fly on the devkit was really critical.

Next Christian got into a lot of specifics on how they structured their AI and animation layers. I think the most important things to take away were how separate they kept the two layers. The AI would tell the character to move to cover and just trust that it would get done. The animation scripting took care of which animation would play to make it happen. They could have many different enter cover animations and the AI logic would never need to know about any of them.

The other big thing that was fascinating was the technique of Additive Animation (or Delta/Diff Animation). We are all using technology to blend multiple animations together to ease the load on animators. For example, playing a walk animation on the legs at the same time layering on an aim anim with the upper body. But this idea takes it one further. If an animator makes a run animation, then makes a tired run animation, you can basically subtract the run from the tired run to get something that equals “tired”. Then you can add that “tired” bit on to any animation to make the character look fatigued. Add it to the idle, the walk, the run or more and you create a lot of animations without any new work. Awesome.

They also use something he called animation layers. Each of these layers is independent of the others for purposes of deciding when they start and stop. So on one layer you may be playing a run animation that is 30 frames. On another you have an additive run-noise anim that is 300 frames. On the final layer you have some facial animation that’s 160 frames. As the one starting these anims, you don’t worry about syncing them up. Each layer is responsible for itself only, so the run-noise layer isn’t worrying about if the run layer is going to loop, it just plays.

Other interesting bits - they using additive animations for their aiming and look ats. They tried using IK but it caused skinning problems when the character was lying down in low poses. They tried partial animations where they only animated the neck/spine but it made the character look very stiff, and you’d need lots of unique head idle anims. Ultimately they used additive anims that contain the difference in aiming with the neck, back, spine and preserve the base animation motion. Using additive anims gave the animator the power to control the look and feel. Animators will always make things look better than your tech. If not, find better animators.

This was all running on SPUs so had very good performance. 9 clips and 9 blends in normal battle took about 10 microseconds. 2 or 3 times that if the character was changing direction. Memory footprint was about 1 Kb per animation.

He gave some guidelines on what they learned from this technique as dos and don’ts.
no y-translation on hip joints in base anim
little to no hip rotation (use rotated base anims)
high and low poses worked great

He summed up with these parting points.

- choose wisely where to spend your time
- hide animation complexity form the AI through some kind of action interface
- animation states are autonomous
each contains not just an animation but the blend tree
can be tested/verified in isolation
no surprises
- additive animations
cheap - so much bang for the buck
more power to the animators - better visual quality

25
Feb

Long time blog readers will know that I’m a huge fan of the game Civilization. I sunk so many hours into that franchise, I actually think it’s more time than I’ve spent on World of Warcraft. Not only do I love the whole Civilization franchise, I really enjoyed Railroad Tycoon. When I saw Sid Meier’s name on the GDC program I knew I had to go see what he had to say.

Overall, the talk wasn’t great. It was a Q&A run by Noah Falstein and as such it didn’t have much direction. Sid is clearly a smart guy with some interesting things to say, but this was a softball session with questions about where he grew up and what he studied in school. I didn’t really go to get a history of Sid’s life, I was hoping to hear more about his philosophy and future plans.

To paraphrase an interesting point that he made:

Focus has always been on the gameplay. That’s one of the things that hasn’t really changed with the technology. Core gameplay ideas that they experimented with and pioneered “back in the good old days” are still viable. See other people’s games, steal their ideas, see what others build on your ideas. Building on each other, we’re more in this together than working against each other.

Talking about his games in general, he said that they do the research after the game is finished. They’re trying to make a game about the fun stuff - whether we’re talking about a railroad game or civ or what. Do the research after to justify the historical context. Goal is to make the game as fun as possible and then justify it all after in a 60 page manual.

He talked about the value in being both a programmer as well as a designer. He says he sits in multiple seats - first the designer seat, then the programmer seat, then the player seat. Being both the designer and the programmer avoids a lot of meetings. Lots of decisions that you’re not sure of, you’re willing to try since can do it yourself and not use up someone else’s time. Very powerful to have the iterative flow. Play-improve-play-improve. Goal is to have a game up and running within a few weeks.

I find this to be a really interesting idea. In every project I’ve worked on we’ve had a clear delineation between design and programming roles. While I’ve frequently had input into design, I would never consider myself a designer. I can understand Sid’s point about prototyping ideas and only using your own time, I guess I just haven’t worked on a project that had that much freedom to experiment.

Noah asked “Would you recommend that all designers learn programming as well?” and Sid said he would. He thinks that with Xbox Live Arcade and Steam there is once again a place for a small team based in a garage. If you’re a young designer looking to prove your prowess, Xbox Live is a great place to do it. Then Sid made a really cool point - small team games doesn’t have to mean simple games. If you look at the credits of Railroad Tycoon, it was just a handful of people. A few people can make a game with complex gameplay. The games they made 10 years ago are casual by today’s standards if you consider only team size.

Talking about the very early games, he said that they had to do a lot of work with your imagination because they only had 16 colors. Finding ways to trigger those responses where your imagination comes into play. Red Storm Rising was a submarine sim set in the Cold war era. It was just two dots moving across the screen but it managed to evoke the feeling of a sub dodging a nuclear missile in your imagination.

Noah asked, “You haven’t gone down route of traditional story but your games are really good at evoking people’s own stories (like Will Wright’s). How do you feel about story, emergent or otherwise?” Sid said that the key rules of game design is who is having the fun. It is important that the player have the fun. In story based games, a lot of time the designer is having all the fun. Sid believes you should allow the player to tell an interesting and rewarding and brand new story. Keep the designer in the background and let the story emerge from the players decisions. But Sid was quick to explain that this was his philosophy and that he very much admired other people’s story-based games, that was just not something he is interesting in creating.

Some other random tidbits of wisdom:
Every unit in the game is useful. Came out of iterative tuning.
Always trying to keep the complexity at a manageable level.
Every unit and technology is a decision and it has to justify itself otherwise it’s just adding complexity without purpose.
Repeated play identifies the losers and they’re gone.
Taking bad stuff out is just as important as putting good stuff in.

What games is Sid playing?
Interestingly, he said he doesn’t play strategy games. When you do something all day you want a change of pace at home. He’s really been enjoying car games like Gran Turismo and Forza. He liked Mercenaries for some reason, though he’s not an FPS person. He liked Halo as well.

Asked “Do you ever have any intrest in making a sort of monumental combination game that sums up everything you’ve ever done?” (like Spore) he answered with an amusing and concise, “No.”

“What motivates you to make games?” The desire to play a game that hasn’t been written yet. Feel like the games that he creates fill a void, they haven’t been made before.

Finally, an audience member said that he’d once had the opportunity to ask American McGee what game would come ouf of a collaboration between Sid and American. American said something like “Railroads in hell.” So the fellow asked Sid the same question. This was actually pretty interesting, Sid said something like “That’s exactly why we should never work together.” He thinks that big designers shouldn’t work together. You’d get the worst of both worlds instead of the best. When making a game, you need someone with a creative vision and you can’t have multiple visions to make one game, no matter how big the game is.

He spoke a bit about the upcoming Civilization Revolution, the re-imagining of Civ for consoles. I’m looking forward to what they’re doing. Sounds like they’ve really revisited what it means to be a Civ game and really tried to figure out what makes Civ Civ, and boil that down into a new and unique console experience.

24
Feb

Here’s part two of my notes on Rob Pardo’s GDC talk. Read the first part here.

Game Balance - Define Your Criteria
For each game, the aspects that factor into game balance are different. For WoW, the requirements for each character class are that every character class can solo to max level, have an important role in a group, have an important role in a raid, be competitive in group PvP (it was not a goal to have every class beat every other in a duel) and be fun!

For Starcraft 2 each race is totally different. Every time they add a unit to a race they intentionally do not add that to the other races. They did a press demo where they showed off the Protoss Mothership and everyone kept asking “What’s the Terran equivalent unit? What’s the zerg unit?” But there isn’t an equivalent, all the trees are unique. Better players can win games fast - some novice players complain about the early Zerg rush, but that’s why matchmaking is so important. It sucks for the advanced player to have to spend 20 minutes in the game to win versus a much inferior opponent. This point was really interesting to me because I worked on real time strategy games for many years and we did spend a lot of time talking about how to eliminate the early game rush as a viable strategy. Blizzard explicitly seeks to maintain that strategy because they feel it’s important that players can get better and there be a large skill differentation. Offense over defense - they want players to attack. If you’re playing a version of Simcity in Starcraft 2, focusing on building a pretty city, you’re going to lose. Every unit has a counter - maybe not a direct counter but something that can be used against it. And again, the game has to be fun.

Math vs Fun Math is the foundation for all the game balancing you do. Rob talked about his design philosophy being that everything should feel overpowered - don’t use the math to balance the game into mediocrity. If you have a huge tank it should be UNBEATABLE! except that there’s a counter to take it down. The same applies to the classes in WoW. Now, this is a nice thing to say but I don’t know that this is really how they make decisions in WoW. One of the things we’ve been seeing is that priests are no longer the best end-game healers. Druids have usurped their position, and pallies have plate and other benefits that make them better endgame healers as well. We heard that Blizzard was looking into making the priests a better option, but it has sounded like they were going to nerf druids and pallies rather than improving priests. Who knows though, that’s just more forum complaining perhaps.
Must understand nuances - if you’re balancing it you have to be able to play it. The designer working on balance can’t just watch a replay or read a spreadsheet. You need to play the game to understand how your pathfinding algorithms are affecting one unit vs another. There is a lot of information that is not going to show up in a spreadsheet, only when playing another person. Balance for all skill levels. He gave an example of the shaman power Bloodlust from WoW. Bloodlust was working great in solo play but in 3v3 arena play it was overpowered and it’s tricky to affect just the 3v3 situation.
No super weapons! - if other person teched up to build something and there’s nothing the other player could have done to stop it, they’re going to get upset. Starcraft nuke could have been considered a super weapon, but you had to scout out with a ghost and then target and then the opponent has several seconds to react. The opponent has multiple chance to react before the nuke comes in. He can see the missile silo, can detect ghost sneaking in, or gets the nuke detected message and can find red dot and stop the ghost.
Use your beta - you have a very changing game and you don’t have a lot time to make changes. For an RTS, you might be in beta for 3 months, and you’ll want to get as many balancing passes in during that time as possible. He talked about how important it is to get feedback from the players during the beta. It’s much easier to de-power things that are overpowered than to get them to start playing things that are useless - if it’s underpowered, overbuff it so they’ll use it and you’ll get feedback and can tone it down.

UI Affects Balance
This was a really interesting point. Many convenience features that people have added to RTS games have actually made those games easier to play. He cited many examples.
Unlimited selection - Lots of people complained that it seems silly you can only select 12 units at a time in starcraft. He said it was a long drawn out argument on whether they should switch to unlimited selection. This goes back to skill differentiation. If you can do unlimited selection you can select 100 zerglings and they’re much more powerful now since you can order them all at once instead of having to select many groups individually and assign them orders. It makes it much easier to concentrate firepower with hydralisks when you can order all of them at once to attack the same target. Multiple building selection - In Warcraft 2, the player had to select each individually and then queue them to build individually. They added the ability to select multiple buildings at the same time and this makes it much easier to queue up units with less time from the player.
Sub Groups - Before Warcraft 3, you’d only get buttons that they all selected units shared. With Warcraft 3 you could still get spells from the primary unit, so you could have lots of units selected and still cast spells. This made spell casting much easier and therefore more powerful.
Click to Move - During the WoW beta they decided to try a click to move feature. You could make it play a little more like Diablo - right-click and your character will automatically run to that point. When the feature first went in, it went in wrong such that if you clicked on an enemy, the player character would automatically turn to face them, run towards them, then attack and if they ran away your character would keep following. This completely removed skill differentiation. Blink didn’t matter, if they hid behind a tree it didn’t matter, the character would just follow. Blizzard quickly pulled this out.
UI Mods Blizzard is constantly trying to evaluate what mods are out there and should they be balancing the game for the modders or the non-modders. If a mod comes out that really breaks game balance they sometimes purposely put something in to break the mods. They have simple guidelines for the most part: anything that turns your character into a bot they’ll try to break. Outside of that, all mods are good

[My notes are really long, so I'm going to leave some of these things as lists instead of filling in more detail so as to get this posted in a kinda timely fashion and to avoid boring you with too much detail]

Game Balance - It Never Ends
- Change is always bad to players
the change itself will be bad even though it’s good in the long run
- Maintain your game to keep it relevant - if you want a multiplayer game that lasts for years you need to be committed to supporting it for years. They are still patching Warcraft 3 - 4+ years old, still maintaining it from a balance perspective
- Ban the cheaters
if you don’t take an active stance towards the cheaters, if you don’t find them and stop them they will destroy your game
- Plan patches, but leave time to be reactive
at any given moment some strategy will be uncovered that you must fix
- Don’t panic!
a strategy that seems overpowered, given enough time players will find a counterstrategy
if you change things all the time whenever someone finds a winning strategy, players will begin to use you as a crutch, “I don’t need to become a better player, learn a new strategy, blizzard will fix it for me”
give it a little time to develop

Player Psychology
- Perception of fairness
you may have best balanced spreadsheets in the world, you may be able to mathematically prove your game is balanced
but if you the players don’t believe it is…
arguing on the forums is not the answer. they’re going to post their opinions and they’re going to spread
[His image to accompany this slide was from Penny Arcade, Shaman Player Characters no longer take damage]
- Players hate losing
frustrating to play for 30 min-an hour and then lose. play again and lose again.
try to combat that so even the losing side gets something. get a mark of honor even for losing.
- How do they climb the ladder?
starcraft uses chess system, top players don’t actually play the game because losing a match costs them a lot, while winning gives very little
other methods don’t find best player but more fun

Incentives drive behavior
- original vision of AV was an epic huge battle zone including player-controlled bases, NPC support, quests
- insufficent incentive to engage in several smaller skirmishes resulted in DPS race to kill the opposing general
instead of meeting in the middle of the battlefield and fighting they would just run on by
“good luck storming my castle, i’ll have fun storming yours!”
- what we meant to do: give even the losing side some kind of reward for fighting an epic battle
knew it would be 30-45 min match and wanted the losing side to even get some honor
- what ended up happening: AFKaving, players log in and grab a sandwich and come back to get honor

More examples
- In beta you had a message when you got inspected. Inspect message was creepy. Players wanted them to get rid of the feature, they just got rid of the message
- The rest system - it’s not a penalty - it’s a bonus!
originally implemented it the other way. you started getting a full experience and it got halfed if you played too long. People felt like they were being punished for playing a lot. they reversed the explanation and it’s the exact same system and now people love it.
- Warcraft 3 “thumbs” - could thumbs up or down any maps you wanted. all thumbs would turn into votes when you got matched with someone. the problem was that people’s expectation was they thumbs down they won’t see it, but it’s a vote. Changed the system so you get some limited number of VETOs, and that is not going to get picked. Went with player perception rather than trying to ram their design down people’s throats

Visualization - Visual Clarity
- Does a unit,gun,weapon suggest its function and power
- special effects can cause confusion in battle.
too many fx going off means you really can’t tell what’s going on
- time differentiation
alliance v horde
team color
- avoid hidden modifiers
had to have hidden modifiers to balance the rts but that makes it harder to play the game
Visualization - examples
- team fortress 2 - who runs faster, who has more hp?
[burly dude versus thin dude]
- harder in sci fi
[starcraft 2, huge thing versus zergling]
- very hard to do in an mmo - players can customize themselves
good reason for class based armor, art of armor set suggests the class
show same model in warlock vs priest gear

Home Stretch - Maps
- Random vs. pre-made
both have pros and cons. they go pre-made approach, more control over the experience.
player perception is always “the map generator screwed me, i have worse starting position”
- number of maps - more not better!
want a small number that players can learn to play on. starcraft about 8 per template.
players won’t ever learn the maps with too many
- black shroud vs dark fog of war
starcraft veterans didn’t want to play on new maps because they didn’t know terrain so opponent would get bonus. Warcraft 3 had fog to show all resources and basic terrain so players wanted to explore new maps and not be afraid of them
- Size does matter
want it as small as is reasonable for the number of players, otherwise it takes too long to get into combat

Home Stretch - Matchmaking
one of most difficult things to get right if you want to have a successful mp game
- less buckets is better
developers always want to give players power user feature - what map, how will i play with, etc etc.
but with all the different options, there’s no one to play with since everyone is in their own bucket
that’s why randomized maps - less matchmaking buckets
if not enough people are in a bucket, the template dies
- don’t give players too many choices
- feedback on system is critical. players want to know if it’s working
bg queues give feedback so they know its working
lfg system doesn’t give feedback so no one uses it
- momentum can work against you. if players think the system is broken then it is.

Decide upfront if you want an e-sport game
outside of the game design choices, a lot of what’s fun is making it a spectator activity
need to make sure you ahve replays so people can share and learn by watching
- replays
- spectator mode
poker got popular when they came up with the poker hand cam. really showed the drama
and helped illustrate the process of the players. added spectator to the game
- referee controls
- web support
w3 site tracks all sorts of data/stats. build a community around the game
- map editor, modding ability
- easy way to transfer maps back and forth

Ok, that’s all folks. If anyone wants me to elaborate on some of those bulleted lists, let me know and I can go back and fill in some more words and stuff.

22
Feb

The second talk I saw at GDC was Rob Pardo’s Rules of Engagement: Blizzard’s Approach to Multiplayer Game Design. Rob Pardo is a name I recognize as a frequent reader of WoW Insider. He’s Blizzard’s Senior Vice President of Game Design, and a frequent voice to the press on what is going on with World of Warcraft. But all my opinions of him were tainted by the non-objective reporting of WoW Insider and from actually reading the WoW Forums.

I love WoW. I’d hope I do considering I’ve been playing it for 2 and a half years. I write about it, I talk about it frequently, and I’d have to say it’s been my most consistent de-stress outlet for these last few years. But we all love to hate it as well. WoW Insider frequently has posts that hate on Blizzard for their choices, for their “nerfs”, for design changes they don’t understand (and I don’t either). And I’ve gotten so wrapped up in that, I forgot how much I respect Blizzard in the first place for making some of my all time favorite games (I loved Starcraft and Diablo 2 back in their time as well). Not to bash WoW Insider, but they frequently bring info from the WoW forums, not the most calm place to gather your information.

This talk made it clear that Rob Pardo is an intelligent and articulate guy who really knows the ins and outs of Blizzard’s games. It reminded me that Blizzard isn’t some faceless corporate entity anymore than my current employer is - it’s made up of many people all pouring their hearts into games they’re passionate about. But enough of my editorializing, what did he talk about, you’re probably wondering! His talk referenced mostly World of Warcraft and Starcraft, with a smattering of Warcraft 2/3 and other people’s games thrown in.

Do the multiplayer game first, and the single player game next

Multiplayer games have more constraints. If you aren’t thinking about game balance and what happens when the game is released you’ll find yourself in a position where you have to rip out all sorts of game systems. This applies hugely to RTS games, like Starcraft. If you aren’t thinking about how the races will play against each other you could design systems that won’t work when you pit players against each other. Interestingly enough, I saw a talk that Soren Johnson gave at GDC last year about developing Civilization 4 and he said the same thing - they started with the multiplayer to make sure they really balanced the game systems against each other properly.

MP divides into PvP and Co-op
There are different things to think about between the two. For Player vs. Player games (like Starcraft) balance is critical. It’s not nearly as important in a cooperative game. If your game is unbalanced in PvP it will fail. Skill differentiation is a must, as the game needs to have competitive aspects so that players can get better as they gain skill and knowledge. Ladders and rankings are also a must.

For cooperative games, communication methods are really important. Voice chat, instant messaging, whatever it takes. If players can’t communicate well they can’t play effectively together. This goes beyond just chat, as an example from WoW raid leaders need mechanics to communicate targets. Designing your game with complementary classes in mind is key. For Warcraft 3 they tried to think about how the races would play with each other. How would a co-op matchup play out with a player choosing Orcs and another Humans? This is even more important in an MMO so players can act as a team and build different group compositions to have an interesting experience.

Next Rob talked about the idea of Non-combat PvP. Player’s compete with each other in ways other than just trying to kill. Economy was his first example. For WoW, they actually set up the Auction House explicitly in such a way as to allow for interesting gameplay. People asked for proxy bidding for the AH, which is like ebay bidding - the player sets the highest price they’re willing to pay and the game will bid up to that if other bids come in. But they wanted more gameplay to the AH so that if people wanted to be “merchants” and spend their time in the cities working the AH they could gain a benefit. He then threw out a nod to another MMO to say that EVE Online goes to extraordinary lengths to have interesting economy, but didn’t go into any detail. He flitted through some other examples like politics and racing, where people aren’t directly competing with each other, they’re competing to get the best time. In WoW, people have created a race to get to the max level quickest, all on their own. He also threw dating out though he joked “this can turn into combat PvP.”

Rob delineated different types of PvP Skill Differentiation. What was interesting to me is that I’ve heard people complain about a lot of these features and try to design them away. It was fascinating to hear that Blizzard embraces these as gameplay aspects. First up was Twitch/Micromanagement. He said that you need something to let players differentiate their skills. Starcraft is a twitch RTS. Multitasking is another critical RTS skill. The big question is how much time do you spend at your base versus how much time in battle. He talked about how he’s seen people try to design this away by automating base but you’re eliminating a skill differentiation. Some other skills mentioned were: Economy dominance (RTS), Knowledge of opposings clases and races (useful for all genres), meaning the more you know of how the game plays, the more you can use that skill. Map Knowledge (all) and finally Avatar improvement (MMO). He caveatted this last one and said it is not always a great example. Gear and time invested make you a better player, but it’s not a skill differentiator.

This post is already too long so I’m going to cut it of here. I’ll return with part two of my notes and more on this talk. Sorry if it’s too much detail but I thought it was a really interesting talk!