If you’re going to have upgrades in your game, don’t be so dumb about it

Every week, I find myself spending some time checking out the newest interesting-looking flash games on Kongregate. Most of them end up not being so interesting, but every once in a while I come across a well-done innovative game (Level Up! and Little Stars for Little Wars are two that seem to be memorable at the moment). But I also get a chance to see the same games made over and over again in different skins.

You know, I don’t have that much of a problem with the same game being made over and over. It’s like speciation, this game is randomly varying itself on the little choices to find what works best. What annoys me is when I see a bad decision repeated again and again, for which the only reason I can think is convention. Today I will discuss the top such bad decision on my list: upgrades.

Upgrade systems are becoming quite ubiquitous among flash games. Play the game for a while and accumulate points, then spend the points on upgrades to make yourself more powerful. Upgrading yourself and feeling your power increasing is a great feeling, and providing a choice of which upgrades to buy allows the game to (ostensibly) diverge into many different games with unique dynamics, depending on the player’s choices. However, there is a common design that stifles this divergence.

Let me explain with a typical example. You start with a ship that has everything in level I. Between battles, you may level up one of three tracks — Guns, Engines, or Shields — according to the cost matrix below.

Guns I, 5 damage Guns II, 10 damage (+100%), $100 Guns III, 15 damage (+50%), $500 Guns IV, 20 damage (+33%), $2500
Engines I, 1 m/s Engines II, 2 m/s (+100%), $200 Engines III, 3 m/s (+50%), $500 Engines IV, 4 m/s (+33%), $1000
Shields I, absorb 2 damage Shields II, absorb 3 damage (+50%), $400 Shields III, absorb 4 damage (+33%), $1600 Shields IV, absorb 5 damage (+25%), $6400

I have added a percentage, roughly estimating how much more badass you will be after acquiring each upgrade. For independent gameplay elements, upgrades usually increase your strength by roughly a factor (as opposed to a constant): if you make yourself shoot three times as fast and also shoot three times as many bullets, then you will be nine times more powerful. In this post, I am addressing the particular way the prices are distributed. Their cost always seems to increase geometrically along each track. Sometimes, as is the case here, returns (expressed as factor of increase) will also diminish along a track, sometimes they will stay constant, but they seldom increase.

So let’s say I’m the kinda guy who likes tanks: slow with lots of firepower. In my first two turns I have invested $600 into firepower, and now here are my choices:

Upgrade Cost per % increase
Guns IV, +33%, $2500 $75
Engines II, +100%, $200 $2
Shields II, +50%, $400 $8

Comparing the cost/benefit ratio in the second column, engines appear four times better than shields, and shields appear eight times better than guns. Guns are a terrible investment, and will remain so until engines and shields are also at level III. This upgrade system only enables multiple styles of gameplay for people who are terrible with their money (aka people who are playing far below optimally) — shrewd investors will notice that the right strategy is (rougly) to get everything of level II, then everything of level III, then everything of level IV: getting uniformly stronger throughout the game, rather than specializing to one style.

I can imagine this convention emerging by deciding that upgrades are bought with points before considering the consequences. After the decision has already been made, the designer observes that as you get more upgrades, it becomes easier to get the same number of points. Therefore, upgrades had better get more expensive throughout the course of the game, otherwise it will either be way too long before you get your first upgrade, or you will finish them all off too fast.

Another way of phrasing that is: to achieve an upgrade system that encourages diversity and specialization, you have to discard the assumption that upgrades are purchased with points (or somehow design around an increasing rate of point gathering, but that’s no fun because people like to see ever bigger numbers). As an alternative, I suggest separating scored points from upgrade points. Award upgrade points by time (say, one at the end of each level), or by the inverse of the typical point-acquiring growth rate. For example, let’s say each upgrade adds 1 to the multiplier. Every point the player gets is multiplied by the multiplier first and then added to his score. So, assuming for simplicity that he gets one point in between each upgrade, his score as a function of the number n of guys he kills will be \sum_{i=1}^{n} i = n (n+1) / 2 = O(n^2), and you should award upgrade points at quadratically increasing scores1, say 100, 400, 1600, 2500, 3600, ….

After you have this corrected upgrade points currency, assign each upgrade a cost in the same order of magnitude, no matter how deep it is in the tree. Then the player will have a bunch of choices which are all approximately equal according to the first-order cost/benefit analysis, and to pick the right one, he has to think about (gasp!) what they actually do!

1 I have a beef with Geometry Wars 2, which uses the aforementioned multiplier system, because extra lives and bonuses are awarded at exponentially increasing scores. The ratio of an exponential to a quadratic is still exponential, so it gets exponentially harder (essentially impossible after a point) to get bonuses throughout the game. I have an incling that the designers did not realize this, probably due to a common incorrect perception that any superlinear function is “exponential”.


8 thoughts on “If you’re going to have upgrades in your game, don’t be so dumb about it

  1. I would like to note that Nethack and Slash’em have a nice system of gaining experience and skills. You level up (gain experience) by a point system (http://nethack.wikia.com/wiki/Experience_level), and you gain a skill slot for each experience level. You may level up to 30th level, so you may have 30 skill slots per game. There are a *lot* of different skills (http://nethack.wikia.com/wiki/Skill), and each may use many skill slots, so you have to decide where to use your skill slots.


  2. Thanks for this. An upgrade system should provide genuine choice and diversity of gameplay — an upgrade system that opaquely punishes players for making a “wrong” choice is guilty of a sort of “false advertising,” may seem unplayably hard to naive players.

    Some people might genuinely choose an upgrade path based on their mood that day: “My boss yelled at me at work, so I’m going to put everything into weapons,” or, “I have two hours to kill, so let’s put everything into shields.”

    On the other hand, having a weak upgrade path might be seen as an extra challenge for some players, but this isn’t the best way to do it.

    The role playing games, especially crawl, are guilty of forcing players to specialize. For role playing games, this is even more frustrating because many players want to construct a character that represents themselves (or an idealized or bizarro or evil or opposite-gendered or whatever version thereof) and find themselves punished for not power-playing.

    I’m also not aware of any game in which defensive upgrades are equal to or better than offensive upgrades, including the “game” of real life war, in which the “tech tree” seems to have maxed out at mutually assured destruction.

    In any case, I’m just glad that I’m not the only person who sees this. I would love to see a game that can accurately measure the “power” of a player’s upgrades and price them accordingly.

  3. Starcraft did the opposite. They relied on different qualities and mixtures of units to achieve the same goal. There was never 1 for 1 parity between “disciplines”.

    Balance is hard.

    Please google “onslaught laser chain guide” and find how a tower defense game like onslaught handles growth. Their insane hardness is exponential.

  4. Regardless of how you award upgrades, you really have two options: Encouraging specialization or encouraging generalization. If you encourage specialization then you end up with classes, and all of their complexity (differing styles of play, balance, etc). But if you encourage generalization, then you create the illusion of choice while keep game design simple.

    I suspect the desire for simple game design drives the effect your seeing.

  5. Re: Nethack, Slash’em, Starcraft, etc. Most “serious” games seem to get this right, possibly because of more design foresight, possibly because of more playtesting (i.e. the ability to balance more diverse styles and keep the game fun).

    The role playing games, especially crawl, are guilty of forcing players to specialize. For role playing games, this is even more frustrating because many players want to construct a character that represents themselves (or an idealized or bizarro or evil or opposite-gendered or whatever version thereof) and find themselves punished for not power-playing.

    I mean, I guess it depends on what you want out of role playing games. I would probably find a game in which all builds are equally viable pretty boring. What do I develop next? Whatever, *random click*. “Power playing” is the main source of depth I find in those games — devising a build and a strategy to go with it. I mean, I guess you could say that every build should have a viable strategy, and those strategies should be diverse, but such a game is probably near impossible to design.

    Cam: Hmm… maybe I am biased, but I would have a hard time making the explicit game design decision: “Oh yeah, there will be a few different paths of technology, but they won’t really affect gameplay, they are just there to make the player feel good.” After any amount of taking the game I am developing seriously, I would decide that the techs should matter and give rise to different styles. But perhaps I am in the minority, and people really do intentionally put meaningless tech systems in their games…

  6. Diib’s dilemma is a well designed (albeit somewhat aging) Java game that had an interesting upgrade system. Essentially spells are unlocked in a tree pattern and one needs to collect stones of the appropriate types to buy the spells. There are monsters that are immune to spells of one type or another as well as a wide range of effectiveness and play styles (e.g. direct attack vs trapping). They did a lot with a simple system.
    Some docs are here (see eg spells or strategy): http://www.angelfire.com/games5/kyrion/diib/diibmain.html

  7. In Alpha Centauri, combining two upgrades is more expensive than the sum of their costs. This favors building different, specialized, units.

  8. This is a very interesting bit of game theory you’ve addressed! (And, I might add, a lot more interesting and less dry than my Applied Economics Master’s Thesis…) You could probably earn a Doctorate in Econ just by exploring this topic, creating some games, running some tests and making this post about 100 pages longer. (But who has the time?)

    Really enjoying the blog–this post especially.

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 )

Google photo

You are commenting using your Google 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 )

Connecting to %s