This page highlights the work I have done for creating dynamic sheets for maintaining and balancing an overall difficulty curve for a level based game. It is important to note, all data used in these images is dummy data and does not belong to any game either in development or live on the stores.
The biggest accomplishments for me here:
The general approach taken to balancing, allowing levels to be split into sets, each with its own individual curve neatly tied together
The dynamic nature of the sheet, it is very easy to tweak the amount of levels per set
As mentioned in the Overview, the approach taken here is to have sets. Each set has its own individual Sigmoid curve which can be modified to form the desired shape. In this example, we have 5 sets to customise.
This is a very modular approach and allows for tweaking of an entire set of levels at once. The idea here is that the Sets inform the shape of the desired difficulty curve, they are not meant to be final, simply meant as a reference.
Formula Output
As mentioned in the Overview, the approach taken here is to have sets. Each set has its own individual Sigmoid curve which can be modified to form the desired shape. In this example, we have 5 sets to customise.
Step Value – Used by the formula, calculated automatically
Level – No explanation needed
Formula Result – The value coming from the Formula using Step Value
Winrate – Calculated from the Formula Result
Fail Rate – Calculated from the Winrate
Desired APS – Calculated from the Winrate
Override – Allows manual override of any of the winrate values
APS Graph
The main value we’re looking for here is APS (Attempts per Success). It’s a metric I saw in a Space Ape talk some time ago and I like how abstract it is compared to Winrate / Failrate.
Based on the output, we can generate the difficulty curve. As you can see in the image, the curve is “stitched” together. With the current demo settings, it increasingly becomes more difficult as the player progresses through the level sets.
Dynamic Sheet
It might be a bit hard to see in the video, as it simply covers the curve, however I am constantly altering the amount of levels and the formula values off-screen.
The curve adapts and shows how fine-tuned the control is for managing a set of levels.