Let’s start with the foundation that creates awesome games —> great game mechanics.
For me great mechanics in a game means it plays smooth and players can figure out fast how to control and move around in the game world. It takes in all the input of the player to the game and translates it to a fulfilling experience, in which the player feels in control of the movements, actions and reactions happening in the game.
There are many different genres and games, but what is shared among them all is the gameplay feel of the game, meaning game mechanics. If a game lacks great mechanics, it get’s really frustrating to the player. When mechanics are bad, players usually tend to feel that they are not responsible for their own failure in the game, it was the ”games fault”. Of course there are bad players too, who just cannot master the mechanics and complain about the games bad gameplay. You must yourself decide the best way to approach it. All in all, it’s good to make the mechanics easier to master or smoothen them up a bit to a point that the players feel that they are responsible for their failure in the game.
I cannot emphasize this enough. Your game might have the best story, the best sound, or the coolest graphics, but if it lacks good mechanics, it only offers players a huge amount of gameplay experience full of frustration. So be sure to sharpen, smoothen and remake the mechanics to suit the player on the given genre you are creating.
When you have some kind of mechanics made up. It’s a good idea to hand the prototype build to players (friends, family, strangers), so you can test and see right away what works and what needs to be refined or removed related to the mechanics. This process is iterative and it’s good to make changes daily not weekly. So you can crystallize the mechanics upon to a point from where you know you can start creating levels for the game. Basically this means; watch and listen, then improve and repeat as long as needed until you are sure the mechanics are working correctly.
Here is a video with Shigeru Miyamoto (Creator of Super Mario Bros.) and Takashi Tezuka talking about Super Mario Bros first level and its design.
I started playing around with SpacePipe’s game mechanics by a normal jump first, then adding a longer jump and eventually a dash like jump. I wanted them to be connected to each other like in the old NES games. Remember when you where running with Mario in Super Mario Bros and pressing the B button would make Mario run faster and jump higher. That was the way of the mechanics I wanted to have. Similar, but not the same.
In the case of SpacePipe I had problems with jump responsiveness and hitting up the right values. I wanted the player to have Super Mario Bros like jump controls, so that each jump has it’s own highest and lowest velocity. It was a challenge, because I am using Unity and it has some methods in it’s library for touch controls for mobile devices, but these lacked the responsiveness I needed to obtain in jumps. I wanted the player to be able to jump instantly when the player hit the ground with a consistent way. Eventually I did find a way to have the Input values without frame lag.
When you are sure the mechanics are working and players are not complaining about them. You can start iterating on the levels. When testing the game mechanics I found out that players tried long jumping more than mini jumping in situations that would have needed the mini jump. As a matter of fact, they were reluctant to mini jump at all. So, I changed the level design principles to have more challenges with long jumps.
Also when creating levels you can add more functionality to the game. But it’s a good idea to keep the core mechanics intact and then add some more around it. Reversed gravity etc…
If you found yourself reading all the way to here I suggest you take a look at this great article about game design; “Reverse Design: Super Mario Bros” http://thegamedesignforum.com/features/RD_SMW_2.html
In the next post I will talk more about level design.
For latest updates follow @lingoded.