Challenge Accepted: Perfect play
Here’s the problem with AI opponents: when programmed to win, they will win against humans 100% of the time in contests of skill.
I’ve mentioned before that there are four main avenues of challenge in games, but the computer easily bests humans in three of them by definition. A properly programmed opponent who wants to win has better reflexes than you could hope to have, since there are no manual dexterity challenges involved. There’s no problem of managing teammates or of remembering what’s in the game. There isn’t even much space for thought as an avenue of winning; it’s just possible to be smarter than the programmer and find avenues they didn’t consider.
AI opponents in basically every game are not tuned for perfect play, though. Even the hardest opponents need to give players a chance to win, after all. Perfect play is the flipside of having games be a series of decisions with some serving as better decisions than others, the idea of making all of the right decisions and having the dexterity needed to execute those choices properly and reliably. And it’s helpful to consider perfect play in the larger framework of games and challenges, and how much of it is, in fact, contextual.
Let’s talk about Dave Sirlin here. Sirlin is, self-admittedly, the sort of player who finds an easily exploitable move in a fighting game and then just does that, over and over. And he’s got a more than fair point. If the same move is going to deal damage to the other player every time and said player isn’t able to dodge it or stop you, why wouldn’t you just use that same move over and over again?
The answer, of course, is that you could easily play a perfect game just by developing a foolproof counter to that one move. Which, if it’s a good enough move, is incredibly hard to do in the first place.
Perfect play isn’t just the art of not making mistakes, it’s the art of knowing the right call to make in every given situation. In Super Mario Bros the right response to a pit is always to jump over it, which is why several later stages will place enemies so that just jumping at normal speed or from too far back will result in taking a hit. Once you make the jump from the correct position at the correct distance, you won’t get hit, even though other pits the choice doesn’t matter.
In later sequels, though, sometimes the enemies were placed at just the right distance so that when you made your leap at the safe distance, you would get smacked. Because you made a categorical decision rather than one based on this specific situation.
Platform hell games in particular are centered around “tricking” you into making decisions that you otherwise would not. I Wanna Be The Guy is filled with traps that kill you instantly, things that look like powerups while actually murdering you, and the like. That shared language that would otherwise be the first step in perfect play is what kills you. Perfect play is subjective and based on the environment, yet there are certain best practices that apply in nearly every game with certain conventions.
Of course, an AI can be programmed with complete knowledge of all of that. In a fighting game, an AI can know what move you’re using next with absolute certainty and move to counter, dodge, or otherwise block you. In a race, they have the ability to make perfect turns and compensate for literally anything you do. There is no such thing as beating the computer without the implied cooperation of that computer.
Playing against an actual perfect AI opponent would not be very fun, because it wouldn’t feel fair. But playing against actively stupid AI isn’t fun either; sure, it’s funny the first few times that cops stupidly fall to their deaths in Grand Theft Auto IV, but after four minutes… well, it’s still funny as hell, but it doesn’t feel like much of an accomplishment. You’re tripping someone who can’t walk very well. Not exactly taxing on the neurons.
A lot of games, of course, need to have AI. The very earliest platformers got away with nothing more than having fixed patterns for enemies, and a lot of platformers still do that, even though it’s pretty stupid AI when you get right down to it. It works chiefly because you don’t expect those enemies to be smart. They’re minor obstacles. But a smartly programmed flying Koopa from Super Mario Bros. could theoretically murderize you all by his lonesome, no matter how good you are.
When players ask for more intelligent AI in a game, they’re still fundamentally asking for more complicated AI. Fully brilliant and shining AI that reacts to everything would make a lot of games borderline unplayable if not actively impossible. Bosses usually require players to either memorize patterns or be very good at reacting to things that are specifically telegraphed and predictable, especially in online games; you need time between big attacks to coordinate and regroup.
But every single bit of AI is running off of a script, up to and including scripted mistakes and bad decisions. It’s an interesting thing to consider, that the computer doesn’t just cheat to win but also cheats to make losing possible. Perfect play is possible, but for human beings against other human beings, it’s always a matter of making the most out of what little you can read about the other person involved.
Human beings are only less predictable opponents because those computer opponents are programmed to be predictable so you get to have a fighting chance. Otherwise, you’d be right out of luck.
Next time around, I want to talk about rewards for challenges, the idea of making the challenge suit the reward and vice versa, and how possible that actually is in a macro sense. After that, I’m going to start diving into unexplored territory by talking in more detail about the challenges presented by a single game, Tetris.