# Giving the illusion of speed

I'm making a racing game that feels a lot like xtreme g 64 or fzero.

Making the player feel like they are moving extremely fast is important for this game. Actually moving them fast enough to give them that feeling is out of the question. Collision detection and a few other aspects of the physics engine prohibit it.

My current solution is the following:

• Map the speed to the field of view for the projection matrix so that the FOV is 30 at speed x and 100 at speed y with a linear increase for the FOV inbetween x and y. This will probably be some polynomial once I test it out some.
• Trail render any light sources on the vehicle. I am just adding a trail rendered blurred object of the same color as any light source: tail lights, jet flames, etc.
• slight camera shake when you are above 3y/2 speed
• your max speed without a boost is y/2, when you have a boost the max speed is y and these effects all become pretty noticeable

My Question: I can't do any post processing effects on the iphone. I'm limited to poor mans solutions like the one I did. Is there another approach that is more common or better? My solution seems like what they would have done back in the N64 days so I'm wondering if there's a better way. The problem with this solution is that it makes it seems cheap to stretch the FOV like I am. It's a cool effect, but still feels cheap when you play it.

Here's a link to a very limited version of my effect

The speed they are simulating is supposed to be 400kph, I'm simulating about 2000 meters per second, about 18 times their speed. so my effects are very exaggerated.

Note: I'de give you a screenshot but setting up a test scene that doesn't display the art assets would be hard. Setting up one with the art assets would get me sued. My object is on the ground so I'm avoiding effects that are used more for aircraft. There is no wind or dust so that is a little more limiting in using those elements.

• I can't do any post processing effects on the iphone Might I ask why? You don't have to actually use blur to make it appear faster you can also overlay semi-transparent shapes that flicker to emphasize wind force. Thereby emulating the look of speedlines that are employed in comics. – PeterT Feb 6 '12 at 14:50
• possible duplicate of Effects to make a speeding spaceship look faster – bummzack Feb 6 '12 at 15:02
• @PeterT brilliant idea. Maybe turn that into an answer with this free idea from me: render the scene ONCE more at a slightly lower FOV and overlay this with the original scene (I am not sure what opacity but it will definitely be less than 50%, possibly 20-30%). – Jonathan Dickinson Feb 6 '12 at 15:04
• @bummzack. It's a bit different than the link you posted. That one is a flying object which the answer is mostly specific to flying objects. My example is grounded and will have completely different answers than the ones posted there. – brandon Feb 6 '12 at 15:10
• I don't think it's going to be completely different. It's about the illusion of speed.. doesn't matter that much if it's a driving or airborne vehicle. Blurring, speed-lines, change in FOV.. all this applies – bummzack Feb 6 '12 at 15:13

## 2 Answers

Place the camera closer to the ground. The closer you are to the ground, the faster it appears to zoom past you.

• I wish there was a way to mark a few people as the answer. this one did it for me tho. I lowered the camera with speed (had to decrease near clip to something like 0.01. Kept the FOV change. Added a blurred transparency over the bottom half of the screen and it looks perfect. Big mixture of everyones comments on this, but the lowering the camera was the final bit that fixed it. Seems obvious now that I did it, thanks. As a note, i tried lowering the camera before the FOV change a few days ago and it was no good, but with the FOV change its perfect. – brandon Feb 6 '12 at 15:58
• This and tightening up the FOV (already mentioned in the question) are the two simplest ways of making a racing game seem faster. – jhocking Feb 6 '12 at 15:59
• @jhocking just to be a pain. I'de probably call it widening. That gives you the tunnel effect. – brandon Feb 6 '12 at 16:14

Just thinking out loud: If your road texture includes dashed lane lines, you can send a texture coordinate offset to the shader each frame that will effectively scroll the road's texture backwards under the car. The change in offset amount each frame would be a relationship of speed.

• It does have lines, that may be cool to mix with a little bit of shader level blur too. The more I look at it, the more I notice the road is the shortcoming. It seems like everything is going extremely fast except the road. interesting and od idea – brandon Feb 6 '12 at 15:38