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.
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.