# Experience Point 3/3: Difficulty Curves and Spikes

I decided to write this one in light of the recent Pokemon Go’s difficulty slope beginning at level 20.  Everybody has a fairly common conception of the ideal difficulty slope which, naturally, looks like y=e^x for 0<x<1 on a graph (pun totally intended).  But as we all know, difficulty curves don’t always actually happen that way.  As we don’t all know, there are sometimes good reasons, or at least understandable reasons, for this.  Oh, and if the math joke didn’t tip you off, I’ve been watching way too much Numberphile lately, so things are going to get mathy.

All graphs were made in Desmos.

Back in the bad old days of the arcades, many games would begin easy, but become much more difficult much earlier than the ideal game.  This was so that they could hook the player with the first couple levels, then when it gets more difficult, have them shell out more coins to keep playing.  This used to leak over into other games on home consoles or PCs more often as well.  Part of this was that it became convention; another was to make the game too difficult to get through during a rental period, thus encouraging the player to actually purchase the game.  The difficulty curve on these will either stay high (a logistic function, y=3/(1+e^-10(x-0.2)) for 0<x<1).

Or it will peak then come back down again, before resuming a normal curve (The function for that is very long, but it’s about the derivative of the previous one divided by 4, plus e^x for 0<x<1).

As you might have picked up, profit is a big part of the reason for these intentionally weird difficulty curves.  This sounds bad, and for the games themselves, it is, but keep in mind that as a company the game developers have to make some profit, or at least break even, which isn’t always easy.  Sometimes, especially when micro-transactions are involved, the curve becomes flatter at first, followed by a sharp incline (1+4e^8(x-0.75) for 0<x<1).  This way, you can’t argue that it’s not purely exponential.  It works the same way that the arcade games did, where you get hooked, but to keep playing, you have to start spending eventually.

Then there’s when an unusual difficulty curve is caused by just shoddy design.  If a developer doesn’t have a good handle on how difficult different parts of their game is, because of lack of adequate testing, or just inexperience, then there could be wild difficulty spikes and slumps.  It’s not really worth writing down a function, because they really are just all over the place in this case, but if you really want it, sin(x*20)/2+e^x for 0<x<1 is an approximation. But it’s a bit misleading because it’s also an appropriate, non-weird action curve.

One, slightly contradictory point.  If you’re just beginning with game making, and still getting a grasp on just getting a title out the door, you can relax a bit on this.  You may have a wavy difficulty curve like the one above, or accidentally one like the cash-grab curves, but the only way to gain the experience needed to actually do it right is to try at all.  And if you end up with something all messed up, like it gets easier as you go along instead of harder, you can use that to learn why, and what does and doesn’t work to help it.  Understanding what doesn’t work always helps to find solutions and to avoid the same traps in the future, so it’s actually worth it to fall into them now when you have nothing to lose from it.

Fun-time activity: find games with weird difficulty curves, and based on its curve (and native platform), try to figure out if its developers were out for cash, or were just not very good at regulating difficulty.

Next week is the follow-up, that is, Level-Up.  And you better be there, because I’m taking role!