Those Darn Cheating Computers

December 16, 2007 at 6:06 pm (Difficulty, Game Design, Game Mechanics)

How many times have you died in a video game and thought it was the game’s fault?

How many times when you were sure you pressed the buttons in the right order, but your character didn’t perform the right move?  When you would swear that enemy wasn’t there a moment ago?  When you have accused the game of cheating?

Of course, computers are not much prone to errors or dishonorable behavior.  The computer is doing what it was programmed to do, which is occasionally a bug, but usually the intended rules of the game.  But the computer is merciless:  it will catch every little error you make, and it has absolutely no sympathy for your frustrations.

The fact is, people are very good at dealing with other people…so good that we try to treat all sorts of obviously non-human things as if they were people, too.  We make imaginary friends, talk to our plants, share confidences with our pets, urge our cars to greater efforts, plead with the time of day, negotiate with the weather…and, sure enough, we think the computer playing a game against us is taunting us or trying to cheat.  And even though we know it’s not, we still get frustrated…in fact, we may become more frustrated knowing that we don’t have a real culprit to blame.

Overcoming this problem means satisfying the player’s expectations about how the game will play out, even when they’re at odds with the player’s assumptions about how the game works.  Rather than simply using the game mechanics that seem intuitive and natural for our game, we need to put in caveats and special cases that defend the player against pathological cases.  The solution for players thinking their computer is cheating is to make the computers cheat–but in the player’s favor!

A few years ago, I had the privilege of hearing a lecture given by one of the developers of Sly Cooper 3 describing the development of the game and all the ways they discovered they had to change the original game mechanics in order to make the game feel the way they wanted.  Over and over, the lesson was that realistic physical simulation is great for making things look interesting, but not so great for actual gameplay.

They wanted the characters to jump high–say, one or two times their own height.  Well, it turns out that if you allow someone to jump that high under normal gravity, it looks like they’re floating, and feels unnatural.  So in Sly Cooper 3, the characters experience increased gravitational acceleration (about twice normal).  Everything else still uses normal gravity, of course.

When you’re jumping from platform to platform, the precise distance you can jump is very important, because it determines which platforms you can reach.  A confident player will get a running start and time his jump to be near the edge of the platform, to try and get maximum distance.  But an unconfident player is going to edge up to the precipice, carefully align himself with the target platform, and then try to press the jump button and forward at the same time.  Completely different jumps, right?  Not in Sly Cooper 3; either technique covers the same distance.  And if that doesn’t get you far enough, you can “double jump”–after you leap from the platform, while you’re flying through the air, you can jump again.

Of course, invariably, things aren’t lined up quite right.  The camera was moving, or at an odd angle.  And the player only has 8 directions to work with.  Under real physics, you can’t substantially alter the direction of your jump after you leave the ground.  But in Sly Cooper 3, you can “air steer,” applying an acceleration of up to half a G in the direction you press the entire time you’re airborne.

But even that’s not enough for all the cool jumps they wanted to do; Sly Cooper is supposed to perch on steeples, swing on poles, walk on tightropes, and slide along cables.  So the player just presses a button that means “use the thing nearby.”  The game automatically looks for anything you can interact with in the general vicinity and applies even more accelerations-from-nowhere to your character to line you up with it–sometimes even causing you to rise into the air again after you’ve started falling.

On lots of buildings, the roof extends a ways past the wall, and so if you move right up next to the wall and jump, you’ll hit your head instead of soaring up onto the roof.  We can’t have that, of course, so the game automatically detects this and pushes you out of the way so that you can clear the obstacle.

There’s more.  The game features three main protagonists:  Sly Cooper (a fox), the thief acrobat; Bentley (a turtle), the tech guy; and Murray (a hippo), the muscle.  Originally, they planned to give these characters all different stats, so sly could run faster and jump further, Murray dealt more damage with attacks, etc., in order to reinforce the characters’ roles.  Come playtesting time, they found players would run through an area with Sly, then come back as Murray, try to take the same route, and discover that Murray couldn’t jump high enough to reach a platform.  The inevitable reaction:  “this character sucks!”

The solution?  Every character has the same basic stats (they also have special actions they can take that aren’t shared, but anything they can all do, they all do equally well).  BUT–and this is the really cool part–everyone still thinks that Sly is much better at running and jumping than Murray, because his character animations look graceful and effortless, while Murray looks clumsy and sluggish.  (Having a faster GPU may not improve the feel of the game, but having well-designed art actually does.)  The game has mechanics that allow players to do what they intuitively expect to be able to do, while simultaneously giving the players the intended–and inconsistent–flavor of the characters.

I want to hold up Devil May Cry 3 as being another excellent example of cheating in the player’s favor.  The game is rather difficult (particularly in the initial US release, where “normal” difficulty was renamed to “easy” and “hard” became the new “normal”), but despite that, it feels very fair and intuitive, because it bends the rules to help you out.

You’re Dante, the legendary demon hunter, and you’re fighting a swarm of demons.  Naturally, you can’t focus on all of them at once, but you need the ability to react to a monster’s attack before it hits you.  Therefore, all the monsters have big, long animations leading up to their attacks, so you have plenty of warning.  The basic demons slowly lift their scythes over their heads to prepare for a swing; the possessed chess pieces change color and move just before they attack; and so forth.

Demon’s off-camera?  That’s OK; all the monsters also have clear, distinctive audio cues that signal they’re about to attack.  Blood goyles shriek just before they charge; a gong sounds just before death teleports into attack range; Nevan delivers distinctive dialogue before every attack; Beowulf stamps his foot before throwing stone columns at you.

So you know the monster’s coming, but you’re in the middle of doing something else?  Most of your actions are interruptible at a moment’s notice; you can go from firing your guns to swinging your sword (or vice versa) with zero frames of animation between.  Even most attacks that can’t be interrupted for another attack can be interrupted for a dodge move, like a jump or a roll.  There are a few big attacks that leave you vulnerable for a while, but they’re the exception.

So you dodge, but it doesn’t work quite right.  You couldn’t see the attacker, and so dodged the wrong direction, or there wasn’t enough space to roll out of the way, or you were just a little bit too late.  That’s OK; all of the moves designed to help you dodge actually make you secretly invulnerable for the first part of the move.  You can be in the middle of an explosion, and as long as you’re wall-running when it goes off, you’ll escape completely unscathed.

On top of all that, most monsters, while you’re attacking them, get staggered or knocked around, preventing them from counter-attacking.  If things get really tough, you can activate your devil trigger, temporarily increasing your speed, reducing all damage you take, and making it harder for enemies to interrupt you or send you flying.  All the game mechanics are designed to help you out as long as you’re trying to do the right thing, so that when you get hit, it’s usually pretty clear that you could have prevented it, and can do better next time.  That doesn’t mean the game is easy–far from it–but it does an excellent job of satisfying your expectations for what should happen when you press a particular button.

The important point here is recognizing that there’s a difference between how the game plays and how players will perceive it, and we want to make that difference as favorable as possible.  Regardless of how difficult you decide the game should ultimately be, it should look harder than it is, not easier–because players should feel like they’ve overcome a great obstacle when they win.  We should maximize the window in which players feel like they’re in danger of losing, without actually lowering their chances of winning.  When the player tries to do something awesome, it should work, not get foiled by some detail or technicality.  Everything should be arranged to bias the player towards feeling awesome.

This obviously becomes more complicated when two players fight each other, since what benefits one player harms the other.  But you should still bias the game towards the players successfully doing awesome moves and having their tricks and powers work in an escalating exchange, rather than fizzling and flailing and feeling like they can’t do what they intend to do.

Because, really, the point of the game is to be larger than life.  The game’s much more interesting (and actually easier to balance) if people usually succeed at doing interesting things than if they fail for trivial or obscure reasons.

Advertisements

5 Comments

  1. Jordan (JJ10DMAN) said,

    There’s two major exceptions I take with the article:

    One, cheating is all-too-prevalent in games where computer characters literally are able to perform impossibly well. In the arcade game Hydro Thunder, for example, play any course with only a marginal lead to the pack, and in the final straightaway every character will pass you, without the use of abilities – even ones rated with far lower maximum speed. The game literally makes the computer characters function better than the player character; it feels unfair because hey, it’s a computer; it’s running the show, it could make a perfect, unbeatable racer with instant reaction time, and instead a dumb, uncoordinated yahoo blows past you because the game arbitrarily decided he should go faster.

    Second, for all the fun I got out of Sly Cooper 3, the physics were just terrible. I ended up with a lot of overcompensations, miscalculations, and deaths as a result of the bizarre character physics. One of my biggest beefs with the game was that Sly Cooper wasn’t nearly dexterous or agile enough given how much Murray was the same. I thought at the time it was a big oversight that they didn’t limit Murray more in mobility but make him stronger; the revelation that this was a conscious design decision is a heartbreaking one. I can’t help but think there was a presentation solution versus a mechanic solution (for example, the platforming in general was harder than the combat, making an agile character indeed less sucky – but again, this was mostly a result of the bizarre physics necessitating a more forgiving margin of error).

    It’s also worth mentioning that if you make a character TOO awesome, they begin to feel a little too invulnerable and it loses its “edge”. I felt this a bit in God of War. Stranglehold, on the other hand, gives a great deal of scarcity to the amazing powers of the tequila time and tequila bomb gauges, making it feel like something truly extraordinary.

    So, cheating in the player’s favor has a few problems, including violating player expectations to actually make the game feel LESS fair (my sly cooper pitfalls as a result of expecting similar gravity to other objects), and naturally, making the game so much easier than it looks that it’s neither played by the target audience nor appreciated by the people that actually bought it.

  2. Tim Challener said,

    Also, take civilization for example. The computer actually *does* cheat. As in, it gets extra money every turn when it shouldn’t, along with misc economic bonuses. Same happens in most (if not all) RTSes. One of the reasons I’ve stopped playing them.

  3. Antistone said,

    I never said all cheating was good. This may have been obscured by too many examples, but the key point was that how a player expects a game to *work* and how a player expects a game to *play out* are often inconsistent, and that it’s more important to satisfy the second than the first. This means you’re “cheating” in the sense of breaking the apparent rules of your own game, but you’re doing it in order to make the resolution of some situation more appropriate.

    Giving the AI an unfair advantage may occasionally fit into this category, but generally not. The player doesn’t expect a lower-speed car to pass him effortlessly on a straight stretch, or for the computer to control more military units than a real player could conceivably have built under similar circumstances.

  4. Buck Schulze said,

    Antistone, I’m glad you brought up Devil May Cry 3. I felt like it did a great job of maintaining a large window for failure (as you say), while giving the player a lot of power to do cool things (even if he then failed anyway). This combined to make a game that wasn’t frustrating to lose (in my opinion).

    Have you played Wii Boxing? I’ve played it several times, and I noticed very early on that I’d get easily frustrated. In particular, my mind would comprehend the necessary motions and strategies, but the disconnect between my mind and the Wii (because of the controller hardware and game’s control scheme) was too great. What was in my mind the perfect combination of unblockable hits would be realized as a shuffling between blocking my face and my gut. I think a key element of fun for me is the feeling that my mind is the limiting factor– that if I were only quick enough or clever enough, nothing would stop me. Because eventually I do get quick and clever enough.

    Eventually, I discovered I could beat everyone at Wii boxing by rhythmically throwing high left punches and then low right punches, or vice versa; the game’s display and control are clunky enough that my opponent never identified my strategy and split his defenses appropriately.

  5. Julio C said,

    I have another example of REAL computer cheating. In both Halo 2 and 3, there are fake environmental objects (mainly plants) that although have real appearance, basically blocking your view of something on the other side, they have no physical matter, so you can actually move and crouch within them without being obstructed by real matter. Yet because of this the AI can still detect anything within these types of environmental game objects as if there was nothing there at all. So basically, you may think you’re hiding in a bush because you can’t see through it, but the enemy can detect you as if you were hiding behind nothing and have a clear shot at you. For example, on the level Regret of Halo 2, on Legendary the Jackal Snipers have extremely unrealistic reaction capabilities, meaning that if you come out in the open, even if they are looking at another direction, they’ll instantly know you’re out of hiding and quickly turn to your position to fire at you. And well, if you take an alternative path where there are bushes that can block your view if you walk through them, you cannot see the enemy but they can clearly see you as if there was nothing there at all simple because the bushes have no real physical matter. Same goes for another Jackal sniper section on the Sierra 117 level of Halo 3, whereas the snipers are hidden among the trees quite well and strategically. yet there are more fake leaves and brusels on the trees where they are perched which obstruct your view when trying to spot the hidden snipers, yet the Jackals can once again, clearly see you as if there is no environmental object blocking their view and can shoot you normally.

    This is considered computer cheating in the fact that the AI’s senses are not obstructed by environmental objects because they are not registered as “real”, but obviously a real player’s sense of sight IS obstructed because it’s placed in the way as if it was a real object.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: