Monday, December 7, 2009

Nash Equilibrium and the art of Yomi

I've been playing a lot of Fighting Games lately. See we have a Marvel Super Heroes vs. Street Fighter cabinet at work. A few people who work on my team here have been into this game for awhile and pushing me to try it out. Being a good gamer, I of course wanted to experience this game that I've never played before. This game isn't new, nor revolutionary by an means. It simply addresses the issues with previous games, and makes things a bit more flashy. It's an iterative game without a doubt, but it's a solid fighter and a good amount of fun to play with co-workers when you get a break. This progresses for a couple weeks of casual and fun play and me losing every single match against these Street Fighter adepts.

After a few weeks of playing, I decide that I'm tired of losing and that I'm going to start playing the game a bit more seriously. Of course, my muscle memory improved, and execution becomes easier and easier with practice. And things just started to make more sense. After a couple of months playing the same characters, with the same people, we've started to see the effects of a building Nash Equilibrium within our world of constants. (I say "starting to see the effects of", because the true act of achieving this equilibrium across the board at a single game could take years) Now, this is a very loose definition, technically, if we really wanted to get into it, we could say that choosing the same character every time was destroying the equilibrium, thus we are actually worlds away from it. While that could be a compelling argument and a great topic to converse on, it would draw this post out far, far too long to keep anyone's attention. (I fear it's already far, far too long as is)

Back on point! What the heck is Nash Equilibrium? Put as simply as I can, Nash Equilibrium is the state at which all parties involved are making the best possible choices, while taking into account the other players simultaneous decisions. It's when you know your opponent/teammate so well, that you know exactly what they are going to do. And they know what you are going to do. It's that level of teamwork you see that causes cooperative players to work together in perfect harmony without a peep to one another, or the two world champion tournament fighters who don't dare get overly aggressive because they know exactly what tricks the opponent has up their sleeves. When any two people are playing on the exact same level because they know the level of the opponent, the equilibrium kicks in. 

With competitive games like Fighters, the equilibrium is the factor that makes these matches less appealing to audiences. If you've ever seen any fighting game tournament footage, you've undoubtedly seen the "projectile fights" that happen. While these encounters aren't thrilling for the audience, being in that position knowing what you've got, and what they've got can be pretty tense. The equilibrium doesn't allow you to get flashy or risky, it keeps you grounded, safe, and smart. These concepts are something that need to be taken heavily into account when pursuing any form of competitive design. (Ha, you didn't think I'd loop this back into design huh?)

So how does this factor into other games? Let's take WoW for example (surprise!) Are players in these situations making decisions based on what other players are doing? Of course they are. Anywhere that decisions affect other people, and their decisions affect you, there's potential for this equilibrium to be achieved. These concepts can work in both directions, competitive play, and cooperative play. 

Keeping the equilibrium in minds, a major factor to consider in design is randomness. Developing a level of equilibrium when every ability has random properties can be very difficult. This effectively blows out the number of possible scenarios and makes attempting to predict what's next, and operate within those constraints, infinitely more difficult. This is designing against the equilibrium. But is this a better option than designing for the equilibrium? 

Depending on the type of play you are going for, these seemingly minor choice can result in major impact on the players. Let's look at cooperative play, it can be advantageous for a designer to favor and work towards players obtaining equilibrium. The simplest face value method of facilitating this is through total transparency of information. A player can't learn to work in harmony with others if one doesn't know what the other people are doing. You can see this first hand with the modding community in WoW. There are countless mods out there that help you keep dibs on what everyone is doing, especially in how it pertains to your specific role. Take damage meters for example, one of the most commonly used mods in the game. At surface value, this mod is simply a ranking system where people can say "Oh, I'm number 1". Moving beyond "damage done" functionality, this mod can help to create the equilibrium by giving players full disclosure about your fellow raiders. I know that I don't need to worry about debuff X because Player B always keeps it applied. This allows me to intelligently make a decision based Player B's decisions, thus letting me do more to maximize my role, and in turn help the whole; thus moving one step closer to equilibrium. Once each player is at the same level of equilibrium the group gains the ability to function simultaneously as a group and as an individual. Each and every player in an effective group must be fully and wholly confident in each and every member of the group. This equilibrium needs to be achievement to ensure consistent and effective victory. "He will win whose army is animated by the same spirit throughout all its ranks. " ~Sun Tzu - The Art of War.

Working against the equilibrium in cooperative play is, put simply, making it harder to work together. This is very rarely a favorable option, and is typically frustrating for players. Think about running a dungeon in WoW with a group, and not being able to see anyone else's heath/mana bars. Eventually, people would learn to operate within the bounds of the game. It would require massive amounts of practice, but in time people would develop "a feel" for how hard certain bosses hit, and they would learn to watch the game more intently to keep track of what's going on so they can react. This would drastically slow down Nash, but would it make the game more enjoyable? Would it make better players? Would players want to play it? I doubt all three of those questions. I think playing too heavily against Nash in cooperative play will result in player frustration, and a learning curve far too high for people to tolerate. Of course, I'm speaking in an MMO capacity. As there are many different types of games, fighting Nash could result in beautiful play in different genres.  

Now let's look at competitive play. In competitive play, I feel like this equilibrium can have a drastic effect on the fun and the "skill based nature" of these situations. The second one player fully understands another player, and is able to figure them out, the competition against the system is gone, leaving nothing but pure competition between two people. If I know exactly what you are capable of doing, then I have full ability to challenge that correctly. Providing you know the same amount of information about me, the equilibrium is in affect. While knowing the capabilities is great, know exactly what I will pick is called "Yomi" (The ability to predict, correctly, what an opponent will do). These two concepts work very heavily in tandem to produce a very high level of competitive play. It's much like chess, players are often told to "think 3 steps ahead." Looking at past chess champions, it's quite common to hear of players doing seemingly random or crazy moves just to throw their opponent off. To shatter the opponents yomi and keep their dominance on the other player. Once players are no longer playing against the system in any way, they enter equilibrium and yomi becomes the name of the game.

This is often addressed during game development by including a level of randomness into abilities/encounters/etc. Randomness allows player to prepare for some situations, but not all. Turning your Equilibrium into a branching tree of options, rather than a linear path. While Yomi comes heavily in to play in these situations, any unpredictable behaviour makes achiving equilibrium with your opponent infinitely more difficult. Things with "sometimes" or "occasionally" affects to them force players to keep guessing, rather than calculating. The objective here is to continually reset the equilibrium, thus not allowing play to get too predictable. This, of course, can be argued that play itself should be *totally* predictable and that the responsibility of maintaining or modifying the equilibrium is up to the players involved.

This ties back into the original question concerning competitive play. Do we design for or against Nash in these types of play? I feel it hinges heavily on your goal of competetive play. Is your goal to really give the players a medium where they are evenly matched and the game itself is simply a vessel to allow two players to engage in civil combat? Then you want to design for Nash and allow the players to play each other un-hindered in an environment free of randomness or unpredictable behavior. Or do you want players to be allowed to compete, but still be playing against the game simultaneously? Depending on the scenario, it must be defined if the players are playing against eachoter, or if they are simultaneously playing against the game as well.

Despite which type of play experience you are attempting to create, it's something to keep in mind. I think the art of it all is in defining what type of play are you really interested in creating. Both cooperative and competitive play can work for or against the equilibrium. Total transparency of play allows the player to build their equilibrium by careful observation and study of others, be it opponents or team mates. Inversely, the shrouding of information, can hinder the development of the equilibrium.

No comments:

Post a Comment