Defining Difficulty in SodaCity
Probably one of the hardest things to decide in any game, would be the game difficulty. When we were designing the levels for SodaCity, we had a hard time deciding whether we liked or not the resulting difficulty. We wanted the game to be a challenging one, but we knew that just by being hard, a game won’t necessarily be good.
We were inspired by old school games, which were extremely difficult, but we didn’t based our design in them; so it wasn’t enough just comparing our gameplay to those games.
There were various factors determining the difficulty in the gameplay: we had the already programed AI, with each one of its parameters; the damage per bullet for each one of the different weapons; the number of enemies at any given time and the hit points for both the enemies and the player. We could move everything and play with the numbers until we felt like the difficulty was good. But that would require a lot of time and maybe when we decided onto something, we would have developed balancing or testing immunity.
We came up with some basic concepts of what we wanted to achieve, so everything we moved, had to take us closer to them.
We wanted the game to have the following characteristics:
1 - It had to feel fair.
Not necessarily from the player’s point of view, but creating equality between the playable character and his enemies. As all the characters are from the same species (soda cans), whatever might be lethal for an enemy, had to be the same way for the player. This point doesn’t apply for the bosses as we wanted them to have a classic “Bossy” feel. I will talk about that in a moment.
2 - It had to feel risky/dangerous.
This one goes in hand with point #1. You can only inflict damage to the enemies while being vulnerable. SodaCity is a 2.5D shooter, you can only shoot left or right and your movement is constrained to: right, left, up and down. So when you have a clear shoot you are also being a clear target.
We also wanted the gameplay to feel fast. So we couldn’t force the player having to shoot ten times at an enemy in order to defeat him. We wanted it to be one or two shots average. This would also be true for the player. If you receive a couple of shots, you’re down; and for the most powerful weapons, it would only require one shot.
3 - It had to feel fresh/dynamic.
As we had only a limited set of parameters to give each level a sense of uniqueness, we couldn’t afford them being hard scripted. We didn’t want to depend on pattern memorization to finish the game. The game isn’t entirely random but some things were left random to make each play through slightly different. We set enemy spawners that would pick from different enemy presets; those presets defined the hit points, armor and type of weapons. We limited some presets so they could appear only once in each enemy “wave” in order to control the amount of challenge; but, at which point, or from where powerful enemies would appear, is going to be different each time.
4 - It had to be grind free.
We didn’t want that the game’s amount of challenge relied on how many times a player had to play a particular level. We implemented upgrades to the weapons so you could give your performance a boost if you were feeling stuck. Also, the things you could buy in the in-game store, had to be affordable. Sure, there are some items that given their power you want them to be behind a high price paywall; but we tried to avoid that those prices suggested tedious replays. The prices were balanced with the amount of reward you received during specific phases of the game.
5 - It had to give a sense of progression.
This is also related to the previous point. Even if you’re defeated, you’ll receive in-game currency depending on your score. You can upgrade your current weapons, or get some new, to help yourself in each level.
6 - The game couldn’t feel dull.
Each level had to be as fresh and challenging as possible. If a level felt to easy, or unenjoyable, we had to make some changes. The firsts levels couldn’t feel pointless, they had to make clear that the game wasn’t going to be easy. As the game progresses and enemies appear with more powerful weapons, we had to make sure that the game experience wouldn’t turn into something completely different.
7 - The bosses had to be menacing.
A lot of the games that inspired SodaCity were games that I never finished. Always because of some boss. They are the only enemies that have different capabilities than the player. They could wipe you easily and resist more damage than you. As all the classic bosses, the bosses from SodaCity have their weaknesses; which were not designed but emerged from the gameplay.
These were the major concepts that we wanted to define the gameplay in SodaCity. This was crucial in being able to define the game difficulty we felt comfortable with.
This may sound dumb, as these are things that a lot of developers might be looking for in their games. But sometimes these concepts are only general aspirations. Understanding what each concept specifically meant to us, made it easier to apply it to our game.
Of course, the people who play the game will decide if the degree of challenge is fair for them. They will let us know if the game is being clear with its intentions.
Even if we are sure of the game we made (or how much we tested) there will be details that we oversaw, and they will alter the general experience. But Thanks to the feedback, we can make the modifications that guarantee that the game, plays and feel, as we originally intended.