I am currently working on my first game “Illegal Velocity”. It is a arcade racing game where you compete on high performance cars on public roads, avoid traffic and try to escape the police (police is subject to a soonish update though). So first things first: You can download and test Illegal Velocity for free on Itch.io:
It is still in early development (basically white box prototype), but you can choose between two cars and two tracks and race against AI opponents. Gamepad and keyboard are supported as input. I would love to get some feedback!
You can also watch my (first) video on the vehicle physics on YouTube to get some impressions:
The game itself is inspired by classic titles that I loved to play like NFS Hot Pursuit, Burnout and Flatout, though I am not targeting at reproducing the game experience of any of these.
I plan to add police pursuits, interactive environments, a tournament based “career mode” (kind of like in the old NFS games) and more race modes. Though everything is subject to change depending on what feedback I get.
The controls and physics feel quite good already, which is half the battle, so good job
I’d personally prefer the drifting to be a little less self-correcting, to leave a little more room for play, but also disaster.
The current controls are more forgiving though, encouraging the player to drift more. I’m looking forward to trying a car with more horsepower, and see how that feels.
I think the music is needlessly loud, both in the menu and in-game. It also overpowers the engine noises, which apart from giving important feedback, also set the tone for a racing game.
I haven’t bothered commenting on things that aren’t really relevant now, but car select should have a visual indicator that more cars are available with ← / → . People testing might not realize it - I only discovered it by accident. It would also be nice to show the control scheme, for the same reason.
Hi @phoenixdk, thanks for giving Illegal Velocity a shot It feels amazing that someone I don’t know plays the game I worked on.
Thanks for the feedback, those are some good points. Actually I made the muscle car in v0.4.3 less drifty due to feedback from friends (any version before was not public yet) and I think it currently feels a bit too tamed, so I am happy to hear that there is someone who also feels like that. I guess I have to try different variations until it works well.
Anyway, if you are interested you can actually hit F4 (hidden controls ftw) during a race which opens a suspension and wheel tuning window. You can play with the lateral (reduce) or longitudinal (increase) force scale of the rear wheels to make the car more drifty. Let me know if you gave it a shot and which values worked well for you.
Also thanks for the feedback about the music and sound! I haven’t spend much effort yet in fine tuning the volumes, though IMO the sound and music mix is an integral part of a proper racing experience. So I will definitely try to use lower volumes for the music to the give the engines more room.
I originally made the music louder than the engines, because I thought my engine sounds are not that good and punchy. So, do you actually like the engine sounds? I am originally a software engineer by profession so mixing sound effects is all new for me. Maybe interesting technical detail: The engine sounds are actually fully synthesized during runtime using a combination of different base signals and wave guides (since I am better at programming than mixing).
Also good points about UX, it didn’t get too much love yet . For 0.5.0 I have planned to include at least a README, maybe even a ingame control map. And indicators for the car selection are really a good point, will put that on my todo. I didn’t even realize that they are missing
I put in some miles, and here are the values I came up with for car 1 (the muscle car). Everything is default, except:
Front wheels:
Lat force: 1.45
Lng force: 0.2
Max force: 1.8
Rear wheels:
Lat force: 5
Lng force: 4.4
Max force: 1.7
It handles like a RWD car, oversteering under power, and doesn’t course-correct much. I tried to make it squirrelly but fairly forgiving. I’m sure some of the values are kind of hacky, but it seems to work
Thanks, for trying values for the force scales! I will give them a shot right away.
Finding force scales, which feel good, always involves starting off with hacky values in my driving dynamics simulation, so no worries But from these values I can actually pretty easily find more suitable values, that provide the same or a similar driving experience, so thanks a lot again!
For explanation: The force scales are not based on any “real” driving physics. Basically, if you set all force scales to 1.0 you will get the driving behavior that would result from the pure physical parameters (like engine power, brake constant, wheel grip). The scales allow me to achieve arcade-like “unrealisitic” driving behavior (though my simulation is not super realistic in the first place). Or I can let AI agents cheat by improving their scales unrealistically (e.g. for rubber banding or higher difficulty, which is not yet employed though).
The force scales scale (multiplied as factor) the forces applied by the wheel (after engine, gearbox, differential, etc.). Longitudinal force is in rolling direction of the wheel, lateral force is in sideways direction. The “max force scale” scales the maximum force magnitude the tire can bring on the road. When the maximum force magnitude of a tire is exceeded, the ratio between lateral and longitudinal force determines how drifty the car reacts.
In general, more lateral force on the front wheels gives you more turn rate when steering, on rear wheels more lateral force gives you more stability of the rear of your car.
Cool, that’s roughly what I’d imagined, so clearly good variable names
With a semi-simulation like that, it might be fun to add a nitrous boost that essentially just increases the engine output. Things I’d also like to see include a faster car, and wheelspin.
I just tried it and thought the driving feels pretty good and fun!
I didn’t like the way the camera turns back when reversing, it was a little disorienting. Sometimes I just wanted to back up a little from an obstacle I hit but keep looking forward, so when the camera turned around it was a bit annoying sometimes. I don’t know how other racing games handle that situation, but maybe there’s a better way (maybe a dedicated button to manually look back instead of automatically looking back when reversing).
Other than that, it was pretty fun for a single run. For a full game, I think you’ll have to think of ways to add variety so it doesn’t get boring.
Thanks! You are absolutely right, there is still variety missing There are basically 1,5 tracks (the eight doesn’t really count as a full race track), only 2 cars to try out and the AI is not too challenging either I already have some ideas for additional race modes and challenges. Next update will contain police pursuits. After that I will focus on adding more variety to make the game enjoyable for more than 5 minutes
The camera is also not optimal yet. It’s actually good that you mention its behavior when reversing! I never noticed that! Another short coming of the camera is when you crash significantly into something and your car flies off, the camera really loses focus.
Quick mention - I also noted the reverse camera, but I think it just needs to be tweaked. Most racing games also auto-reverse the camera (overridden by manual look), but maybe a bit snappier. I’ll have to pay attention to that next time I’m playing a racer
This major update to version 0.5.0 finally contains police pursuits including a vicious helicopter trying to stop your race. Here are some impressions:
I haven’t had a chance to try the game out, but as a car game fan (arcade and sim) I loved the detail you got into in the video. I work mostly in 2D, but one day hope to do something in 3D, and a racing game is a likely candidate, so hearing about your approach is very helpful. Thanks for putting it together.
Lots of nice additions! The cop cars and helicopter are great
Come to think of it, I’m not sure of the control scheme. I’ve only discovered up, down, left, right and R for reset… is there a handbrake, for instance? Oh and F4 for tweaks.
My notes:
Did the town circuit change? It’s very cool with cops and everything, although it’s easy to miss a checkpoint with the extra police opponents. It seems like checkpoints are pretty generous though, which I think is good
The blur effects are a little bit much, I sometimes had the impression that stationary things in the distance were blurred.
Small bug - the speed lines in the corners of the screen display when paused.
Car 1 handling has a lot of understeer, and doesn’t really want to drift. When it does, it gets uncontrollable quickly, and drifting doesn’t seem to change the direction of the car much.
The audio mix is quite good I think, and the sounds heard are the ones that matter (ie there aren’t constant police sirens, for instance).
The engine noises sound a bit simplistic, but nice and responsive… I haven’t made engine sounds before, but maybe you could give them a second track that plays additional sound, like the growl of the exhaust and sputtering between gear shifts? To my ear it sounds like an engine has a tonal component whose frequency relates to the RPM (I guess 7k RPM = 7k Hz), and another, noisier component which is from the exhaust.
Thanks a lot for the feedback on my video! I’m glad you enjoyed it It was the first video I have ever made, so I was not sure how many details I should put in. It does not go too much into technical details, but I tried to create clear picture of my general design decisions
Anyway, as I have now published the new version of Illegal Velocity, I want to focus on making some videos during the next weeks. I am planning to create some gameplay trailers and also some more technical videos on how I designed traffic and opponent agents
Thanks, that’s a actually a good point! As I already pointed out in my previous comment, I want to focus on making some videos during the next weeks. I originally planned to publish them on YouTube only, but it totally makes sense to put gameplay trailers also on Itch
I managed to win the small city track after 5 or so attempts. It’s quite playable. Here are a few remarks:
Add windowed mode toggle and pausing so your testers can write notes as they go, even alt tabbing doesn’t work now.
The yellow car is extremely floaty, very hard to control via keyboard (didn’t try with a controller), to the point of being unplayable.
It looks like the car is constantly slightly shaking (forward-back), not sure if this is intentional or not
There’s definitely too much blur that appears to not really correlate with what the vehicle is doing. Instead of cranking the blur up, you may try to populate the environment with plenty of rhythmic high-frequency detail lined up along the road; delineator posts, pillars, windows, stripped curbs, ground texture… This can greatly improve the perception of going fast. Long sluggish blur as you have it now may in fact do the opposite. Currently, the only such detail is the central stripe which is far from enough.
Having a track minimap would be nice. Also the opponents could be marked by a symbol above the car. Maybe even give them names for more flavor.
Add more satisfying audiovisual feedback when you pass a checkpoint.
The camera fov feels a bit too wide for a driving game.
Use a more interesting skybox instead of Godot’s default, or at least change to non-default colors
At one occasion a police checkpoint suddenly spawned right in front of me. A couple of times a npc car visibly faded in or out of existence. Breaks the immersion somewhat.
Thanks for your extensive feedback! I am currently on vacation, so I will respond in more detail next week
Actually I added a MANUAL.txt file to the zip archive of the game, which also contains the controls for keyboard and gamepad. This is kind of the cheap solution until I get to make a real ingame control map. So there is a handbrake: Space when using the keyboard.
Regarding the car handling: That’s unfortunate, though it might be related to keyboard controls. The keyboard input is interpreted in a binary way: either full steer or no steer, full brake or no brake. I have not implemented any ramping yet to give more control over the strength of the input with the keyboard. Gamepad though does support analog inputs