top of page
Search

The Scalable Difficulty of Mega Dimension Ripper 9000

  • jacquesj9871
  • Apr 26
  • 2 min read

Updated: Apr 29

 How we dynamically tune challenge across skill levels, player counts, and progression. 


In any game, decisions must be made about how difficult the experience should be. For Mega Dimension Ripper 9000 – a one-to-four-player roguelike with endless upgrades and waves of algorithmically spawned enemies – there are several variables to consider when setting the difficulty. Our goal is to make difficulty highly scalable, allowing players of any skill level to experience a reasonable challenge during a run of the game. 

 

To achieve this, we first look at the difficulty setting the players have selected. We offer “Easy," "Normal," "Hard," and "Mega" difficulties, which are the primary accommodations for varying player skill levels. If players feel that the game is too hard, they can select an easier setting. If the game is too easy and becomes boring, they can select a more challenging setting. 

 

Next, we consider the player count. If we had one static difficulty level across all player counts, then we might have a game that's challenging for a solo player but far too easy for four players, or conversely a game that's challenging for four players but is impossible for a solo player. To ensure a balanced experience regardless of how many people are playing, the difficulty scales based on the number of players. 

 

Finally, we look at how many levels the players are into their run in our roguelike structure. This is balanced against players obtaining upgrades to gain power after every level. We must increase the difficulty after each level to maintain the challenge. These three variables—difficulty setting, player count, and level number—are plugged into an equation that we run for each level encountered to determine that level’s difficulty value.

 



Even though we want the game to be challenging for all players, we also want it to feel fair and forgiving. We achieve this by letting the players adjust to one new gameplay mechanic at a time. For example, enemy waves within a level rise in difficulty as the level progresses. This means the first waves of a level will be easier than the final waves of the previous one, giving players a chance to catch their breath and get used to their new upgrades and how they affect their play style. To further support this, the first two waves of every level only spawn walkers, our most basic enemy type. This lets the players get used to the difficulty of the level and learn their new upgrades before encountering new enemy mechanics. Finally, we set certain enemy types to only start spawning beyond a particular level number. This way, players are introduced to new enemy types one at a time, before eventually encountering them in combination. 




After the difficulty of a wave is determined, two enemy types are selected, each with its own assigned difficulty value. We then spawn enough of those enemies to match the wave’s difficulty value. Another advantage of this method is that it is highly testable and simply requires verifying that the algorithm’s math comes out as intended. 



By using an algorithm that scales with multiple variables, we produce an experience that may seem chaotic on the surface but is carefully calculated for optimal player experience. In addition, the system is highly configurable, allowing us to continue fine-tuning the game’s balance with ease all the way through release! 

-Carter Meyer


 
 
 

Comentarios


bottom of page