[HN Gopher] Programming vehicles in games
___________________________________________________________________
Programming vehicles in games
Author : Bogdanp
Score : 222 points
Date : 2025-07-25 14:41 UTC (8 hours ago)
(HTM) web link (wassimulator.com)
(TXT) w3m dump (wassimulator.com)
| jimmySixDOF wrote:
| 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...
| flohofwoe wrote:
| Jesus F. Christ, they're really turning gltf into a kitchen-
| sink format :/
| CupricTea wrote:
| 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 wrote:
| 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.
| jayd16 wrote:
| Only one known implemention, though.
| constantcrying wrote:
| I liked the talk, but it was given very much from the perspective
| of a game developer and not from the perspective of an engineer
| wanting to simulate a car. (Unsurprisingly)
|
| There is actually _a lot_ of literature on how to simulate
| vehicles, which would be quite a bit of help. He also mentions
| BeamNG whose approach is very weird if you actually want to get
| accurate vehicle dynamics. Their ongoing tire simulation project
| seems even weirder and as if it was done by people who actively
| tried to ignore standard approaches for modeling tires.
| westmeal wrote:
| Why do you say beamngs approach is weird? They seem to take a
| bottom up approach and I think it's a decent way to do it.
| constantcrying wrote:
| Because they are a German company who gets some American lab
| to do some standard tire parametrization tests.
|
| Germany has _two_ state of the Art companies developing tire
| models and their parametrization and instead of relying on
| the decade of research and experience in that area they are
| ignoring it all and are going to some company around the
| world to get any data at all. This is just totally bizarre,
| they likely could have saved themselves a lot of time and
| money by just hiring a couple of guys from that sector and
| just implementing well studied approaches or just worked
| together with world leading experts in that field.
|
| >They seem to take a bottom up approach and I think it's a
| decent way to do it.
|
| If nobody else had ever done tire simulation, sure.
| ok_dad wrote:
| Tire simulations vary wildly amongst car sims. There
| certainly are many approaches to modeling tires, and many
| variables that can affect it. Beam is pretty good, I think
| they're trying new stuff and it's paying off.
| constantcrying wrote:
| Given the fact that _right now_ they are in the process
| of parameterizing their tires I can only assume that
| their fidelity is significantly below the state of the
| art
| ok_dad wrote:
| Beam has been out for a while, they have decent tire
| models already, this is new research.
|
| I'm sure you've driven it, so you'd know that it's not
| the best but it's no slouch.
| MITSardine wrote:
| Could it be those companies are not interested in working
| with a small video game studio? In case they usually work
| with the much larger actors of the auto industry.
|
| Or maybe they're operating at a level of fidelity much
| higher than the game needs? If they're working on
| simulation e.g. for Formula 1, they might be doing full
| fledged numerical simulation (FEM etc) rather than
| simplified models for real time games.
|
| I'd be curious to know more though, what else do you know
| about this?
| beckthompson wrote:
| > There is actually a lot of literature on how to simulate
| vehicles, which would be quite a bit of help.
|
| Could you link some? I'm interested in this topic but have
| struggled to find good resources
| constantcrying wrote:
| Look at what cosin is doing with FTire and Fraunhofer is
| doing with CDTire.
| andrewmcwatters wrote:
| 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.
| rightbyte wrote:
| Have you played Warthog Launch? It makes satire of the game
| physics.
| kinduff wrote:
| Oh my, its been a minute since I played this game. I remember
| playing it as a teen.
| w4rh4wk5 wrote:
| 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.
| lpeancovschi wrote:
| 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 wrote:
| Cool game! The marketplace is so competitive I'm surprised you
| got even 22 ratings, how'd you manage to market it?
| lpeancovschi wrote:
| 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 wrote:
| 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.
| monocularvision wrote:
| "The game features stunning graphics..."
|
| Love the self-deprecation! Downloading now.
| merelysounds wrote:
| 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 wrote:
| 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!
| matheusmoreira wrote:
| Truly fascinating. Now I want to read up further on steering
| models and how they're programmed. Steering feeling off is
| usually the thing that makes me hate driving cars in video games.
| Cyberpunk 2077 was the first time I felt like I was driving an
| actual vehicle.
| llbbdd wrote:
| Turn radius is big for this feeling I think. Lots of game cars
| feel like they're rotating from the center of mass when you
| turn instead of following the arc of the tires, I'm guessing to
| make sharper turns easier.
| mhink wrote:
| > 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 wrote:
| 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.
| oofoe wrote:
| 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.)
| furyofantares wrote:
| 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 wrote:
| 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 wrote:
| 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.
| cluckindan wrote:
| Not to mention Road to Vostok. You even have to load
| magazines separately.
| herval wrote:
| 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.
| wassimulator wrote:
| 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.
| crq-yml wrote:
| 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".
| guhcampos wrote:
| 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 wrote:
| 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 wrote:
| 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
| acc_297 wrote:
| 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
| visualphoenix wrote:
| 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.
| pnw wrote:
| Classic game. One of the first shooter co-ops I can remember
| playing!
| visualphoenix wrote:
| Fun fact: the standing turrets are vehicles without wheels
| wassimulator wrote:
| 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.
| kqr wrote:
| 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/
| Animats wrote:
| 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 wrote:
| 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 wrote:
| 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.
| emptybits wrote:
| 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
| WolfCop wrote:
| 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.
___________________________________________________________________
(page generated 2025-07-25 23:00 UTC)