本文是我的前一篇文章《11 Tips for making a fun platformer》的续篇，但又增加了几点。本文仍然聚焦于平台游戏，但各个技巧背后的理念其实可以运用于任何类型的游戏，无论是2D还是3D.
13 More Tips for Making a Fun Platformer
by Diorgo Jonkers
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
The player can grab onto the ladder when he is in the green rectangle, even if he is in the air. The character grabs onto the ladder when the player presses up*. The rectangle is slightly bigger than the ladder to make it easier to grab onto the ladder.
The player should be able to move up, down, left, right and diagonal when he is on a ladder.
When the player moves up and bangs his head against collision (red rectangles), automatically move him towards the middle of the ladder (while he is pressing up). This will make it easier to get through narrow gaps.
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
The player can grab onto the rope when he is within the green rectangles and he presses up. Like the ladder earlier on, the green rectangles are slightly bigger than the rope to make it easier to grab onto the rope.
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.
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.
Some platformers have a main ground. Usually when the player falls out the bottom of the screen, past the main ground then he dies instantly. This is quickly learned by the player when it happens the first time. The leaps of faith generally apply to platforms above the main ground.
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?
Easy to use.
Clear and instant feedback.
These are also an important part of making a fun game.(source:devmag)