Sunday, January 29, 2006

Optimal Play

This isn't intended to be harsh, but it may sound that way. You'll have to take it lightly, I've been thinking in terms of alien invaders and mad scientists all day.

I got into a bit of an argument (Greek-style, rather than Bronx-style) with Patrick.

The gist is this: he believes that with perfect information (meaning "complete visibility", in relative vision terms), there is an optimum play pattern. Even if the player can't really figure out what it is.

There's three problems with this. One: it's wrong. Two: it's incomplete. Three: it's inapplicable.

Let me address the second one first. Assuming that, given perfect information, there is an optimum play pattern, you also assume that a player has perfect skill at playing. I haven't shown the other two to be wrong yet, but the second is painfully, obviously wrong. Sure, in chess it's not hard to play a piece exactly where you want it. But how about Duck Hunt?

Yeah, it's awfully clear exactly where you should be shooting. Does that mean you can hit the ducks? That depends on your skill and how fast the ducks are moving, doesn't it?

This is a core factor in many (probably most) games - the skill it takes is not just one of determining the best play path, but also playing it.

So, the idea of "ideal play" is incomplete, because an ideal path cannot be followed in any game where physical skill is required.

Now, the idea of "ideal play" is also flawed because it is wrong. There is not always an ideal play path, even assuming perfect information.

Rather, there might be, but we have not proven that there is, because many games with perfect information appear to have no ideal play path. Go (wei'qi, baduk), for example. This may simply be because the complexity of the game is too high to compute the information we are given, but the complexity doesn't need to be very high before this lack of an ideal path hits. Which means that, functionally, games of perfect information quite often have no discernable ideal path.

In addition to being wrong and incomplete, the idea of "ideal play" is also completely inapplicable:

A slight deviation from ideal play often radically changes the rest of the path. And, as mentioned, there is usually no way to (A) determine and (B) stick to an ideal path. Given you generally want your game to be as vivid and replayable as possible, most designers choose to maximize this drift rather than minimize it, where possible. In the past, this was impossible. These days, it is becoming more and more possible.

For example, what is the "ideal play" in Gran Turismo? There is no "optimal" optimal play. You might be able to compute "personal" optimal plays for any given individual, but even those will spread erratically.

If I'm better at cornering but worse at handling the shifter, my ideal car would be far different from someone who doesn't have a feel for corners but knows his engine intimately. Actually, knowing your engine intimately sounds rather painful, but each to his own.

The point is, even if me and MisterSecondPlayerMan have the exact same skills, we probably won't have the same optimal path after the first hour or two, because we will have bought different cars, made different tweaks, won and lost different races. This is despite all the cars' info being clearly available, either in the game or online: if we make slightly different choices, these choices compound into radically different playstyles.

And that's good! That means replayability! That means vivid, reactive gameplay! That means solid game balance! It's a dream!

Perfect or imperfect information has no effect on the calculation of optimal path. The amount of information available does, as does the difficulty of computing said information, but you can easily have a simple game with perfect information or an imperfect information game with huge tons of complex information. Checkers vs "Romance of the Three Kindoms Nth".

Optimal path calculation is just another half-assed shortcut to game balancing.

4 comments:

Patrick Dugan said...

Yeah I've really been reaching for that whole ass ;)

The reason I used the quantum dot as an analogy is that, from what I saw in the Graduis video, is that the probable majority of the players tended to orbit a particular position and verb (which is a simple enough pattern-type in a 2D auto scrolling shmup)but the "optimal position" was a phantom, it wasn't ever realized, only orbited.

I should clarify the primary metric of "ideal" as well, I've been over this before but I consider the probability of success to be the basic form of how-well-you're-playing. You'll never actually hit the highest possible probability, because you'd need an infinite number of resets at finer intervals. Its theory, in other words, not an emphirical thing.

Now my cognitive model of challenge has probability of success on the Y axis, progress on the X, and information on the Z. I concur now that perfect and imperfect information aren't a fundamental difference, just a difference in constraint design, and players of games of perfect information aren't always "on top" of the feedback. I also think of individual plays as waves, or a "performance function", which tends to fluctuate, though is more stable with as skill increases. The "orbit" around our phantom ideal is synchronous with the moment to moment variation in the player's how-well-doing (along the Y) and interpretation of available information (along the Z).

The key is that the constraints on probabiltiy of success will differ based on the amount of information currently digested. Your Gran Turismo example illustrates this perfected, if you know control better than shifting you'll have one phantom ideal to orbit and vice versa. Of course, if you knew shifting and control both (higher on the Z) then you'd have a higher limit to probability of success (in GT's case, not all games must have constraint contours that "open" the closer you get to complete vision, though most do). Replay value lies in groking closer and closer to that 1.0 (or whatever the constrain limit on info is) on the Z axis, what Koster describes as completely digesting the game's patterns. But once you can gesthalt the whole informatic matrix and flow in close orbit to the ideal you've mastered the game. Even GT gets old after awhile.

So you are right, the nucleus is illusory, maybe the more the better.

But hey, discourse.

Patrick Dugan said...

Okay, upon re-reading this post I realize that you're saying there isn't even a phantom of an optimal pattern, and you do make a strong argument to this effect.

However, does that preclude that probability of success can't be used as a consolidated metric of how close to optimal a particular play pattern is? I mean, there might be myriad patterns which are near-optimal, but they still could (in at least a fuzzy estimate) be described in terms of probability, right? If so, that probability is limited by the material elements available, in the GT example these are things like your cars stats, ect. which put a cap on how likely your success might be. Are you with me there?

Craig Perko said...

Sure, but you'll still drift. Probability of success with what results? Using one weapon rather than another? Running low on health or ammo? Buying a different piece of equipment? How does this affect your chance of success later in the game?

It's not a one-dimensional situation, and it drifts on too many axes to reliably track. That's why you need to build a system to recalculate paths on the fly.

Trying to do this sort of thing in the design phase is sort of like trying to program a chess AI using nothing but a big long list of board states. You need to tell the chess AI how to scan the present situation, look ahead to some extent, and make the best move for that particular game.

The other option is the road more travelled: lots of resets in the form of level resets, ammo packs, and so forth.

Patrick Dugan said...

For now I'm trying to minimize the number of re-sets using traditional design methods, for instance the serial I'm planning will have 27 episodes which effectively provide a reset/chunking effect and allow causation to be simplified by these bottlenecks. Down the line I think what you describe will be possible procedurally, we (the community at large) still hasn't explored the memetic algorithm as a contnet creation method.