Tuning a difficulty curve is one aspect of game development that I haven’t had a chance to experiment with yet. My previous attempts at game development never resulted in a game polished enough to worry about the difficulty. However, with ZER0ED now in beta and closing in on a public release, it’s time to start tuning the difficulty.
How Does Difficulty Scale in ZER0ED?
The way I’ve chosen to scale the difficulty in ZER0ED is a score based system. As the player scores more points, the game will progressively get harder and harder. In the current versions of ZER0ED difficulty scales indefinitely. As a result, the game will eventually become impossible to progress further effectively creating a maximum achievable score.
Another option, and one that I plan to test out, is the idea of a “win” condition. Rather than scale difficulty indefinitely with the player’s goal to achieve the highest possible score the game would task the player with getting to some winning score. This solution interests me because it creates a win condition – meaning the player can end play on a win. It also avoids the potential issue of the maximum achieveable highscore becoming a “win” condition while still ending the game loop on a losing move.
Four Ways ZER0ED is Balanced
- Penalty Resources appear more often as score increases.
- Targets become unstable faster as score increases.
- The game increases from 2 Targets to 3 Targets and finally to 4 Targets.
- Point & fuel penalties increase with the score.
To balance this out a bit some positive effects are also tied to the score of the game. You earn more bonus points, bonus fuel, and your maximum fuel capacity increases as the score increases.
All of these dynamically changing effects create a game where each run starts off fairly easy and ramps up in difficulty.
How Does The Game’s Difficulty Actually Scale Though?
A game’s difficulty curve is one of the most important things to consider when developing a game. Too easy and the game will be boring, too difficult and the game will be frustrating.
It’s easy to be lazy here and simply do some sort of linear curve. As the player’s score increases the game gets more difficult.
Another strategy to use for scaling difficulty, and the one that I’ve used with ZER0ED, is a seesaw effect. The idea here is to give the player a sense of mastery before you challenge them again.
The current difficulty curve in ZER0ED looks something like this.
As you can see there’s a consistent ramp up in difficulty in the early stages of the game. A period of time where the player has a feeling of mastery. And finally the difficulty ramps up once again.
As I mentioned earlier the current versions of ZER0ED have no hard-coded score cap. The goal is to just score the most points you can before you lose.
The picture above shows how I might build a win condition into ZER0ED. This will give the player a way of beating the game instead of constantly attempting to score more and more points. Weakly leaderboards could then contain number of wins or best win/loss ratios which are a bit more interesting.
Help Test ZER0ED’s Difficulty Curve in the TestFlight Beta
ZER0ED is currently in beta for iOS devices. If you’d like to participate in the beta and help me test the difficulty curve join the TestFlight beta now.