Hey, so I’ve been working on a racing game of sorts for mobile. I’ve prototyped the idea, and decided its solid enough to continue. I think there’s a really fun game in there.
Mechanics-wise, I’m pleased with the driving experience. You definitely go fast–at least technically. The feel, though, is off. There is little difference between going 60 mph and 120 mph. I want this to feel like an arcade-y racer. I’m pulling inspiration from games like Hydro Thunder, Mario Kart, and the Crusin’ series.
I’ve lowered the camera angle pretty far down, and set the FOV dynamically based on speed; it starts at 30 and maxes at something like 50. There is a small motion blur effect via the post processing stack. I’m also messing with a graphical style that triangulates the roadway and terrain to give it a “dappled” look, so you have constant points of reference that are passing by.
All of that being true, it still just doesn’t feel fast. What design considerations do you take when trying to make a game feel fast?
I’m not experienced with this subject - however the first thing that popped into my head after reading the last section was turbulence on the camera.
When something is traveling semi-fast their is some turbulence because of the surface it is traveling over. If the object is moving faster over the surface the turbulence is smoothed out because the object is not ‘hitting’ every bump in the road. Instead they are ‘gliding’ over the lows in the road and only hitting at the top of the highs in the road.
A great visual representation of this is motocross racing. When they are moving slow the bikes bounce around more on all the obstacles but once they speed up they fly across the tops of the jumps/mogles a lot smoother.
You might consider applying some turbulence/noise/shake to the camera at lower speeds (not a lot) but enough to make it ‘feel’ faster when the turbulence is smoothed out at higher speeds.
Adding in sound fx for passing objects and a turbo/boost sound effect once the vehicle reaches a set speed and increases in pitch as the vehicles speed increases can only enhance the desired feeling of fasterFasterFASTER!!!
I don’t know anything about phone games, but I know that the difference in perceived speed from a 60 degree FOV to a 120 is substantial in first person PC games.
You might also look at the spacing of small props. like somebody else mentioned, grass – or perhaps road signs, checkpoint barriers, fences, etc.
Also, speed isn’t just a visual thing, it should give feedback in the controls. I.e. you need to be a lot more delicate with the steering or else you’ll lose control. A camera shake is one thing, but if the vehicle itself just keeps on behaving the same way the player will ignore all the glitter.
Maybe try some unobtrusive particles in the air that have motion blur streaks on them like a typical scifi hyperdrive effect or that famous screensaver.
I was able to spend a little bit of time with this last night. I’m now programmatically changing the camera’s projection matrix to “oblique” the frustum as you go faster. I’m also now lerping from 30 to 60 FOV as speed increases towards max speed. Already it feels better, so thanks for these suggestions!
I think this is the next thing I’m going to try to add. I popped over to Hydro Thunder for a minute last night and noticed that when you approach your boat’s max speed, it starts drawing these huge particle streaks in front of the camera. I forgot that in games, air becomes visible when you travel fast enough.
Small props are also on the list of things to add. I was reading another thread on here (and also watched Mark Brown’s GMTK video) about getting the player to play in a manner that gives them the experience you’re trying to provide. I want the game to be about speed with reckless abandon, so I’m going to reward the player for driving through things by giving them boost fuel for doing it.
A few of you have mentioned engine noise, but due to the nature of the game, there is no engine to make noise. It’s a bit of a ridiculous thing, but you’re actually piloting a kayak on a river. Tapping the screen to paddle on each side of the kayak. Maybe river noise can increase? start as the sound of a slow running faucet and increase to the sound of a rushing river? I haven’t done any sound design yet, so there is definite room for improvement here.
The ideas here are really good to give the impression of speed.
If however you want to get the feeling of actual speed (ie fast travel) you have to make turns tighter and give the player more control over the vehicle as well.
Imagine a straight road, not even any ups and downs, no matter how fast you travel it will never really feel all that fast because you have no point of reference.
The tricks suggested here so far will give you fake reference points (which is good, and you should totally do those things as well!) but the track you’re driving on can also give you an intense feeling of quick travel if done right.
So use the road as a reference point itself.
Think of how FZero does it:
they give you a lot of control over your vehicle (so you can turn really quick in order to keep up with the track)
the track itself has parts where it is extremely curvy, sometimes there are even 90° angles in there
either the speed of the vehicle is higher, or the track is scaled down (compared to a game that “feels slower”)
its also possible to simply just adjust the time scale, but that will give you a ton of problems all over the place (so its only really good for a 10min prototyping test to see) with animations, gravity, and physics going crazy.
In order to create the “turbulence” effect you could have the vehicle itself move over the track without any noise and treat it as an “anchor”, then the actual model and the camera are attached to a sub-object, which gets some noise applied to its transform.