Subscribe

Get updates via e-mail:

Thursday
Oct232008

7) Yomi: Spies of the Mind

What enables the wise sovereign and the good general to strike and conquer, and achieve things beyond the reach of ordinary men, is foreknowledge. This foreknowledge cannot be elicited from spirits; it cannot be obtained inductively from experience, nor by any deductive calculation . . . the dispositions of the enemy are ascertainable through spies and spies alone.
—Sun Tzu, The Art of War

Sun Tzu held spies in the highest regard, saying that they should be rewarded more liberally than any other relation in war because the foreknowledge they can provide is more valuable than any other commodity in war. When one knows where the enemy will strike, one doesn’t need to spread his forces thin protecting a dozen possible targets. When one knows when the enemy is unprepared, one can strike and be assured of victory. When one knows the habits of the enemy general, those habits can be turned against him. The use of spies to gain foreknowledge is like being able to see into the future.

I see only one move ahead, but it is always the correct one.
—Jose Raoul Capablanca, 3rdWorld Chess Champion

Yomi

In competitive games, there is little more valuable than knowing the mind of the opponent, which the Japanese call “yomi.” All the complicated decisions in game theory go away if you know exactly what the opponent will do next. Sun Tzu says that reading minds is for the spirit world, and on that I cannot comment, but I have witnessed firsthand the ability of some players to “achieve things beyond the reach of ordinary men” through eerily powerful yomi. Perhaps these players are simply adept at “studying the details of the enemy,” but it seems to go far beyond that in some. There is one player who I would even say has a supernatural ability to spy on the minds of others, knowing which moves they will next make—if it weren’t such an absurd thing to say. But believe me, those who have witnessed Japan’s fighting game player Daigo Umehara do speak of these things in hushed tones, fancying that they might be true.

As a side note, I would even argue that the “strategic depth” of a game should be defined almost entirely on its ability to support and reward yomi. For a silly example, consider tic-tac-toe. There are only nine opening moves, and only three of them are functionally different. Even if through some witchcraft you know the move the opponent will make next, it doesn’t really matter. The game is so constrained that the opponent is forced to make certain moves, so the novice player along with the master of divination will be on basically the same footing. There is no room to develop “tendencies” or a certain “personality” or style of play in tic-tac-toe. There is only a simple algorithm at work and no room for yomi at all.

Yomi Layers

Any decent competitive game needs to allow you to counter the opponent if you know what he will do. What happens, though, when your enemy knows that you know what he will do? He needs a way to counter you. He’s said to be on another level than you, or another “yomi layer.” You knew what he would do (yomi), but he knew that you knew (yomi layer 2). What happens when you know that he knows that you know what he will do (yomi layer 3)? You’ll need a way to counter his counter. And what happens when he knows that you know . . .

I’ll nip that in the bud: there need only be support up to yomi layer 3, as yomi layer 4 loops back around to layer 0. Let’s say I have a move (we’ll call it “m”) that’s really, really good. I want to do it all the time. (Here’s where the inequality of risk/reward comes in. If all my moves are equally good, this whole thing falls apart.) The “level 0” case here is discovering how good that move is and doing it all the time. Then, you will catch on and know that I’m likely to do that move a lot (yomi layer 1), so you’ll need a counter move (we’ll call it “c1”). You’ve stopped me from doing m. You’ve shut me down. I need a way to stop you from doing c1. I need a counter to your counter, or “c2.”

Now you don’t know what to expect from me anymore. I might do m or I might do c2. Interestingly, I probably want to do m, but I just do c2 to scare you into not doing c1 anymore. Then I can sneak in more m.

You don’t have adequate choices yet. I can alternate between m and c2, but all you have is c1. You need a counter to c2, which we’ll call c3. Now we each have two moves.

Me: m, c2 You: c1, c3.

Now I need a counter to c3. The tendency for game designers might be to create a c4 move, but it’s not necessary. The move m can serve as my c4. Basically, if you expect me to do my counter to your counter (rather than my original good move m), then I don’t need a counter for that; I can just do go ahead and do the original move—if the game is designed that way. Basically, supporting moves up to yomi layer 3 is the minimum set of counters needed to have a complete set of options, assuming yomi layer 4 wraps around back to layer 0.

This is surely sounding much more confusing than it is, so let’s look at an actual example from Virtua Fighter 3 (which will almost certainly confuse you even more).

Example of Yomi Layer 3 from Virtua Fighter 3

Let’s say Akira knocks down Pai. As Pai gets up, she can either do a rising attack (these attacks have the absolute highest priority in the game) or she can do nothing. A high rising attack will stop any attack that Akira does as she gets up, but if Akira expects this, he can block and retaliate with a guaranteed throw. Pai does the rising kick and Akira predicts this and blocks. Now the guessing game begins.

Akira would like to do his most damaging throw (that’s his m), and be done with it. Even though the throw is guaranteed here, all throws can be escaped for zero damage if the defender expects the throw and enters the throw reverse command. The throw is guaranteed to “start” but Pai might reverse it. In fact, Pai is well aware that a throw is guaranteed here (it’s common knowledge), and it’s only obvious that Akria will do his most damaging throw. After all, this situation has happened a hundred times before against a hundred Akiras and they all do the same thing. It’s really conditioning, not strategy, that tells Pai she needs to do a throw escape here (that’s her c1). In fact, it will become her natural, unthinking reaction after a while.

Akira is tired of having his throw escaped again and again. He decides to be tricky by doing one of his very slow, powerful moves such as a double palm, a reverse body check, a two-fisted strike, or a shoulder ram (we’ll just lump all those into c2). Why does a big, slow move work in this situation? First of all, if Pai does her throw escape and there is no throw to escape, the escape becomes a throw attempt. If her opponent is out of range or otherwise unthrowable for some reason, her throw attempt becomes a throw whiff. She grabs the air and is vulnerable for a moment. One important rule in VF is that you cannot throw an opponent during the startup phase or the hitting phase of a move. So if Akira does a big, powerful move, he is totally unthrowable until after the hitting phase of the move is over and he enters recovery (retracting his arm or leg).

Back to our story. Akira is tired of getting his throw escaped all day, so he does the standard counter to any throw: a big, powerful move. This c2 move does a decent amount of damage, by the way. The next time this whole situation arises, Pai doesn’t know what to do. Her instincts tell her to reverse the throw, but if she does, she is vulnerable to Akira’s slow, powerful move. Rather than go for the standard reverse, Pai does her c3 move: she simply blocks. By blocking, she’ll take no damage from Akira’s powerful move, and depending on exactly which move it was, she’ll probably be able to retaliate.

So what does Akira do if he expects this? In fact, he needs no c4 move since his original throw (m) is the natural counter to a blocking opponent. A throw is a special kind of move that grabs an enemy and does damage regardless of whether they are blocking. It’s specifically designed to be used against an opponent in block who is afraid of an attack.

In summary,

Akira has throw and powerful, slow move.

Pai has throw escape and block.

As I tried to show, it’s actually pretty reasonable to expect players to be thinking on yomi layer 3, 4 or even higher. It’s because conditioning makes doing the throw escape an unthinking, natural reaction. But against a clever opponent, you’ll have to think twice about doing a standard throw escape or blocking. The Akira player will do the occasional powerful, slow move just to put his enemy off balance and abandon his instinct to escape the throw. Then Akira can go back to his original goal: land the throw.

Another very interesting property is “beginner’s luck.” Notice that a beginner Akira in this situation will go for the throw, since that works on other beginners who haven’t learned to throw escape. The beginner Akira will never land the throw on an intermediate player, though, since the intermediate player knows to always throw escape. But strangely, the beginner will sometimes land the throw on the expert because the expert is aware of the whole guessing game and might block rather than throw escape. Of course, the expert will soon learn that the beginner is, in fact, a beginner and then he’ll be able to yomi almost every move.

Just as a final note on Virtua Fighter to further demonstrate the complexity of its guessing games, I actually greatly simplified the example above. I left out, for example, that Pai could attack with a fast move rather than block. And Akira has another c2 move besides a slow, powerful move. He can also do what’s called a “kick-guard cancel” or “kg.” This means he can press kick, which will make him unthrowable until his kick reaches recovery phase. If Pai tries to throw, she’ll whiff. But then Akira can cancel the kick before it even gets to the hitting phase. Now he’s free to act and take advantage of Pai’s whiffed throw vulnerability. Now, Akira has a guaranteed throw, putting him back in the exact same situation he began in. The catch is that if Akira does kg-cancel and then goes for the throw he originally wanted to do, Pai will probably not have time to react with a throw escape. It’s just too fast. She’d have to be on the next yomi layer. She’d have to expect Akira to throw, enter a throw escape, see the kg-cancel, then immediately enter her next guess (probably an attack or throw escape). Any hesitation and she’d be thrown.

The point I’m making here is that despite Virtua Fighter’s absurd complexity, players really are able to think on the levels I’m hinting at. While having a mental mastery of the structure and payoffs of these guessing games is important, the master of yomi can cut to the chase by guessing correctly in a particular situation, rather than merely following a theoretically good rule of thumb for similar situations.