This post can be thought of as the collection of all the conclusions from my previous posts. In other words, it’s not so much what makes games good, as it is advise for how to make good games. My goal is that reading this post benefits you as a designer. Some of these are going to be brief, and there’s a reason why I felt the need to write >10,000 words previously. But without much further ado:
DEPTH/SIMPLICITY AND RESUMEABILITY
Put patterns in your game that stress the user to do some action tactically or strategically. Then put more patterns that require tactical or strategic action that compete with the other actions. An example of this is including projectiles so the user has to move strategically. Then include an enemy that roams around and charges the player. Then include spots that periodically come alive and burn the player after a short warning. Then have an out of bounds zone that is relatively safe, but the user cannot stay in there for longer than x amount of time before taking damage. Then include an enemy that charges one shot and must either be blocked through geometry, or chased so they flee. I could go on. The point is that all of these are very simple, and lead to simple tactics, but when all combined as one they make for a nearly impossible game to master, and leads to a bunch of very interesting split second decisions.
You could also accomplish these things in a game where you had to manage money, and had many things that would be good to spend that money on. Madden’s franchise mode does this with the cap, and lots of strategy games have you managing money as well.
What you shouldn’t do is have unrelated tactics and strategies. As an imaginary example, a game that has two modes, where the user has to move tactically at some point, and then another mode where the user has to manage money is a game that has less depth than its complexity deserves. For a great example of a game that has needless complexity look at any MOBA, where you need to figure out how your character matches up against all the 33+ (at the very least) other characters. There’s no more depth to each individual encounter, you just need to learn all this stuff.
Making the character learn a lot of things is bad. Making the character make extremely tough decisions with many competing interests is good.
Don’t make games that ask the player to keep track of a lot of different things. If you do make a game as such, it had better have a lot of depth to make up for it. The time the user has to spend just to get up to speed is time you are wasting, and a barrier to them playing.
DIFFICULTY AND PUNISHMENT
Everyone has different skill levels at your game, different desire for challenge, and different desire for punishment upon failure. 99% of your players should not have the game be too hard for them. 99% of your players should not have the game be too easy for them. 99% of your players should not feel overly punished for failure. 99% of your players should not feel underly punished for failure. Accommodate all of them with difficulty levels, a difficulty slider, and a way to change the amount of punishment they receive. To accommodate this, we can use static difficulty levels, and then user tweaked difficulty levels to fix the first two problems. For the third problem we must let the user decide the level of punishment they want, and every game should accommodate players who want one death to mean game over, and players who want one death to mean reloading an auto-save from 10 seconds ago at the most.
In short: Let the user change the difficulty, and let them change the punishment severity. You should accommodate the extremes as well as the typical. Static levels are good, sliders are even better.
FEEL AND SPATIAL SIMULATION
Twitch, Mapping, Kinaesthetics
Controls should be responsive, which translates into design a game that can be run at high (>60Hz) framerates on the users computer. Since you can’t control the users hardware, you should aim for 60fps at integrated graphics levels. Design your game accordingly.
Controls should also be well mapped. Players should not have to strain their hands playing your game. If you can’t think of a simple control scheme for your game it needs to be redesigned. The measure for if your control scheme is good is if no player is noticeably better at using the controls than any other.
If you have a game where the player moves through a physical world, then make sure you make that enjoyable.
I previously had response and tone in here. That has been moved to the World section.
Dynamism, Ambiance, Possibilities, Consistency
Dynamism: The worlds ability to change, and change through both it’s own actions, and the actions of the player. An example of this would be giving a gang a weapons cache and having their territory expand. Preferably we have systems triggering systems, so the new territory causes increased police funding, which causes citizens to be resentful, which increases the likelihood of a revolt. It doesn’t have to be perfectly logical, just plausible and interesting.
Ambiance: The “hum” and tone of the world. Have ambient noise, or at least fill the silence. In terms of tone, aside from systems, my only advise would be to find someone who can focus on patterns, colour choices, and abstraction vs realism in such ways that fit the game. There’s a reason why I didn’t show you my own concept art.
Possibilities: The world’s potential for large amounts of interesting play. Achieve this by focusing on the civilization and nature of the game world. Find things that would lead to interesting stories, and then systematize these. Example: set your game on a spaceship with very limited supplies, that is smuggling weapons and people to a location. Systematize distrust, weaponry, hunger, and other things.
Consistency: Last one. This runs throughout the entirety of a world. If the world, where that might mean the people or the technology or the animals or whatever, is not behaving consistently, then the player will not enjoy themselves as much as they ought to, so systematize things. This is also true for the tone of a game, as tonal whiplash is a real thing. Finally, don’t have the world feel totally different. Everything needs to feel cohesive, like it’s all a part of the same world.
Solidarity, Personality, Empathy
In a video game, find out what the gamers think when they play, how they act, what they do, etcetera. Really get into the mind of the player. Then, when you create the character, make them the most interesting version of the player you can. Not the most interesting character period, the most interesting version OF THE PLAYER. That means being completely in solidarity with the player, as well as having an interesting personality, and being empathetic (getting worse then they deserve).
Find out what the good parts of your game are. Then build those things up before they happen, make them as good as possible when they are happening, and have their happening actually matter. Do this for events on all scales in your game. Build up killing an enemy, indulging the player, and having the battlefield change is a good example. Having a barrel randomly explode is a bad example. Having infinitely respawning enemies is bad, since it makes the death of any one meaningless. Don’t try to make a game consisting entirely of the good parts, because anticipating the good thing is often just as good as getting it.
It’s difficult to fully appreciate the World of the game unless we’ve been given freedom to simply screw around for a while. If we play a game where there’s constantly an NPC screaming in the players ear then we never get to appreciate the world that has been created for us. Also, let me change everything that is unimportant to the game, like my characters name, clothes, background music, UI elements, etcetera.
Framerate, latency, loading times, resolution, aliasing, bugs, stability, screen tearing, install size.
Framerate high, latency low, loading times non-existant or well disguised, resolution high, anti-aliasing done (supersample it), low amount of bugs, high stability (low exceptions), lack of screen tearing, small install size. These all unambiguously make games good. They are all totally achievable through game design. This isn’t 1994. You don’t need John Carmack to program your game to get 35fps at 320×240.
The takeaway is that you shouldn’t go for photo-realism, not just because you’ll fail, but because your decreasing framerate, increasing asset size which increases loading times and install size, and definitely not allowing yourself to supersample anything. Making a game with simple visuals is not the same thing as making an ugly game. Far from it. As for the others, I can’t say much other than be a good programmer.
MENUS AND SHORTCUTS
If a game is easy to install, easy to uninstall, has a nice shortcut, doesn’t make it easy to accidentally delete important stuff, yet makes it easy for players to mod what they would like in a safe way, that game is better than otherwise. The menus should be intuitive, fully functional, and match the tone of the rest of the game. They should also be responsive to the user.
Games that enable social play are better than those that don’t. Not every game lends itself to competitive multiplayer, but most games can be played cooperatively. Try to put at least co-op in your game.