GD Column 17: Water Finds a Crack

The following was published in the March 2011 issue of Game Developer magazine…

“This is what games are for. They teach us things so that we can minimize risk and know what choices to make. Phrased another way, the destiny of games is to become boring, not to be fun. Those of us who want games to be fun are fighting a losing battle against the human brain because fun is a process and routine is its destination.”

– Raph Koster, A Theory of Fun

Many players cannot help approaching a game as an optimization puzzle. What gives the most reward for the least risk? What strategy provides the highest chance – or even a guaranteed chance – of success? Given the opportunity, players will optimize the fun out of a game.

Games, however, are so complex that it is difficult to anticipate exactly how players will optimize a game until after release, once thousands bang away at the game and share their ideas with each other online. Often, designers don’t even understand their own games until they finally see them in the wild.

A phrase we used on the Civilization development team to describe this phenomenon is that “water finds a crack” – meaning that any hole a player can possibly find in the game’s design will be inevitably abused over and over. The greatest danger is that once a player discovers such an exploit, she will never be able to play the game again without using it – the knowledge cannot be ignored or forgotten, even if the player wishes otherwise.

Civilization 3 provides a simple example with “lumberjacking” – the practice of farming forests for infinite production. Chopping down a forest gives 10 hammers to the nearest city. However, forests can also be replanted once the appropriate tech is discovered. This set of rules encourages players to have a worker planting a forest and chopping it down on every tile within their empire in order to create an endless supply of hammers. However, the process itself is tedious and mind-numbing, killing the fun for players who wanted to play optimally.

Tank-Mages and Infinite City Sleaze

One of the dangers of players looking to optimize a game is that a single dominant strategy will emerge that drowns out all others. In the MMO world, the shorthand term for this predicament is the “tank-mage” – a reference to Ultima Online, in which certain hybrid class builds could both wear heavy armor and cast powerful damage spells.

Thus, the character served as both the damage absorber (the “tank”) and the damage dealer (the “mage”), displacing most other possible character builds. Almost every MMO has experienced some version of the tank-mage as players try to find the optimal build for all situations.

The Civ series has its own version of the tank-mage – the strategy of spamming settlers for “infinite city sleaze” (or ICS), a bane of the franchise from the beginning. The essential problem is that 50 size-2 cities are more powerful than 5 size-20 cities as a number of bonuses are given out on a per-city basis. For example, every city gets to work its home tile for free, which means that a size-2 city works 3 tiles with only 2 citizens (1.5 tiles per citizen) while a size-20 city works 21 tiles (only 1.05 tiles per citizen).

The problem is that while ICS makes beating the highest difficulty levels trivially easy, handling 100 cities is a management nightmare. Players who pursued this strategy – or even less extreme versions of it – were always aware that they were breaking the game but often simply couldn’t stop themselves.

Armed with knowledge from the earlier versions of the game, we were able to counter ICS ahead of time with Civ 4 by adding a per-city maintenance cost that scaled with the total number of cities. Thus, building too many cities too early crippled a player’s economy, killing ICS at long last.

The reason to kill tank-mages and ICS is that a single, dominant strategy actually takes away choice from a game because all other options are provably sub-optimal. The sweet spot for game design is when a specific decision is right in some circumstances but not in others, with a wide grey area between the two extremes. Games lose their dynamic quality once a strategy emerges that dominates under all conditions.

Undervaluing Time

When presenting players with a choice, games typically pair a specific reward with a certain level of risk. When gamers discover that one play style offers a trickle of reward for little or no risk, they will inevitably gravitate towards that degenerate strategy.

In other words, players will trade time for safety, but they risk undervaluing their own time to the point that they are undermining their own enjoyment of the game. A classic example is the skill system from Morrowind, which rewards players for repeating any activity. Running into a wall for hours increases the Athletics skill while jumping over and over again increases the Acrobatics skill. Many players couldn’t stop themselves from spending hours doing mindless activities for these cheap rewards.

Another example of players undervaluing their own time comes from growth, production, and research overflow in the Civ series. Every turn, cities produce food, hammers, and beakers, filling up various boxes. Once these boxes are full, new citizens, buildings, units, and technologies are created.

For example, if a civilization produces 20 beakers per turn, and Writing costs 100 beakers, the technology will be discovered after 5 turns. However, if the same civilization produces 21 beakers per turn, the box for Writing will contain 105 beakers at the end of 5 turns. In that situation, after Writing is discovered, the extra 5 beakers are thrown away so that the box will be empty when the player starts researching Alphabet on the next turn. Players quickly realized that when they came close to finishing a tech, they could adjust their tax rate so that no beakers would be wasted (because those beakers are all potential gold at a different rate).

A similar dynamic exists with food and hammers for city growth and production. Thus, the game’s rules encourage players to visit every city every turn to rearrange their citizens to ensure no food or hammers will be lost. This micro-management is actually a somewhat interesting sub-game, but clearly not how the designers want the players to be spending their time as it completely bogs down the game. (We solved this in Civ 4 by simply applying the overflow food/hammers/beakers to the next citizen/unit/building/technology.)

Players who adopt this strategy often refer to the game as being heavy on “micro-management” because they can no longer resist playing the game without squeezing every last drop out of their cities. The problem is even worse in multiplayer as gamers who don’t micro-manage their cities will always fall behind in the race for more growth and production.

The designers don’t want people to play this way; nonetheless, the rules inadvertently encourage it. Again, designers often don’t understand their own games as well as the players do. The problem with a gamer undervaluing his own time is that, while the easy rewards may feel good at first, eventually the amount of time required will slowly seep away the fun per minute, until the game begins to feel like a grind.

Good Exploits?

However, designers can go too far by trying to remove all exploits from a game. Often, the right choice depends upon the game’s context. Does the exploit drown out all other play styles, or is it a fun, alternative way to play? Does the degenerate strategy create an endless grind, or is it a quick shortcut for players who need a little help?

The famous, endless free lives trick from Super Mario Bros. – in which the player bounced a turtle shell repeatedly against a block staircase for long strings of 1UP’s – was actually not a bug but a feature the team included on purpose. In exchange for mastering a small dexterity challenge, players can quickly mine all the free lives they need to progress in the game. Discovering and abusing a hole in a game’s design can be a fun experience – giving the player a unique sense of mastery – as long as the exploit doesn’t ruin the game for the player (or the player’s opponents).

If possible, designers should provide the ability to turn an exploit on or off, giving the players control over their worst instincts. For example, most games with save/load functionality can be abused by players to improve their odds; an RPG in which smashing a box produces random loot can be reloaded as many times as necessary until the best possible weapon or armor appears.

With Civ 3, we introduced a feature that preserved the game’s random seed in the save game file, guaranteeing that individual combats would play out the same way regardless of how many times the player reloaded the game. No longer were players tempted to reload every bad combat result, which could slow the game to a crawl.

However, the community response was not what we anticipated. Although some players appreciated that they were no longer tempted to reload combats, many others were frustrated that one of their old tricks disappeared. Indeed, some angry fans actually felt that the game was cheating on them by always reproducing the same combat result!

We solved this problem by turning this feature into an option on game start. Players who want the chance to reload a particularly unlucky roll can use the old exploit, but the game, by default, discourages this work-intensive strategy. Ultimately, the designer can’t go wrong putting the player in control of his or her own experience.

35 thoughts on “GD Column 17: Water Finds a Crack

  1. The otherwise awesome Alpha Centauri was a somewhat ruined for me by the discovery that you could use a special ability of the Gaians to starve the other races. Specifically you could use the fact that the Gaian flying units could stay airborne forever to efficiently destroy farms, forests, mines etc. around a city and starve it of resources. Arguably it was a legitimate expression of the power of an dominant airforce but it basically meant I couldn’t play that race. As you say, you can’t unring a bell.

  2. “Ultimately, the designer can’t go wrong putting the player in control of his or her own experience.”

    This kind of player empowerment does come at a cost: asking players to make decisions they don’t necessarily understand, and embiggening the initial interface. It might be negligible for people who post on CivFanatics, or have spent $50 and gained certain expectations. But not all such costs are so small, and not all audiences are as committed to the game.

  3. @Jared Garst

    I completely agree that we shouldn’t be asking players to make decisions they don’t understand, which is why this option was hidden in the Advanced Setup screen.

  4. On the topic of ‘bad’ knowledge, I had used the ICS strategy in Alpha Centuri specifically to avoid micro-managing. Establishing 4 or 5 great cities and then a low-efficiency research/income ‘farm’ on the rest of the map generally let me focus on my core while willfully neglecting the other 200+ colonies.

    I hardly ever used the ICS strategy in Civ 3, but I’m curious to see how the game balance changes now…

    Completely off topic, but why I initially visited your site; The AI in Civ 3 is amazing, and is the only game I still play as an adult. Your coding literally was one of the defining components of my friends and my adolescence.

  5. I wonder about that last line in the post.
    Can not something be lost in the experience if the designer hands over power to the player? Of course it’s a matter of what and how much is given to the player, but in pronciple, I think this question merits an extended look.

    I suppose that as a piece of entertainment, a game should allow the player/consumer have his way with it, but looking at a game as a piece of art to be experienced, one may lose authorial intent when doing so, no?

  6. I really like this article. I do particularly like games that give me more control over them, especially modding. However, there are limits to what can be allowed in multiplayer games because it is likely that different players will wish for different experiences at different times. I’d also point out that, in multiplayer games, there is a meta-gaming effect (i.e. the effect on gameplay of community choices based on the perception of the quality of a strategic or tactical choice) that is probably nearly impossible to predict pre-launch/pre-patch from the developer standpoint.

  7. Pingback: קישורים מתפוררים | המשחקיה

  8. Pingback: 翻訳記事:ゲームの穴から水が漏る | スパ帝国

  9. Pingback: A Cyclopean Conversation on Clockwork Empires | Game Wisdom

  10. Pingback: This Game Kills Fascists | DESIGNER NOTES

  11. Pingback: Amazon: Terrors of the Gamified Workplace | The Ludologist

  12. Pingback: Offworld Trading Company « First Person Scholar

  13. Pingback: There and Back Again | The Thesaurus Rex

  14. Pingback: How Monster Hunter World Became Capcoms Greatest Success – Games

  15. Pingback: How Monster Hunter World Became Capcom’s Greatest Success – Capcom

  16. Many games are liked by the audience despite that same audience hating on the forums all the time.

    – Games that start with Open Alpha (Star Citizen, Minecraft),
    – Games that only balance what the top 5% of the playerbase does (League of Legends, Starcraft),
    – Non-competitive games which focus on empowering the player (Warframe, GTA)
    – Non-competitive games which focus on punishing the player (Super Meat Boy, Dark Souls)

    Some games got hated on by the majority for some choices the devs could easily leave out:
    – Star Wars Battlefront 2
    – Far Cry 2
    – GTA IV
    – Mass Effect III (This one dug a grave for the franchize)
    – Mass Effect Andromeda (This one burried it)

  17. Saving a random seed does make sense sometimes. When I was playing Dark Sun: Shattered Lands, I sometimes reloaded if the random HP gain from gaining a level was on the low end. (For some classes, you gained 1~10 health per level.) A random seed would have prevented that, especially if there was ‘bad luck prevention’ so you wouldn’t restart a character if the first few levels gave low HP.

    There were other motivations to reload, like a valuable item being destroyed or because you died, but a random seed could have at least fixed that reason.

    I’ve never played the Civilization games and don’t know how you initiate combat etc. I just know it’s a turn-based game. If you can delay combat for a turn, does combat play out the same way (with the random-seed option turned on)? If so, then this is a case of ‘the only winning move is not to play’. Players didn’t know that initiating combat would always make them lose, but the game did, and the game was effectively saying “hah, you’re stupid for not knowing this”. Makes sense they would be upset.

    But important exploits usually aren’t from reloading and RNG. I’ll note that some people who play the 1993 game Dark Sun: Shattered Lands consider the game to be over if you die, with no reloading allowed. Let’s analyze it:

    A newly started character can have just 10 HP. 1d4 for mages, 1d6 for rogues, 1d8 or 1d10 for some other classes. With characters starting at lvl 3 for single-class, someone could literally have just 3 HP. This gives a huge incentive to ‘cheat’ with reloading on level ups; you only have to get a good RNG result once, and it benefits you for the rest of the game. It would be reasonable to use a stored seed for this because there are a certain number of level-up events possible (somewhat more complex for dual-classing as a human) and the end result will be pretty similar.

    Combat is different. You never know what the next random event will be, unless you store “Monster of type 1 hits character with random seed Y”. This means that reloading is a possible ‘exploit’. But how much does it matter? Other ‘exploits’:

    Mind control is broken. It’s much easier and faster to mind control enemies than the rules say it should be; there is virtually no initial cost; and there is no continual cost.

    Enlarge spell increases bonus damage when rules say it should not. Huge increase in effectiveness.

    Offhand attacks increase in number from Haste spell and class bonuses. Rules say they should not.

    Spells and abilities that increase Strength can bring it above a score of 18, greatly increasing damage and chance to hit. Rules say they should not.

    An ability that’s supposed to halve ranged damage taken instead blocks all damage from ranged weapons.

    An ability that kills conjured creatures in one hit is supposed to last for one swing or one hit, but instead lasts for much longer.

    Some of the in-game items that you will normally acquire are hugely overpowered, but this isn’t really an exploit so much as bad balance.

    A bug lets you get XP from a creature multiple times if ‘proc’ effects do extra damage after it’s already dead.

    A bug can let a newly-created character get advanced psionic ranks from another character who was previously in the same party slot.

    Possible to use as many items as you want in a round by pressing the right hotkey while another action is in progress.

    Possible to duplicate any item in the game since characters and games are saved separately.

    Possible to get a score of 25 strength by equipping items in the right order, when the limit is supposed to be 24 (and according to the rules, 18).

    An ability that makes you immune to damage after you finish action in a turn is probably not supposed to work the way it does.

    Abilities that confer invisibility work the ‘wrong’ way, though this is sort of a compromise. Better in some ways than they should be, but worse in other ways.

    Spell slots for the day are reset from removing a character from a party and putting them back in. Since any number of spells can be cast while out of combat without anything else in the game world changing, this could be used for free spells.

    Several mechanics related to psionics, that make the game much easier if you understand them, are probably not working right. A powerful creature that is supposed to be immune to psionics isn’t.

    Use of spells and psionic abilities is supposed to limit movement during that round, but it doesn’t.

    A few spells just don’t work right. The Web spell is supposed to impede movement; instead it stops it entirely, and lasts forever.

    Summoned elementals are supposed to have a risk of turning on you, though it really doesn’t matter with all of these other ‘exploits’ as their relative power becomes lower.

    The XP given from tanar’ri, a category of demons, is higher than it should be and the creatures and weaker in combat than they should be.

    By changing the mouse cursor to ‘look’, you can pause the movement of enemies while out of combat get as much time as you need to find your destination and move there. The player moves faster than enemies when out of combat, even if they move slower in combat, so you can just avoid any random encounter you don’t like.

    You can switch weapons in the middle of combat, allowing you to use the same weapon for both mainhand and offhand attacks.

    Considering all these exploits: on one hand, you have a player who only knows how to reload after a bad combat result. They will still get many bad combat results because combat, unlike a dice roll for the amount of XP gained from leveling up, involves many random events and the law of averages applies.

    On the other hand, you have a player who knows all these ‘exploits’. They create a new level 3 character, possibly with extra psionic abilities from that bug, give them a weapon that does extra damage, have a high-level cleric cast the dispel-on-hit ability on them, get them to 24 strength from abilities or items for the extra hit chance, give them Haste for better initiative, summon some kind of mob to tank a few hits (may not be necessary, since mind control can fill the same roll if needed), get some extra protection like Stoneskin spell, and find some blue slaad. It would be safest to use Guard at a distance where only one or two slaad can reach you in a turn, but when you do hit, the dispel-on-hit ability instantly kills them, then normal damage and extra damage occur, resulting in 3x normal XP for the mob.

    The highest level in the game is lvl 9. Thieves require 110k XP to reach it; mages require 135k XP. I believe a blue slaad normally gives you 16k XP in the game. 3x that is 48k. Mages can only use one weapon, so even with Haste they could only kill two blue slaad per turn (unless they use the unlimited item use exploit, which wouldn’t let them get the 3x XP). Anyway, with just two rounds of combat, a character in one of these classes could reach the highest level in the game, which would normally require 10~20 hours of play.

    A multiclass character would take longer. But if you don’t want to keep switching back between two zones in search of blue slaad (and don’t want to go to the zone where many tanar’ri can be found) you could export the character after killing the blue slaad and import them into the save before the fight took place, reusing them. If you don’t want to exploit saved games at all; well, then you can still say that the importance of exploits that don’t rely on a saved game is greater than the importance of ones that do.

    Didn’t even mention backstabs to the face. https://imgur.com/gallery/xYTkQKi

  18. Also forgot the bug that lets you mess with the equipped items of enemies! Trying to use this bug can cause the game to crash. It’s also possible to give enemies or allies items with this bug, not just take them away.

  19. @Eoan You have a very large discussion on saving the seed being a solution to a host of problems, but what you’re missing is that the solution isn’t necessarily seeding, it’s changing the throw to eliminate the unacceptable results, and patching the bugs. While seeding would certainly correct several of those bugs, it would do so in a roundabout, symptomatic way rather than addressing the root of the problem, which is that it fundamentally violates the implicit contract that the game will reward the player for playing with fun, satisfaction, novelty, or a valid moral message.

    Especially, throwing a 1 for HP gained isn’t acceptable to a player because it’s practically a calculated insult — it under-performs the average throw by a factor of anywhere from 2.5 times to 5.5 times, depending the amount you should be getting (1d4 to 1d10, as noted). Because of this insult, the players are *driven* to seek the optimisation strategy. If you reduce that incentive without eliminating it entirely, you’ll probably find that players will be more willing to tolerate bad throws as a reasonable consequence of play, instead of attempting to fight them.

    As the article notes, you’ll always find a cadre of players who seek to over-optimise their builds and abuse the game mechanics. In the nineties in Ultima VII, for instance, I discovered that I could harvest chainmail for every one of my companions by leaving caltrops in the path of the guard patrolling at the south end of Britain, and if you can finish off the guard in a single hit and the farmer who lives nearby doesn’t see it, no one treats it as a murder, and you could just walk three screens away and come back and a new, fresh guard was there and ready to be “harvested” — which I abused until I realised I was hurting myself more than anything (plus the small pangs of moral guilt, also ;-)). The fundamental contract between the way the game is meant to be played is usually accepted by the player when it’s inherently respectful of that player.

    For that random HP throw, players would be more willing to accept 1) a deterministic outcome; 2) a range-plus-adder that severely softens the impact of a weak throw and reduces the incentive for scumming, without eliminating the variety a random throw provides; 3) a Gaussian random number so results are much more average; 4) a fixed gain per level/class so results are ALWAYS average; 4) a direct equivalence to a stat that can be changed more directly with permanent improvements (the Legend of Zelda heart container strategy); and/or 5) changing HP to be based out of a fixed health pool and instead tweaking the defence of the player according to level and equipment.

    Using dice mechanics in non-tabletop games with floating point architectures is also often to blame for weak balance, but that’s a subject for another day. =)

  20. Pingback: Lacuna A Sci-Fi Noir Adventure Review: Put Your Sherlock Impression On – Pristell

  21. Pingback: Playing Past Your Mistakes – Video Game Hype – latest gaming videos

  22. Pingback: Old World Designer Notes #10: Diplomacy | DESIGNER NOTES

  23. Pingback: Lacuna A Sci-Fi Noir Adventure Review: Put Your Sherlock Impression On

  24. Pingback: Video Games and Education – The use of Habits

  25. Pingback: Another Crab’s Treasure Review & Analysis – Follow Bauble

  26. This article has done so much damage to gaming discourse that it’s unbelievable. The fact that the main takeaway people have is not “developers need to respect the time players put into games” but instead “we need to beat players over the head for being good at something” has single-handedly ruined any conversation about game design.

  27. @thetundraterror Funny, as someone who’s played games since the 80s, worked in the games industry for 8 years, and still plays and still has friends in the industry, I think this article does none of what you’re claiming; I think perhaps you are the only person with that “takeaway” from this particular article.

    There have been lots of damaging thoughts and ideas that have made conversation about game design more difficult, but this is not one of them. The underlying notion is that what players see as short term “optimization” can actually hinder long term “fun” (for any given definition of “fun”, which naturally varies by each and every person), and that needs to be accounted for in game design. Make these maladaptive “optimization” strategies less optimal, or make the long-term costs more readily apparent, and (most) players won’t choose them or will quickly abandon them, and as a result enjoy the game more. It doesn’t seem that hard to grasp?

  28. Pingback: Comportements liés à l’optimisation dans le jeu vidéo – Blog Collaboratif GD

  29. Pingback: Thoughts on the 2024 Election | DESIGNER NOTES

Leave a Reply

Your email address will not be published. Required fields are marked *