Balancing Grinding Below the Level Curve in an Open World – MMO Virtual Economy

When we have an open world MMO, it’s crucial to be on top of its virtual game economy. It’s human nature to try to exploit the system, and your players will test the limits that you build for your world.

The sigmoid (also known as the logistic function) is an ally when it comes to balancing our games, especially when preventing players from engaging in behaviors that will harm the game economy. The target audience for this is product people and game designers who sometimes feel that they lack the mathematical tools they need to implement their vision.

Why should we use this mathematical tool to balance the rewards given each level in a game economy?

By balancing our games with the logistic function we achieve these two effects:

• Discourage grinding or engaging with content from a much lower level.
• Reward players for taking on harder challenges, eg. give better rewards for taking on a boss a few levels higher.

Logistic Function to the Rescue!

The sigmoid or logistic function looks like the chart below.

The mathematical formula for the logistic function is:

$f(x) = \frac{L}{1 + e^{-k(x – x_{0})}}$

Where $L$ is the maximum value that the function will reach. $k$ Is the rate of growth of the function. The lower the rate of growth is, the slower the function will converge to $L$. $x_{0}$ is the value at which the function will reach half $L$ .

If you want to simulate this function on excel, you can use the following formula:

Define game rewards based on the difficulty of a challenge

The next step is to use this function to achieve the two goals we defined previously:

• To prevent players from getting rewards from mobs/ bosses/monsters at a much lower level than their player level.
• To reward those who take on more difficult challenges.

The difference between the mob/monster level and the player level will be our x, which we’ll use to determine rewards based on the difficulty of the encounter

In the image above, we use a spreadsheet program to simulate our reward function using different parameters: Scenario 1 (blue), Scenario 2 (red), Scenario 3 (yellow).

Then, it’s time to plot the results. We do this so that we can see the shape of the curves and reason about them.

Scenario 3 shows a function where the maximum reward is 15. Scenario 2 converges to its top reward the quickest, even though it has a slow start.

There are a lot of possibilities where the use of this function combined with some creativity can help solve in-game challenges. There’s a lot more that can be said about this function. As a tease, this function has a close relationship with the gaussian function better known by its bell curve and the normal probability distribution.

Additional resources:

Feel free to make a copy of my simulation spreadsheet: https://docs.google.com/spreadsheets/d/1UMkbq6ItposrehjqugMFsoH9i-ZVRXnkib9F6Rckpm0/edit?usp=sharing

All about the logistic function, on Wolfram Alpha: https://www.wolframalpha.com/input/?i=logistic%20function

Wikipedia page on logistic function: https://en.wikipedia.org/wiki/Logistic_function

PS – Would you like to see more articles about this topic let me know in the comments below. If you would like me to do a workshop or a talk at your organization get in touch.

Back to Top