Karmatic

Game Design

(go back)

Randomness & Predictability

Dice being thrown

Randomness allows us to create a sense of unpredictability, but too much randomness can be frustrating. This blog post sets out some thoughts & tips on how to use semi-randomness to enhance your games.

What is semi-randomness anyway?

Randomness usually takes a list of possible events, and chooses between them without bias. Semi-randomness is when you use other techniques to get results that appear more natural, while still feeling random.

These ideas may spark you to think of new ways to enhance randomness in your game. Good luck (hehe).


Tip #1 - Reroll when the same event triggers

When you detect an event is the same as the last, try picking another. Although it may be better to just exclude the previous event, it is sometimes nice to have the same event trigger twice on rare occasions, as this gives the player a stronger sense of randomess.


Tip #2 - Preschedule events

Rather than letting events be triggered at any moment, schedule them. This technique helps improve the pacing of events in your game.

First define your unit of time. Secondly, choose a min and max value. For example, when we trigger a treasure event, maybe it should not show again until the player has experienced between 3 and 6 other types of event.

Once your condition is reached, instead of randomly choosing an event, trigger the one you scheduled instead.

Alternatively, do not force the scheduled event to trigger. This is more random and prevents schedule conflicts, so may be easier to program, but it can lead to some events feeling very rare in cases of bad RNG.


Tip #3 - Bad luck detection

TODO (under construction)


Why bother with these techniques?

You might be tempted to make an in-game event completely random. But when choosing an event from a list randomly, it is entirely possible the same event gets picked again and again.

Technically speaking, it could pick the same event millions of times in a row. If you code in such a way that this is possible, then you are leaving players open to such experiences.

This can lead to irritating player experiences, and adding more events to make this less likely doesn't fix the problem at its root.

If players start to feel cheated or annoyed by your game's randomness, and this is not by design, then it is a consequence of lack of design.

It's not uncommon for bad RNG to end up with your players making the most bizzare theories. For instance, that one event is much more common, when in reality the dice gods just so happened to roll that way.

Conclusion

While working on my game Exp Minima, I used different techniques to try and improve player experience. For a game heavily focussed on random events, ensuring they feel simultaneously random and fair is a challenge.

The key is to judge each situation separately. Try different techniques, combine ideas and don't be afraid to experiment. In the end there is no one way to do things. Each case calls for its own solution.

Thanks for reading.

*** This blog post is not finished, it is currently in a WIP state. ***