{"id":1942,"date":"2011-06-21T22:07:08","date_gmt":"2011-06-21T12:07:08","guid":{"rendered":"http:\/\/www.vectorstorm.org\/?p=1942"},"modified":"2011-06-21T22:22:47","modified_gmt":"2011-06-21T12:22:47","slug":"in-praise-of-thresholds","status":"publish","type":"post","link":"https:\/\/www.vectorstorm.com.au\/2011\/06\/21\/in-praise-of-thresholds\/","title":{"rendered":"In praise of thresholds"},"content":{"rendered":"

An old-school simplistic definition would state that games are about choices<\/strong>; \u00a0that “gameplay” consists solely of the set of choices which can be made by a player. \u00a0You can see how someone who thought of games as being Chess or Backgammon or Go might define a game in this narrow way.<\/p>\n

A more modern definition would also point out the role of mechanics<\/strong>; \u00a0that not only must the player be able to make a choice, but he must also be able to carry out that choice, as can be tricky in games like Jacks, Jenga, or Tiddlywinks.<\/p>\n

An even more modern definition would advocate for the importance of setting<\/strong>; \u00a0that not only must the player be able to make a choice and to mechanically carry it out, but that the choice must exist within some external context to imbue that choice with meaning that extends beyond the boundaries of the game itself.<\/p>\n

Today I’m going to be talking about choices. \u00a0I’ll leave mechanics and settings for another day. \u00a0Warning in advance: \u00a0this is kind of a long article, focusing on game design theory and practice, which I’ve been writing for the last few months, just trying to get it all straight in my own head. \u00a0Click through if you’re interested.<\/p>\n

<\/p>\n

Picking and Optimising<\/h2>\n

It seems to me that in games, there are two different types of choices. \u00a0I’m going to call these types\u00a0picking<\/strong> and optimising<\/strong>.<\/p>\n

Picking<\/strong> is when you are given a choice between a small number of drastically different things. \u00a0For example, at the start of each level in Super Mario Brothers 2, you may select one of four characters to control, each of which works in very different ways. \u00a0In chess, you may move only one piece, and when you move it, you must move it into one of only a few legal spaces on the board. \u00a0These are situations where you must carefully pick what to do from a limited set of options.<\/p>\n

Optimising<\/strong> is when you need to pick the best option out of a very large (often infinite) number of similar things. \u00a0For example, when playing Quake, there are an infinite number of spots in a level where you could stand, or in Scorched Earth, you can aim freely and apply any amount of “power” you wish to your shots. \u00a0In these situations, you are not picking amongst a small number of different things; \u00a0instead, you are trying to divine and select the best option amongst virtually infinite possibilities of generally similar things.<\/p>\n

Feigning<\/h2>\n

Sometimes games will camouflage Picking<\/strong> as Optimising<\/strong> . \u00a0For example, in the original Mortal Kombat, there were precisely 32 places where a character could stand — half as many positions as there are in a game of Chess! \u00a0In Mortal Kombat, when you pressed left or right on the joystick, your character would move into the next legal place to stand; \u00a0it was completely impossible to stop anywhere other than these 32 fixed positions. \u00a0But most players never noticed this. \u00a0We were all so used to fighting games where a player could stand anywhere we liked, that we didn’t notice this coarse grid of legal standing positions that we were being forced into.<\/p>\n

On the other hand, sometimes games will camouflage Optimising<\/strong> as Picking<\/strong> . \u00a0This is usually done by providing many separate Picking<\/strong>-style choices which are only important in that they sum up to become a single Optimising<\/strong>-type result, as in selecting equipment for a World of Warcraft character.<\/p>\n

With these definitions out of the way, my assertion in this article is that players find Picking<\/strong> to be more interesting that Optimising<\/strong>.<\/p>\n

Choices matter<\/h2>\n

As I mentioned before, it’s important for the choices in a game to matter to the player. \u00a0Players don’t like being asked to make choices which don’t matter, and they much prefer spending their time making decisions that matter a lot, compared against making decisions which only matter a little.<\/p>\n

Or to put it differently, players prefer to be given big choices like “you can have either a lightning attack or a health surge”<\/em> than small choices like “you can have either a +2% damage-bonus-vs-void or a +2% damage-bonus-vs-light”<\/em>.<\/p>\n

So this is a problem for us in the games industry. \u00a0Players like the big, chunky choices, but big chunky choices are often very expensive (by which I mean “time consuming”) for us to create. \u00a0They usually require us to create a lot of content and art assets which many players will never see, whereas the smaller optimisation choices can usually be handled with a single set of game assets; \u00a0either by positioning things precisely or aiming or simply displaying a number or bar graph; \u00a0these things are all relatively easy and inexpensive for us, as game makers, to provide.<\/p>\n

So here’s my thinking:<\/p>\n

Many choices are expensive for us to provide<\/h2>\n

It’s most efficient for us to give the player optimisation<\/strong> choices, because those are the easiest choices for us to create and provide to a player. \u00a0But as a player, we really want picking<\/strong> choices, because those feel like more important and more interesting choices.<\/p>\n

So wouldn’t it be great if we could take an optimisation<\/strong> choice and actually turn it into a picking<\/strong> choice? \u00a0Not just fake it like World of Warcraft does, but actually for real turn an optimisation<\/strong> choice into a picking<\/strong> choice, without all the extra labour of creation that those types of choices usually require?<\/p>\n

As you’ve probably guessed by now, I think that the answer is thresholds<\/strong>.<\/p>\n

Thresholds are boundaries in an analog system.<\/h2>\n

When thinking about the splash damage that you’ll take from the explosion of a rocket that’s being fired at you, in a normal FPS you’ll think “the further away I am from where the rocket hits, the less damage I’ll take. \u00a0So I want to be as far away as possible”, and so your best move is always the same: \u00a0move as far as possible from where the rocket will hit. \u00a0It’s a simple and straight-forward rule.<\/p>\n

But what if we introduced a threshold, and said that if you’re within ten meters of the rocket blast point, you’ll take full damage, just as though you’d been hit directly. \u00a0But if you’re even a millimetre further than ten meters, you’ll take no damage at all. \u00a0We’ve taken what was an analog damage value, and made it binary; \u00a0we’ve taken an optimisation choice where each moment to moment adjustment of position changed the damage value by a very small amount, and turned it into a picking choice where each moment to moment adjustment of position didn’t affect the damage at all; \u00a0unless you happened to move out of that ten meter range, in which case suddenly damage is eliminated altogether.<\/p>\n

Under the system with the threshold, the player suddenly needs to think more about strategy than he did before; \u00a0will the player be able to reach a ten meter range in time? \u00a0If not, there’s no point in trying to dodge the rocket at all; he’s better off trying to retaliate immediately. \u00a0And if he will<\/em> be able to escape in time, then there’s no point to trying to get any further than ten meters away; \u00a0the whole automatic “just run as far as possible until the rocket explodes and the danger is over” response has been short-circuited and replaced with a more interesting set of decision-making, just by introducing a threshold into a gameplay mechanic that we already had.<\/p>\n

What’s more, if we’re the one firing that rocket, suddenly we no longer always want to fire straight at our opponent or even where we predict him to be; \u00a0no, we want to maximise the amount of space that our ten meter radius sphere of splash damage will cover, to make it as difficult as possible for our opponent to dodge it. \u00a0It’s not important any more that we hit as close as possible; \u00a0now it’s important that our opponent cannot escape the ten meter radius from where we aimed. \u00a0What was a rather simple game mechanic before has suddenly ballooned into a really interesting strategic confrontation, simply by turning a single interaction from being analog to being binary.<\/p>\n

Where this all came from<\/h2>\n

I started thinking about this many months ago (I started writing this post at the start of March, believe it or not), when there was a lot of discussion in StarCraft 2 about a mechanic which allowed Terran players to salvage their defensive bunkers as they were being destroyed by an opposing army, recouping all of the resources that had been spent on them. \u00a0I won’t go into that too much, except to say that it used a threshold to determine whether or not the Terran player would recover the money he paid for a bunker.<\/p>\n

Many players thought that it was unfair that someone could get their money back for a defensive structure that was about to be destroyed by the opponent, and that the money which came back should be proportional to how much health it had remaining when it was salvaged. \u00a0But the more I thought about it, the more I thought that the threshold approach gave a much more interesting all-or-nothing play dynamic, than simply “the more damage you do, the less money he gets back”, which is kind of dull and one-dimensional.<\/p>\n

Close to home<\/h2>\n

And the more I’ve been thinking about it, the more I’ve been realising that my still-in-progress game MMORPG Tycoon 2 has been suffering from exactly these same problems. \u00a0It’s a game which lets you move trees around with millimetre accuracy, but the difference that that sort of precision makes to the game is absurdly subtle. \u00a0It lets you paint colours on the ground, but those colors don’t actually do anything of serious consequence. \u00a0MMORPG Tycoon 2 feels to me like its design needs a bit of chunking; \u00a0not removing of the ability to place objects exactly as you like, but perhaps framing those choices so that it’s obvious which choices are important, and which ones are not.<\/p>\n

It’s like how there are an infinite number of places where you can place a piece on a chess board, but we draw lines on the board to divide it into 64 spaces. \u00a0And really, which of those 64 spaces the piece is in is what’s important. \u00a0Everything else, well, that’s just aesthetics which a player might care about, but which the game does not.<\/p>\n

Because picking between finite discrete possibilities is crisp and\u00a0interesting. \u00a0And simply trying to optimise for the best outcome.. is rather less so.<\/p>\n","protected":false},"excerpt":{"rendered":"

An old-school simplistic definition would state that games are about choices; \u00a0that “gameplay” consists solely of the set of choices which can be made by a player. \u00a0You can see how someone who thought of games as being Chess or Backgammon or Go might define a game in this narrow way. A more modern definition…<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":""},"categories":[20],"tags":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/po9WK-vk","_links":{"self":[{"href":"https:\/\/www.vectorstorm.com.au\/wp-json\/wp\/v2\/posts\/1942"}],"collection":[{"href":"https:\/\/www.vectorstorm.com.au\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.vectorstorm.com.au\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.vectorstorm.com.au\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.vectorstorm.com.au\/wp-json\/wp\/v2\/comments?post=1942"}],"version-history":[{"count":0,"href":"https:\/\/www.vectorstorm.com.au\/wp-json\/wp\/v2\/posts\/1942\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.vectorstorm.com.au\/wp-json\/wp\/v2\/media?parent=1942"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.vectorstorm.com.au\/wp-json\/wp\/v2\/categories?post=1942"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.vectorstorm.com.au\/wp-json\/wp\/v2\/tags?post=1942"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}