7 Deadly Sins of Game Design

Do No Harm

What is a deadly sin when it comes to game design? Quite simply, it is a game feature, element or other design choice that is simply unforgivable. What makes it unforgivable? There are two main factors that qualify an element as a deadly sin:

1. The feature, element (or lack thereof) is so annoying as to cause the player to experience any form of unnecessary ill feeling ranging from mild irritation to full-on loathing while playing your game.

2. The second attribute is hinted at by the word "unnecessary" in point number one above. If a feature is not only annoying but completely avoidable, it is also completely unforgivable.

Our goal should be always to create a game that is the height of sheer pleasure for our gaming audience.  One way we can begin to accomplish this task is by taking every effort to eliminate any and all aggravating features from our game.

So what are the seven deadly sins of game design? As you can probably guess, there are many more than seven possible annoying factors that have the potential to put people off your game. But for simplicity sake (and to fit in well with the title of the article) I will break them down into 7 of the more irritatingly obvious ones. We will not only define the problems but also suggest solutions to these common (and avoidable) missteps. After all, what good is pointing out flaws without offering advice for improvement?

Sin #1: In-Game Music

We will start with a recurring theme that I have mentioned in previous articles. That is, in-game music that cannot be disabled. "What's the big deal? You can just turn off the sound." That's true but maybe your players would actually like to hear the sound effects without being subjected to and endlessly droning soundtrack. This feature is also blatantly avoidable making it all the more unforgivable.

Solution: Provide an option for disabling the in-game music. This can be via an easy exit to an options menu or, better still, an in-game hotkey.

Sin #2: Unfair Difficulty

Sometimes a game starts off with everything all well and good with seemingly good balance and reasonable difficulty, only to become excessively challenging the further the player progresses. Unimaginative (or just plain lazy) game designers will often forego the addition of interesting element variations in lieu of just increasing the difficulty with each successive level. Guess what, if the player chose to play at the easy level from the beginning, they will likely expect it to remain that way throughout the game. Few elements are more frustrating than playing a game that starts out really fun and enjoyable only to be thwarted by an oppressively onerous rate of increasing difficulty.

Solution: Provide selectable difficulty levels that remain consistent throughout the game. 

Sin #3: Excessive Waiting

Life is full of waiting - for elevators, for test results, for kettles to boil, for illnesses to pass. We don't need unnecessary waiting in our games. They are meant as an escape from real life, not a reminder (or replication) of it. Gamers don't like waiting. Not for levels to load, not for long character death sequences, not for un-skippable title or transition animations, not for health bars to regenerate and not for computer controlled opponents to make their move in a turn based game. 

Solution: The answer for reducing or eliminating the waiting may seem simple but the implementation of this solution will depend on the cause of the delay. If it is controlled by a timer programmed into the game, we can provide a hotkey or clickable icon to temporarily (or permanently) increase the game speed with the option to decrease it again later if desired. If it caused by vanity (forcing the player to watch your painstakingly created and self proclaimed wondrous animations, game instructions, text displays, etc), simply provide a method for the player to skip the sequence and jump back to the game. If the sequence has already been seen by the player and typically only needs to be seen once (such as opening animations), consider disabling it as a default from then on with the player having the option to re-enable it. Remember to also include a way for the player to escape from a game in progress without having to complete the level or reset the computer!

Sin #4: Repetition

This one is similar to the Waiting point described above but this one refers to repeated game elements that do not necessarily need to be repeated once the player has already made the selection. This can include such things as controller selection, difficulty selection or character/level selection. The player should still be given a way to access these options if desired but should not be forced to repeat their selection every time the game is re-started during a session.

Solution: Have the game remember the player's selection for options such as controls, difficulty, music, etc and use those settings when the game is re-started. Provide an accessible options menu and/or hotkeys to change the selections once chosen.

Sin #5: Glitchy Gameplay

This can include such things a jerky character movement, inconsistent character animations/behavior and inaccurate collision detection. You don't want your players to repeatedly make exclamations such as "Hey, I'm sure I hit that monster but he's still alive!" or "Why did my character fall off that cliff? I was nowhere near the edge!".

Solution: Two words - Game Testing! Perform thorough and repeated game testing sessions to weed out any performance or gameplay issues before unleashing your creation on the gaming public. This should be done as the game is being developed as well as during beta stages.

Sin #6: Bugs

This one is self-explanatory. Nobody likes to play a buggy game. It is well worth the added effort to try to eliminate as many bugs as possible during the development stage.

Solution: Program the game in modular chunks or subroutines that can be tested independently whenever possible. Elusive bugs can be hard to track down once they are buried somewhere in a large unwieldy program listing.

Sin #7: Un-Winnable

While some games are seemingly un-winnable due to a high level of difficulty, others have been imbued with that quality by design. Although it may be a valid design choice to create a game that has no victory condition (requiring the player to just try to amass as many points as possible) the player should be provided some sense of accomplishment.

Solution: If the game has no clear path to ultimate victory, at lease provide clear demarcation points to acknowledge significant milestones. While your Pac-Man clone may not have any pre-defined ending, how about awarding the player with mini pseudo-victories every 10 levels or so? They may even be rewarded with extra lives, addition features and other perks to give them something to strive for (even if it's as simple as changing the color of the background and level name).


We must always remember our sacred duty as game designers - which is, above all else, to provide an enjoyable experience for the player.  Our first strategy in accomplishing this task is by upholding our sacred oath to inflict no pain while creating our game.