are game developers. Most of us love games (which is why we got into
this business in the first place), so it's likely we've played
hundreds of different games over our lives.
thing is, though, that gaming is a skill. Much like playing an instrument,
it is something that can be honed with practice over time. Therefore,
it's not unreasonable to assume that most of us are pretty good at gaming.
But not everyone is great at playing games. When you develop a game, you need to bear your target audience's abilities in mind, and that our own preconceptions of “simple” and “hard” can be skewed. Let's have a look at what you need to think about, and how these ideas were put into practice for my game, Cosmic Logic.
What Do Players Want?
One of the most fundamental elements of gameplay design is challenge. Without challenge, a game isn't a game: at best, it's an interactive movie. And while there are "game-movies" out there which are successful, developing one is closer to a movie maker's skill set than a game designer's.
So when playing a game, players generally want a challenge. But, importantly, they want a challenge they can complete. If I play Street Fighter with a friend, then we'll most likely be evenly matched, having fun button bashing away an occasional victory.
If I challenge a pro-player to a game, then I will just get repeatedly destroyed. It's not fun for me, and simply emphasises how bad I am at the game. As a rule, being reminded that you are bad at something is not a positive experience.
the flip side, however, players also want to feel as if they've earned a victory.
When I play games, I don't sit down and play children's games.
Sure, I can probably set a record time for "work out which hole
the square block goes into", but it doesn't provide me with any
real stimulation. The purpose of challenge within a game is to test
the player, and once a player has mastered that challenge, it no
longer serves a purpose.
So, when we design our game, we need to decide how difficult it's going to be. All players want to play a game that provides a challenge, but that challenge is relative to the skill of the player. Someone who only plays games for a few hours a month might enjoy solitaire, whereas a serious gamer might only play a game like Starcraft.
Neither of these games is necessarily better than the other, as their audiences are vastly different. Regardless, the basic rules of game design apply to them both, and we have to appreciate that difficulty means different things to different people.
Making Difficult Fun
So what is the difference between an easy and a hard game? Games are complex, and it's not possible to simply say, "Oh, if you change this one variable, then the game becomes difficult."
In fact, taking the simplistic approach of changing variables is a very good way to make a game "unfun hard": you can double the hitpoints of the enemy boss, but you're not changing the actual difficulty—you're simply making it take more effort. The term "bullet sponge" is often used to describe these fights, as it often feels as if the boss just constantly soaks up damage with no regard.
I mentioned earlier, the purpose of a challenge is to test the player
until they have mastered that challenge. Bullet sponge enemies don't
really modify the challenge—they simply make the player repeat the
challenge an additional number of times.
Worse, if the player dies, then they have to repeat said challenge
from the start: and then you find yourself in the position of playing
something which is no longer fun.
We can think of every gameplay element as a mini-challenge. When you're playing Mario, you move to the right. First challenge, jump over a pit. Jump over a goomba. Jump on a koopa. All of these things are challenges that must be overcome.
If the game was simply "jump over a goomba" ten thousand times, it'd be tedious. But because the challenges differ slightly each time (oh, this one is on a platform, and this one is protected by a Hammer Brother, etc.) it provides enough variation for the player to keep interest.
So a basic rule to keep things interesting is to slightly modify the challenges. In fact, you can get away with quite a simple gameplay premise if the "mini-challenges" are constantly changing or evolving. In a game like Mario, you can keep reusing the same basic challenge (jump over a pit) if you make slight modifications to it (this one is guarded by an enemy, this one has a moving platform).
Holleman has talked about this idea of designing challenges within Mario previously, but the base principles are applicable across almost any game.
Forcing a player to repeat content is where "difficult" becomes "tedious". For example, if a player dies, then you don't necessarily have to force them back to the start of the game. Recent Mario games contain infinite continues, or even mid-level checkpoints to ensure that if the player dies, they don't have to replay the same content over and over.
A difficult game should be one which pushes a player into mastering their skills, rather than forcing them to repeat something over and over until they make a mistake.
A Game Everyone Can Enjoy
Ideally, we want to develop a game that appeals to both serious and hardcore gamers. One popular solution is to include a choice of difficulties (easy/hard) at the start of your game. However, there is no guarantee the player will choose the correct difficulty to maximise enjoyment. There exists the possibility to design your game for all skill levels: where a crossover of players can enjoy the game without being forced into a particular path.
Grand Theft Auto is arguably the most popular of the "crossover" games. It's an incredibly successful title series, and for good reason—for the most part, it has something for everyone to enjoy.
of the reason for this is because the game is so expansive, you can
choose what you want to do. In fact, there's a rather cute story
about a four-year-old playing GTA (under parental supervision,
obviously). If a four-year-old can have fun playing a game that 30-year-old veteran gamers can enjoy as well, then you're probably doing
But your game doesn't necessarily have to be GTA big to have mass appeal. A game like Jetpack Joyride is very much aimed at the casual market, but is still playable for more seasoned gamers. The game is an endless runner, which means levels have no "win-state"—you play until you die. The aim of the game is simply to see how far you can get. In this sense, the player is playing against themselves—can you beat your own score?
It should be noted, however, that designing for casual and experienced players can provide difficulties. Team Fortress 2, which is a fairly popular game across the spectrum, has "the sentry", a unique weapon which uses a very rudimentary AI. The sentry is powerful enough to instantly destroy almost anyone that walks in front of it, and clever positioning and teamwork are required to take one down.
For unskilled players, however, sentries can act as a sort of impassable barrier. They may not have the tactical positioning or teamwork skills to effectively destroy turrets, which means turrets provide "binary gameplay", something the designers themselves were aware of. This sort of "casual player wall" is not unique to complex games: when we test our own games, we designed the puzzles, so the solutions are obvious.
Casual players may not be able to see these solutions in the same way, so no matter how obvious we consider it, we need to make sure they don't end up hitting an impassable wall.
So how do we actually go about developing our game? Well, first off, decide what sort of game you want to make. When we started developing Cosmic Logic, we had a fairly solid idea of what we wanted: a simple puzzle game, essentially snooker/pool with a twist, which challenges the player to solve puzzles within a limited number of shots. We wanted to attract as many players as possible, so we needed to make it relatively casual, but with enough content to keep more serious gamers engaged.
Here are some basic points to consider.
How Difficult Is It to Understand the Game?
Generally speaking, serious gamers are more tolerant of tutorials than casual gamers. Serious gamers don't necessarily enjoy tutorials, but because of their "advanced gaming skill", they tend to enjoy games which are more complex. This complexity means additional rules, which must be explained.
When you look at a game like Bejewelled (or any match 3), the game is designed to be immediately accessible. You start a game, and you are given one objective: line up three objects of the same colour. Compare this to a game like Crusader Kings 2, where the objective can very loosely be described as "control Europe", and one of the best tutorials is a six-hour YouTube series.
For Cosmic Logic, we took the simple approach. As soon as the player hits the play button, they are given a simple goal: hit two balls together. In fact, the first level is designed to be very difficult to fail. The first level is not designed to be a challenge, but to let the player recognise the most basic game concept: hitting balls together is good. As the game progresses, additional concepts are added (some balls are bad), and each time the player solves a level, they learn a new way to manipulate the playing field to their advantage.
Where Is the Challenge?
What makes your game hard? Is it devious puzzles and tests of skill, or is it lengthy boss battles and pixel-perfect jumps?
It can be hard to make the distinction between "fun hard" and "unfair hard"—all players are different, and some players may find gameplay elements frustrating that others find trivial. In fact, you can look at a game like "Super Mario Frustration", which is little more than a series of unfair challenges. It's obvious someone out there liked this, and although the market for this style of difficulty may be tiny, it does exist.
The key to testing hard vs. unfair is feedback. Watch people play your game, see which parts provide difficulty, and try to figure out where people are getting annoyed and where people are having fun. Test with everyone: children, grandparents, serious gamers, people who barely touch games. Take notes, see where they get stuck and where they get annoyed, and ask yourself if the challenge is providing a positive gameplay experience or is just obtuse.
This is exactly what we did with Cosmic Logic. I did the bulk of the initial testing myself: I've run through the game so many times I'm thoroughly sick of playing it. The advantage of this was that I could see which levels are tricky: if I'm unable to complete a level first time, then it'll likely be frustrating for a casual gamer.
Can a Challenge Be Easy and Hard at the Same Time?
This might seem like a stupid question, but easy-hard challenges have been used in gaming for some time.
The principle revolves around what the player perceives as the challenge. Winning a boss fight is hard; winning a boss fight without getting hit is harder. Some players will happily self-impose these sorts of additional rules upon themselves, but a better way to approach it is a rudimentary reward system—giving the player additional points for completing challenges with restrictions.
When you complete a level of Angry Birds, you get one to three stars to indicate how well you did. Hitman players get graded A+ to F. In Lego Marvel, collecting a certain number of studs awards the player with "True Believer" status. Getting a high score doesn't really mean anything, but it gives players an additional goal to aim for.
For Cosmic Logic, the level difficulty was designed backwards. Each level was created to have a very specific solution in mind. Once these solutions had been established (i.e. complete a level in three shots), we would then make it easier (but you have five shots to do it).
Players who could complete each level with the “true” solution would earn a gold star, and completing each level with a gold star unlocks a “bonus” ending. The gold stars and bonus ending don't really change the way the game is played, but they ensure that players have something to aim for beyond simply crashing through levels.
What Happens If I Fail a Challenge?
With any challenge comes the possibility of failure. It's important that we make the separation between failing the player and punishing the player, however. As we said earlier, challenges are only fun while a player hasn't "solved" them. If we make a player go back to the very start of the game every time they die, then it's very likely they'll get bored of seeing the first level very quickly.
In a skill-based game (such as a platformer or first-person shooter), there is some leeway in making the player repeat content, as the longer they play the game, the better they get at it (hopefully). With a puzzle game, this leeway doesn't exist, meaning puzzles are often very binary: either a player can solve it, or they can't. If they can solve it, then great—unless they die and have to solve it again. If they are unable to solve it, then the player becomes stuck.
There are several ways to avoid this problem. The first option, used by games like flow free, is simply to make all levels open to the player at the start of the game. In flow free, every level is unlocked. Players can choose which puzzles to solve at their leisure, and can entirely skip the first half of the game if they so desire. Flow free has so many levels that skipping a few doesn't really affect the game, but for a more "story-driven" game (such as Mario), allowing a player to skip right to the last level might not be an option.
Another possibility is allowing a player to skip levels. Some puzzle games allow a player to skip a certain amount of levels: a player might have three free passes at the start of the game, which means that particularly hard levels can be avoided. This can be partially replicated in other games, by giving the player branching paths, optional fights, or even warp pipes to allow them to skip content.
In Cosmic Logic, we took a third approach: making each level incredibly easy. As we mentioned above, we had an idea of how each level was to be completed, and we simply allowed the player additional shots for them to complete it. We wanted to avoid a level skip mechanic, for there is a gradual learning curve—something you used on level 11 might be necessary to complete level 25. We wanted players to grasp the fundamental concepts of how to play the game, so we simply gave them the leeway to be really bad at it.
Does the Game Get Harder as the Skill of the Player Increases?
This is a problem that simple games can face. If you're playing something like Space Invaders, then once a player has cleared a few waves, they have essentially "mastered" the game, and it will no longer provide a challenge.
Most games use a difficulty curve system, which is what we did with Cosmic Logic. As the game progresses, the player learns more ways to clear tables, and new challenges are provided to ensure they are constantly challenged. Nearly all games with a level system use this mechanic.
However, not all games use level systems. For "endless" games, having the difficulty increase as the player continues is one option: but if the player has to play through "easy" content to get to the fun part, then the game might just be boring.
This was one of the major flaws of Starbyte, another game I worked on some time ago. In retrospect, allowing the player to select a difficulty level would have been smart, but at the time we decided that simply increasing the game's difficulty as the player progressed would be enough. In practice, it meant that the game got too hard too quickly for novice players, and was too easy for too long for advanced players.
A game doesn't necessarily have to be harder to be fun, though: allowing the player to skip through easy levels, or even offering a "turbo" button, allowing the player to play at double speed and thereby cruising through the simple challenges, are simple but effective ways of keeping your more skilled players engaged.
Bringing It Together
Not all of these techniques are applicable for all games, but they're worth thinking about. A good general rule of thumb for providing a challenge is: "Is this something the player can be realistically expected to do, or are they going to fail?"
There's nothing wrong with failure, but players don't want to feel cheated out of victory. If a player says, "Well, I should have jumped earlier, that was my fault," then you've provided a good challenge. If a player says, "There was literally no way for me to avoid that," then you're punishing the player for no reason. Most of these design techniques are applicable to all games, as no player likes unfair gameplay.
And remember: although we like to talk about a casual/hardcore divide in gaming, this divide is somewhat arbitrary. With careful planning, there's no reason a good game can't be enjoyed by everyone—and if a four-year-old child can enjoy Grand Theft Auto, what else can we achieve?