Skip to content(if available)orjump to list(if available)

Programming vehicles in games

Programming vehicles in games

62 comments

·July 25, 2025

mhink

> Interestingly, while the engine has the most moving parts in real life, in code, it's the simplest piece of the entire car simulation. Because at its core, the engine is just a torque calculator. It's concerned with producing a single output: rotational torque, from a set of inputs. It is essentially a blackbox.

This just reminded me of AngeTheGreat's incredible video series showing his engine simulator- absolutely worth checking out, considering it's optimized enough to run in real-time! The fact that he's simulating it well enough to generate realistic sound is absolutely mind-blowing.

https://www.youtube.com/watch?v=RKT-sKtR970

ehnto

The game Automation has quite an in depth engine builder/simulation aspect to it. It's very fun to mess around with, and the sound simulation uses some of the concepts AngeTheGreat has in his videos.

Joel_Mckay

In general, most simulations with rigid body physics are still baked-in animations, and often still use rudimentary collision conservation models.

If people try something fancy... the clipping and weird physics glitches will ruin their day. Only somewhat depends on the game engine =3

oofoe

Classic of how to animate a cube in Houdini:

https://www.youtube.com/watch?v=NLiL0GLSvIw

(tldw: Real time internal combustion engine simulation something unexpected.)

Joel_Mckay

LOL, still looks better than my first attempt at a Dump-truck rig with a dual rear axle. Should have added Yakety Sax =3

https://www.youtube.com/watch?v=lAJB6HsYiNA

seanmcdirmid

Actually, aren't EV motors pretty simple? It is just the use of micro explosions in an engine to create torque that is expensive. I wonder if most cars in video games drive like EVs accordingly (if they aren't simulating more accurately how an ICE really works)?

visualphoenix

In addition to some other things, I was responsible for all vehicle simulation in Army of Two. This article is a good starting point. I was glad they mentioned implementing Pacejka’s tire model and the transmission differential in the article - those help a lot. Aside from that, I was surprised (not surprised) how important an anti-roll bar physics sim and suspension sim helped make driving feel “fun”.

That’s the most important follow up. Without it, you’ll notice that the driving feels icy - I see it in the demo video. Most folks who fail to do the anti-roll bar and suspension wind up with cars that easily flip on turns - so they make the tires slip or they play with the surface friction, which makes the driving experience worse.

wassimulator

Thank you for this! I wasn't aware that anti-roll bars carry that much importance in a rudimentary model. I will look into that next, and update the article accordingly once I get it working.

pnw

Classic game. One of the first shooter co-ops I can remember playing!

visualphoenix

Fun fact: the standing turrets are vehicles without wheels

kqr

This very closely mirrors what I discovered when I made Flightle[1].

I made it in anger when I played a sidescrolling flight "simulator" on my phone in which the plane didn't behave anything like a plane! I figured "how hard can it be" and started learning a lot about how planes fly. It turned out there was a level of abstraction that was just right. Too unrealistic felt static and unsatisfying. Too realistic was difficult to calibrate for fun gameplay.

[1]: https://xkqr.org/flightle/

kqr

Too late to edit the comment, but here's the article describing some more of what I learned: https://entropicthoughts.com/sidescrolling-flight-simulator

What's not mentioned in that article is that a couple months later I tried switching from modeling the plane as a point to modeling it as two separate wings attached by a rigid stick. It was a nightmare to get into a shape that played well, though I'm sure someone more skilled than I would be able to do it.

Zircom

Fun game, have you considered allowing people to control the sliders with their scroll wheel if they're on a desktop web browser?

kqr

Not considered that. Good idea!

lpeancovschi

A while ago I made a game for iOS that simulates vehicles and drifting. It was built in SpriteKit but very easy to do in any 2d game engine. The idea is: you put two wheels in front, connect them to the rectangle car shape with pin joints and then you apply force to the wheels. The angle of the force is very easy to calculate: x = force * cos(bodyRotation + wheelRotation) y = force * sin(bodyRotation + wheelRotation)

That's it! I also added skid particles. The drifting was achieved by playing around with the wheels and body damping. The game is here: https://apps.apple.com/app/drift-mania-infinite-car-racer/id...

qoez

Cool game! The marketplace is so competitive I'm surprised you got even 22 ratings, how'd you manage to market it?

lpeancovschi

Thank you! I like the game too, but today it doesn't really make sense to publish games. I believe there are over a million of them on the App Store and the usage is declining anyway - people spend more time watching TikTok these days. Regarding how I managed to get 22 ratings - it's just organic discovery, I think I get around 1-3 downloads per day. On every other session I would ask users to leave a review. I also cross-promote this game through my other games, but that doesn't help a lot.

lpeancovschi

By the way, for anyone thinking of increasing organic discoverability some pro tips: 1. Try to decrease crash rates to 0. Ideally 99.9% crash free sessions. 2. Try to increase user retention - the more often user re-open your app, the more likely apple algorithms with rank your app higher. 3. Similar to 2. but the metric is time spent in the app. Try to increase it too.

merelysounds

Cool game! Quick feedback:

- I enjoyed the immediate start - skid particles are practical - game looks good - it’s too difficult for me; I’d like a “zen” mode that doesn’t reset when I hit a wall.

lpeancovschi

Thank you! It might take a few tries before you get used to it. But yes, might have to build what you suggest as well!

monocularvision

“The game features stunning graphics…”

Love the self-deprecation! Downloading now.

emptybits

Wow. Sincerely enjoyed this. Will re-read for the tire model alone.

On the other end of the spectrum, playing purely for fun with no regard for simulation or realistic anything ... I'll take a 1980s spinner wheel Super Sprint arcade cabinet any day for guaranteed smiles per mile.

https://www.arcade-museum.com/Videogame/super-sprint

furyofantares

It's a cool post but I am very confused by the intro.

It makes the case that cars in games offer a wide variety of unrealistic experiences and says this is unlike guns.

Is that really true? I've played games with homing bullets, slow projectiles, enormous projectiles, gravity guns, rocket jumping, hit scan guns, guns with bullet drop, freeze guns, ... idunno, I think there's a lot of variety in guns that are about the experience and not about simulating physics.

> It's because when it comes to cars, we derive our expectations of them not just from first hand experience. Our understanding of what “driving fast” feels like is often built from second-hand sources; films, games, pop culture.

And then this just feels like a theorycrafted thing with zero evidence. It's also even more true of guns than of cars, isn't it?

But then, there's stuff like, uh, jumping, where there is just as wide a variety in how you can jump in games even though my expectations about jumping come a lot more from actually jumping than do my expectations about driving come from actually driving.

herval

I’d imagine the author doesn’t have a ton of experience coding FPS games. They’re definitely not like the experience of shooting an actual gun. Games would be a lot more frustrating and boring if they were, with much lower accuracy, much more variable bullet drop, etc. It’s the same as in racing games, lots of affordances to make it feel more fun

elictronic

Tarkov, Hot dogs Horse shoes and Hand grenades, and ARMA all might want a word with you.

The act of dealing with those frustrations while you are already stressed is what makes them good. I will say Tarkov takes some liberties with its recoil making it even worse than real life.

herval

Those are the “most realistic” subset of the genre (there’s also racing cars that are “more realistic” than mario kart). They’ve obviously not completely realistic though (eg the running while aiming, turning around mid-jump, climbing stairs, etc). There’s always affordances.

cluckindan

Not to mention Road to Vostok. You even have to load magazines separately.

crq-yml

It's a question of verisimilitude, not realism: we are looking for experiences that we can believe in.

Firearms in games tend to be less real because they prioritize making you believe in the power fantasy of a gun: it looks and sounds fearsome, and enables the bearer to dispense death. Running and jumping, likewise: there's no need to explain in an empirical sense how or why Mario jumps extremely high - it's an aesthetic choice that highlights the thing the game is about.

We tend to get stuck on portrayals of physics, camera, and photorealistic rendering in games because in those instances, we have tools that are good at systematizing verisimilitude: the car can behave more like a real car by fastidiously emulating everything we know about real cars. Those simulations can be made comparable to ones used in industry.

But many aspects of games can't take that approach and have to be cartooned to some less grounded approximation: the way in which human figures move and talk, or how a national economy works, or the pacing of combat.

As makers of designed products, we're meeting players in the middle by making choices that cohere with the rest of the game's goals while staying believable to their expectations. There are lots of ways to achieve verisimilitude while destroying the overall structure of the game, and that's a classic newbie-designer pitfall: "do X but with more detail".

wassimulator

The FPS example came to me spontaneously on stage and I only realized afterwards that it wasn't a good one. You make a good point.

Animats

No hills? No banked curves? No suspension?

Unreal Engine comes with two car demo projects. The first one is the "Hello World" of Unreal, and has a simple vehicle. The second one has an actual suspension model.

ivanjermakov

Wassim said in talk's QA that suspension is incidentally handled by the physics engine, which feeds back into uneven tire load, affecting tire forces.

wassimulator

At the end of the talk, and article, there is a short video demostration of the current state of the game engine, and it has hills and banked curves and whatnot. For the talk I opted for a flat grid.

Suspension is implemented as well but it didn't feel to me like a unique problem to implement for cars, at least not a simple suspension that can carry a car, and it didn't fit too well with the flow and limited time I planned for this.

WolfCop

There was a good GDC talk about the car physics in Rocket League: https://www.gdcvault.com/play/1024972/It-IS-Rocket-Science-T...

Disclaimer: I worked on Rocket League, but not on the game client.

acc_297

Reading this reminded me of this good lecture on the physics of racing which was posted to youtube.

Andre Marziali - Physics of Racing https://www.youtube.com/watch?v=bYp2vvUgEqE

guhcampos

Amazing article. I've always been curious how hard it would be to simulate accurate tires in particular, and I'm also interested in how the sound of engines is generated.

A quick typo though: s/Imperically/empirically (I guess)

ehnto

You are in luck, there is an amazing youtube series about someone who made an engine simulator so he could simulate engine sounds:

https://youtube.com/playlist?list=PLUahe1BHkKtVN4nPDmueo7huQ...

The simulation of tires is interesting too, because you can get totally playable vehicles without simulating them at all. Or you can simulate some aspects for gameplay reasons (tire wear, heat, rudimentary grip level change)

Or, you can go really, really deep, and simulate the real physics going on, and that's what games like Beam NG, iRacing, Assetto Corsa etc. are doing. Usually known as the "tire model" in case you want a term to search up. They're still approximations but ever improving accuracy.

rzzzt

BeamNG is standing on the shoulders of Rigs of Rods, which uses soft body physics (points of mass connected by links that aim to keep the same distance between two points up to a certain amount of force applied, after which deformation occurs): https://en.wikipedia.org/wiki/Rigs_of_Rods

jimmySixDOF

there is a whole family of filetype glTF extension standards for vehicles so a completed asset will be rendered effectively across different game/world/ engines and coordinate the physics etc ... [1] is an example :

[1] https://github.com/omigroup/gltf-extensions/blob/main/extens...

jayd16

Only one known implemention, though.

flohofwoe

Jesus F. Christ, they're really turning gltf into a kitchen-sink format :/

CupricTea

Is it any more of a kitchen-sink format than FBX? This is listed as a gltf extension, so not required in every loader, no?

StrandedKitty

What do you think the purpose of extensions is? They enrich the base spec. If your renderer can't handle an extension it will simply ignore it.

andrewmcwatters

I realize the author goes super hard into actual physical vehicle hardware components, but every time I think about super good feeling vehicles in video games, I think about how ridiculous the Warthog in Halo 1 feels, but the vehicle physics in that game seems to make almost no sense, and when vehicles go flying it's hilarious and absurd, and I wish some developer from the Halo 1 days of Bungie would talk about it.

I recall the Warthog and other vehicles actually defining some specific properties about vehicles like RPM and gear ratio, at least I think, because in first person you'd see some of those properties reflected in the dashboard of say the Warthog, or you'd hear it in the audio for a covenant vehicle.

But wow, man, what great feeling vehicles. Nothing else like it in the industry, in my opinion. The ridiculous feeling of vehicles in Grand Theft Auto 4 came really close, but those seemed to be much, much more detailed from vehicular motion and damage-taking perspectives.

w4rh4wk5

Halo 1 featured a custom physics engine sometimes called Chucky Physics due to its creator Charlie Gough. Bungie switched to Havoc in the following titles.

I completely agree that the Warthog in Halo 1 felt the best, by far.

rightbyte

Have you played Warthog Launch? It makes satire of the game physics.

kinduff

Oh my, its been a minute since I played this game. I remember playing it as a teen.

rightbyte

Ye well it is the silliest game mechanic for a puzzle game ever. It is surprising how fun it is.