[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)