How many of us have hurled F-bombs while playing Madden, or NBA 2K, or Street Fighter 2, or Mario Kart against a computer opponent, because the game's artificial intelligence just engineered a seemingly impossible comeback? Remember how Guile used to be able to pull off sonic booms without charging back two seconds (as was required of us humans)? Remember how every early NBA Live game went down to the wire because, no matter how much we led after three, the 4th quarter is where we start missing 5-footers while the computer hits threes over two defenders?
I like to consider myself a mature gamer, someone who's not a sore loser. If you beat me fairly, fine, I'll make like Teddy KGB in Rounders—"He beat me, straight up. Pay that man his money."
But I'm not as measured when it comes to improbable computer heroics. Here we are, nearing the release of eighth generation consoles (PS4 and Xbox One), and still we're dealing with AI that strips games of their believability. I've reached a point where I'll happily tolerate the lag of online play if it means I don't have to play against a computer opponent.
Seems I'm not alone in this, because a Redditor by the name of RainbowNowOpen felt compelled to write one of the most elegant and intelligent breakdowns of how a truly fair AI should react:
Thousands of "IF - THEN" statements could be written, one for every possible scenario, that's not really feasible. It's time consuming, expensive, error-prone, requires too much domain expertise, and is hard to modify. So an AI programmer will try to categorize and recognize broad and specific game/team/situation scenarios and then apply statistical lookup tables containing decisions made in those scenarios, historically.read the rest of his treatise on Reddit
It's funny because you want the human player to "hate" your AI's choices, but hate them for the right reason. i.e. "Dammit, yeah, that was a good pitch to throw." That's good AI. But everyone's a critic. And when you've paid hard-earned money for a game, everyone should be a critic.