Today, I want to continue talking about game design and some of my personal design philosophies. This blog will cover something very near and dear to my heart: player expression through gameplay. Basically, players being able to play how they want to play and not always exactly how the game or the designer wants them to play.
When designing games, action games especially, player expression is the cornerstone of every decision I make. I firmly believe that a player should be able to do whatever they think they can do within the context of the game they are playing.
Here are some examples and tips for designing for player expression.
1. Design for expectation
Creating a game that has believable and consistent interactions is very important. Players need to be able to apply any and all knowledge of the game to pretty much any situation they are thrown into. This can be as simple as hitting an enemy with a certain attack always knocks them down. It is the job of the designer to anticipate player interactions, and make sure those interactions have an expected outcome.
I know that sounds hard, but think about Mario for a moment. Mario jumps on things right? So, the designers that work on Mario have to figure out what happens with Mario tries to jump on or into… pretty much anything in the game, because that is what players are going to do. What happens when Mario jumps on a Goomba? Well it gets smashed. What happens when Mario jumps on a Koopa, or a Piranha Plant? What about when Mario jumps on Toad, or some other non-enemy character? Or a sign? Or a block? Or jumps in the water? You get the idea.
A very simple example of this idea is blocking! Using my game, Knight Club as an example here, you can see what I mean. Players expect to be able to block an attack if their shield is out.
2. Actions link into other actions
It’s pretty likely that your favorite action game follows this idea of being able to perform an action from another action. Jumping while running, attacking while jumping, rolling while blocking, etc. Being able to smoothly transition between character states (running, blocking, jumping, attacking) at a moment's notice is absolutely key to a great feeling action game, and most games in general really. Imagine how annoying it would be to have to completely stop running before you could jump or attack, and how bad that would feel.
Any time there is a disconnect between what the player wants to do (assuming they have an understanding of the game mechanics, of course) and what is actually happening in the game, there is a problem. When the player can easily execute their plan without having to argue with the game, the better the game will feel, and the better the player will feel about what they are doing. This is especially true if players are rewarded for “thinking outside the box."
This is also from Knight Club, and it shows the options that players have during their dash. Players can cancel the dash into an attack, or a jump. Players can also cancel the dash and return to neutral at any time by pressing down.
3. Chain reactions
A huge part of this “design for expression” philosophy is to allow for chain reactions. Essentially this means designing your games systems to interact with each other. Everything the player wants to hit should be hitable and have a reaction. Those reactions should then have the possibility of causing additional reactions with other objects. A player throws a rock, the rock hits an enemy, and the enemy gets knocked into another enemy which is also knocked down. This is not necessarily a complex, or nuanced interaction, but if the player expects this to happen and it does NOT happen, then you have a problem.
Keep in mind that this entire blog is my opinion, and I’m in no way saying you have to do any of this stuff, or that it applies to every kind of game. It is purely dependant on the kind of game you want to make. However, I do believe you can apply these ideas to pretty much any sort of game, and the game will benefit, even if there are no direct gameplay changes based on the interaction.
Until next time you can follow me on Twitter, and on my website for more gamedev related stuff!
Nathan Ranney is the founder of game development studio Gutter Arcade. He's best known for the creation and development of Knight Club, an online indie fighting game.