The Bag System
How we scale difficulty in Just duck it.
Levels and worlds are an important part of video games. They are what let the player explore, move on, and discover new places. In the game I’m working on, Just Duck It, we have levels that are similar to that of Mario or Sonic. It’s a section of a world full of obstacles and pointy things ready to beat you up. It’s not enough just to have good levels though, you also need to present them to the player in a competent manner. Today I’m going to explain the inspiration behind our system and also how we group and sort the levels in our game, and make it an interesting experience for the player.
The obvious choice for laying out levels would be the tried and proven formula of laying them all out in a row, easiest to hardest. However, there’s a lot of middle ground levels we want the game to have, so this method would bore players who keep playing level after level without any real spikes in difficulty. Another simple method to get rid of the bore is to randomize everything, but that presents too much chaos which feels imbalanced and makes it hard to play. So what we went for is a combination of the two, inspired by the way Tetris sorts it’s own blocks and gives them to the player. Tetris doesn’t get boring because it randomizes its pieces - but it always gives out a known set of them. This same thinking can be applied to our levels. Randomize a few of them, but sort them in an expected way.
Think about some of your favorite games, when you enter a new area it is easy in the beginning and eventually ramps up to a boss fight before bringing you to the next zone. We call these sections in our game bags and each one has four levels randomly chosen with similar difficulty rating, then we sort them easiest to hardest. This way we solve the issue of having long and drawn out difficulty ramps, in trade for short ones that the player can get through faster. The mix of random and expected makes for a perfect blend of how to keep a player just on their toes, but not throw their controllers in rage at the chaos.
Next we have to sort these little bags we’ve made. We cannot just throw them all into a mix, because it might give the player a really hard section after an easy section which will not work. So we treat bags in the same way we do levels, we group them near similarly balanced levels with a little variation to allow for an easy progression but not being too hard on the player. This also means that after you face the final level of a bag or a “boss level,” the player can relax and cool down in a slightly easier zone before ramping back up again. This is in the same vein of giving the player health pickups or calm zones right after an intense boss battle.
With this system in place it solves all of our issues of challenging the player, keeping them interested, and not dumping too much on them. It also allows for infinite expansion where we can throw new levels into the mix at a whim and they will be sorted into bags properly based on their difficulty level. How cool would it be if Mario had the same types of challenges and difficulty, but the environment had changed and you didn’t know what was coming next?
There’s always more we can add into a system like this like tracking individual elements in it to better sort them and we’re always looking to improve it. If you have any comments or suggestions we’d love to hear them. You can also check out our game as we’re making it here on GameJolt, any feedback on it is much appreciated. I hope you learned something through this article and have fun with my game!