This article is a follow-up of a previous article I wrote, 11 Tips for making a fun platformer. Once again, this article focuses on platformers, but the philosophy behind each idea can be applied to any type of game, whether 2D or 3D. This time there are a few more practical tips.
1. Keep the camera simple
The most simple (and best) camera is the one that always keeps player in the middle of the screen. This gives the player equal time to react to objects appearing from the left and right edges of the screen. The camera stops moving when the player reaches the edge of the level. For example, if the player reaches the left edge of the level then the camera stops moving left. It will continue to follow the player horizontally when the player moves away from the left edge of the level.
An optional addition is to make the camera look ahead in the direction the player is moving. For example, when the player runs right then the camera shows more of the level on the right side of the player, so he can see ahead. When he stops moving then the camera slowly moves to position the player in the middle of the screen.
Ideally, the player should not be aware of the camera.
2. Allow the player to move in the air when jumping
The player should have at least the same manoeuvrability when he is jumping through the air, as he has when he is running on the ground.
This means that he should move left or right at the same speed, and be able to shoot or use items with the same ease as when he is running.
3. Make it easy to climb ladders
Allow the player to be able to shoot or use items while he is on a ladder.
At any time the player should be able to jump off the ladder by pressing the jump button. He can also fall off the ladder when he moves all the way to the left or right and no longer touches the ladder.
* To start climbing the player can press up, jump or a grab button, depending on the other mechanics of the game. Generally, pressing the up button to start climbing is the easiest and most intuitive. But it may not be ideal if your character has a gun which can aim up, so pressing up will aim the gun up to shoot upwards. In this case the jump button or an extra grab button can be used to start climbing up. Prototype it to find what is the easiest and most fun. (This also applies to vines and swinging ropes. See below.)
4. Make it easy to climb vines on the side of a wall
Ideally, climbing ladders and climbing vines will use the same code. Therefore climbing vines will be the same as climbing ladders, except, usually vines are wider and encourages more horizontal movement.
5. Make it easy to swing on ropes
When the player is swinging on the rope, allow him to move up or down the rope when he presses up or down, no matter what angle the rope is swinging at. For example, if the rope is swinging at a 45 degree angle, pressing up still moves the player up the rope.
Allow the player to be able to shoot or use items while he is swinging on a rope.
At any time the player should be able to jump off the rope by pressing the jump button.
6. Let the player double jump whenever
Usually the player is only allowed to do the second jump of a double jump when the first jump reaches a certain state (for example, specific height, within a certain time limit, or when she is moving up).
Allow the player to do the second jump at any time while he is in the air. It makes the game feel more responsive and fun. The only limit should be that he has to release the jump button and press it again to do the second jump.
7. Avoid using inertia
When the player stops pressing left or right then the character should stop moving immediately. Avoid giving the character inertia which causes him to move forward a short distance before stopping. Inertia is acceptable in an ice level where it adds to the challenge of the level. But avoid having it throughout the game. Inertia can lead to the player falling off ledges or running into enemies or hazards, therefore making the game feel unresponsive.
8. Make moving platforms friendly
The first moving platform the player encounters should be easy to use and not have a big penalty for falling off or missing it (for example, the penalty can just be climbing up a short ladder to get back to where the platform is). The first platform makes the player aware there are moving platforms in the game.
Avoid making moving platforms travel far. If the platform travels far and the player misses it then he has to wait a long time for the platform to return. When he has to travel via moving platforms over a large area (for example, over spikes) then have multiple moving platforms.
If you have a platform that constantly moves back and forth to take the player between two ledges, then only start moving the platform when the player clearly sees it. When he gets to the ledge and does not see the platform (because it is off screen) then he may not know there is a platform there, and leaves to explore the rest of the level. Alternatively, if you want to make sure the player does not miss seeing the moving platform, let the platform only start moving when the player climbs on it. Another option is to make the platforms move along rails, so that when the player sees a rail he knows there is a moving platform nearby.
9. Avoid adding leaps of faith
Generally, the player should see what lies at the bottom of the platform he is currently standing on. So that he knows if it is safe to jump off or not.
If the player cannot see what lies past the bottom of the screen’s edge, then add clues so the player knows what lies at the bottom.
Examples:
- Skulls, flies or blood indicates there are spikes or rotating blades at the bottom.
- A red glow indicates there’s fire or lava at the bottom.
- A power-up in mid-air is an invite to jump off safely.
- An enemy’s head sticking out the bottom of the screen, and moving horizontally will give the player an idea of where there is ground to land on.
If there are no clues, then most of the time the player should be able to jump off and land safely at the bottom.
If there is an enemy at the bottom and off screen, then position the enemy in such a way that the player will have time to react to the enemy when he lands on the ground (for example, the enemy may be in an idle pose and delay for about 2 seconds before he starts attacking the player).
Avoiding leaps of faith removes the sense that the game is unfair. The player will feel it is unfair for him to make decisions when he cannot see the possible outcomes.
10. Remove frustrating elements
By removing frustrating elements your game will become more fun.
Here are some examples of frustrating elements:
- A cut scene which you cannot skip before the boss fight. When the boss kills you then you are forced to watch the cut scene again.
- Extremely difficult jumps that you have to retry countless times to get right.
- Spending large amounts of time collecting items to achieve a goal (for example, collect 100 stars to get a special weapon) then losing all the items when you die.
Complicated button combos which take too long to do a special attack and is interrupted when an enemy punches you.
- Losing health when you fall from a high height.
- Being attacked by enemies who are still off screen.
11. Keep the background in the background
Make sure the background does not interfere with the foreground. This will help the player see which platforms he can stand on and makes it easier to identify items and enemies.
Some tips on how to push the background backwards:
- Use less contrasts in the background (for example, reduce the background image’s contrast setting in GIMP or Photoshop).
- Use cool colours in the background, such as shades of blues (for example, place a semi-transparent blue layer over the background image in GIMP or Photoshop).
- Have less, slower or less frequent animations in the background. The animations should not distract the player.
- Use parallax scrolling (that is, the background scrolls slower than the foreground).
Here it is easy to see what is in the background and it does not interfere with the foreground. |
12. Emotion is more important than reason
You can have the most brilliant, genius, unique, awesome ideas and mechanics or systems for a game. But what does it feel like when you play it?
In other words: prototype and let your emotions be the final judge.
13. A fun game has a good user interface
There are various definitions of what a user interface is, but most of them include the following:
- Information that allows a user to make a decision.
- The user input system.
- The feedback generated by the user input. This leads back to the first point: information to make the next decision.
Examples of non-game user interfaces:
- The controls and dials of a car.
- The LED, buttons and beeps of a washing machine.
- The remote control of a television.
- The buttons and highlighted floor number of a lift.
What makes a good, non-game user interface?
- Clear information.
- Easy to use.
- Clear and instant feedback.
These are also an important part of making a fun game.
References
- http://searchsoa.techtarget.com/definition/user-interface
- http://www.pcmag.com/encyclopedia_term/0,2542,t=user+interface&i=53558,00.asp
- http://en.wikipedia.org/wiki/User_interface
Discuss
Some more discussion of these tips on Make Games SA.
Great article with some excellent tips. Thanks a lot!
Very cool article. Thank you for the tips!
Thanks 🙂
Very good tips. Thanks for sharing!
Nice articles, great tips, thanks a lot!
Great article indeed. While I agree on almost all points presented, I don’t quite agree with point # 7 – to me, small amounts of inertia can make the game feel more smooth and polished, though I do agree that the player shouldn’t move like he’s on ice when he’s not.
Really loved the article, especially the leap of faith part!
Pingback: Diorgo Jonkers » Game dev articles
Great tips for every platformer game developers!
The thing about inertia… Generally a platformer player character should have some kind of inertia. Some sort of weight to them. It can make the character feel like a real object, with real velocity and interesting physics. If you don’t believe me go play Mario, or Sonic. If you want the player to feel Heavier just reduce the amount of inertia they can build(e.g. Donkey Kong Country). A character should always feel real and not just like a mouse pointer on a screen. Also this can create a rhythm to a game. Sorry to nag.
Thanks for all the feedback.
@jdav1915, I agree with you, except for the part about a character should always feel real. But I understand and agree with what you mean within the context, that he should feel more than a mouse pointer.
A friend pointed out that guidelines are a good place to start so that when you deviate from them you are aware of why. And I think, you will also be aware of the possible outcomes. If you blindly add inertia to a platformer (without being aware of the guideline) you may think “This is so cool and realistic.” Meanwhile a player may think “Why did my character run into the spikes? I stopped pressing forward long ago.”
Therefore (with the guideline), when you add inertia, you know to keep in mind that the game should feel responsive.
I agree that it should be responsive, but one of the best platformers I ever played (Fancy Pants) had fairly realistic Physics, and it gave the game a real sense of Dynamicness
The Best platformers i’ve ever played have been really hard and challenging.
Pingback: ???????????13??? | GamerBoom.com ???
Pingback: Entry 16: Level Design | Beginner's guide to making a video game
Thanks. Great article
May I ask on what basis you say that “Allowing the player to move in the air when jumping” makes a platformer game more fun?
IMO having mid-air control depends on the game. If your platformer game is fast paced and requires the player to do things in air a lot then you should probably add mid-air but if your platformer is not heavy on air controls and jumping then it is not really needed.
Hi Spectrum Game
I base it on the following: of all the platformers I’ve played, I enjoyed the ones more in which the character is able to move in the air.
I agree, it depends on the game.
You may start your prototype with the character moving freely in the air, then reduce/remove the movement if you find it makes your game too easy.
Good read. I’m making a Side-scrolling RPG and I needed to read this.
Good read. I’m making a Side-scrolling RPG and I needed to read this.
I liked the first list a lot but I think many of these are very subjective.
#3 personally I hate diagonal and lateral movement on ladders. I feel it makes the game feel loose.
#7 many great games have a (little) bit of inertia as it lends the characters a little weight. Stiff digital movement can work great but tends to suit more retro styled games.
#10 Many of the great platform games are very frustrating (SMB anyone?)
#12 Reason is only reasonable if its reasoned …. Analytics and A/B testing will tend to give a lot better results than our own ‘feelings’ on the game.
– John A ( developer of the Unity Asset Store – 2D Platform Controller and the soon to be released Platformer PRO 🙂 )
I couldn’t disagree more with #7. A game where you stop dead as soon as you release the D-pad feels amateurish to me, especially if you’re running at high speed. Gamers are used to pressing the other direction to counter inertia, which goes all the way back to Super Mario Bros. You could make a case for restricting inertia to only a few frames, but you gotta have *some* there.
Let’s put it this way: I’ve never seen anybody complain about the controls in SMB1.
I also see no reason why horizontal movement on ladders is necessary. Usually the relative sizes of ladders and enemies/obstacles mean this isn’t a practical way to dodge things, and having a character hang over the ladder’s edge as he climbs looks a bit weird (especially if you see his hands grabbing thin air), so the only real effect is it makes it look like the programmer doesn’t know how to snap the character to the ladder’s position. It probably doesn’t help that I’ve seen this more often in amateurish games than professional-looking games.
I agree with everything else, though.
I see violations to #11 all the time and it makes me sad. So many background artists do not understand that the player does not want to be focusing on the background. I’d argue that even the Super Mario World knockoff art at the top of the article violates this rule: all those deep greens attract the eye.
Pingback: [DevLog]Plateformers: Rigidité et manque de precision | Guendeli Omar
Good article. I realize the article was created in 2012 but I think it still holds true today. I even share it on Twitter –https://twitter.com/ParagonyxLLC/status/592433603163873281
Pingback: Tips to develop a good 2D Game | dev-tools.eu
Pingback: 13 Tips to develop a good 2D Platformer Game | dev-tools.eu
I love the tips, and it shows how many things you’ve got to get just right to make a platformer great! Game programmers in the 80’s had an incredible task to make their games great. If you want, you can experiment with platformer levels on Platformania (http://platformania.com). There is a build-in level editor which you can use to create your own levels!
This is a good article, with great starting tips. However, I do disagree with some of these. I think a little inertia is important to make the character more “life-like”, while also helping the player feel more immersed in the world you have created. This article also infers that higher difficulty = less fun, which isn’t true (off topic, but the Souls games for instance). Obviously, the beginning of the game should be spent on introducing the mechanics to the player. But, I think the game should get progressively more difficult (difficult jumps, difficulty in collecting items, most of your “frustrating elements”) to give the player a sense of accomplishment and to keep from losing interest in essentially, the game you describe, a repetitive game.