Top
Best
New

Posted by Michelangelo11 3 days ago

2D Vehicles(patkerr.co.uk)
272 points | 63 comments
zeroq 1 hour ago|
When mentioning foundational 2d driving models one simply can't omit Marco Monster (2003) [1].

Also Physics for Game Developers (2001) had a hilarious chapter dedicated to car racing simulation. Most of the chapter is dedicated building the scene in a minute detail - for instance pointing out that the center of gravity of the car will change during the course due to fuel consumption - only to simplify and cancel out most things at the end to leave the reader with just a handful of variables.

[1] https://www.asawicki.info/Mirror/Car%20Physics%20for%20Games...

Hydraulix989 1 hour ago|
Let's not forget Dr. Brian Beckman's The Physics of Racing Series, at the time he was a researcher working at Microsoft on the Forza video game series.

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

I built an OpenGL car physics simulation as an undergrad as a project. It was very fun.

matsemann 2 hours ago||
I'm sorry, I really want to like and understand this, but the diagrams are worthless and mostly incomprehensible.

I would've liked to understand more about why it works the way it does, how it achieved the correct feel etc, not just regurgitate whatever the code does.

I would've liked to know more about how the author achieved what they did, not a blog post anyone with an llm could've written.

PatKerr 13 minutes ago||
What in particular would you like to know?

As I said in the summary article, the core is a "textbook" 2D rigid body simulation (the "Brick" layer), and the Car bit mostly a matter of deciding what forces are applied to the tyres.

In short, the tires "like" to go back and forward, but resist going sideways (relative to the direction they are pointing in).

The forces which are applied at the tyres are roughly equivalent to friction, but not quite (friction is stranger than people think, and is not actually very velocity dependent). In some ways my tyre forces actually behave more like a form of "viscous drag" actually. I knew this was a bit dodgy at the time, and it was a sort of conscious "hack" that was chosen to produce "playable" behaviour as simply as I could.

derefr 1 hour ago||
The diagrams seem to have been written (or generated[1]) while looking at the project source code, and use the sort of bass-ackwards approach to code documentation of giving a “post-hoc summation” that only makes sense when you’ve already read the code, rather than serving as an introduction to the code for someone who hasn’t read it yet.

That being said, AFAICT, the diagrams are also basically irrelevant to the article in its capacity as a high-level overview of the project. You can just ignore them for the purpose of reading the article.

It’s when digging into the project source code that you should look at those diagrams, and then feel frustrated by how much they suck. :)

===

[1] This seems to happen a lot with LLM-generated code docs / diagrams / etc, when the docs are written in the same session as the code itself, but later; the LLM seems to see the docs as “following” the prior work in its linear context, and so mistakenly writes as if the reader of the docs will have also read whatever’s in the context before getting to the docs. That assumption, of an incrementally-growing shared context that can be implicitly made reference to by “later” text to compress that “later” text, makes a lot of sense when generating one long linear stream of prose, or even when generating a series of chain-linked entries (like conversation responses, or chapters of a book); but doesn’t work out when generating a web/graph of separate bits of text. This is kind of a fundamental flaw in producing coding agents as fine-tunes over conversational base models, and it’s one that coding-agent harnesses have yet to really focus on addressing.

tsukikage 1 hour ago||
"One body, three behaviours"

Much of the text is generated as well.

wongarsu 1 hour ago||
GTA I and II had really fun car physics. Just driving around and evading police was fun, in a way the later 3d games in the series didn't quite capture for me
Razengan 1 hour ago||
I still remember GTA 2 had the best radio

Laughing vampires dance!

slazaro 1 hour ago||
I love the japanese girl screaming in the loony gang radio with the drum and bass!
slowin 3 hours ago||
It still feels great to play! I love the history too, it's actually a great example of why prototyping "toys" is so important in product development. It allows you to play with isolated concepts without baggage or the expectation to make things production grade. Just getting straight to the point.

Great story, programming and mechanics.

PatKerr 25 minutes ago|
Thanks. I'm glad you got something out of it.
joshu 2 hours ago||
no dynamics model (uses bicycle model) but i built a solver for parking

http://truckslop.joshu.dev/

JK-Swizzle 2 hours ago||
That was a lot of fun to play with.

I think the fractal solver is bugged, but maybe I am just using it wrong. It says placing a cone in the red zone will block the vehicle, but either the colors are inverted or the backend is off, because everything is red except a few spots.

Otherwise very fun. I managed to park a truck the solver called impossible :)

Note: Using safari on an iPad of that matters.

erikig 2 hours ago|||
The visualization of potential results is quite mesmerizing.
murkt 2 hours ago||
This is pretty fun!
m00x 7 minutes ago||
This is painfully awful Claudeslop. They didn't even bother changing the default style.
PatKerr 2 minutes ago|
Correction, it was some mildly ChatGPT-assisted PatSlop.

I speak with some authority on the matter. ;-)

londons_explore 2 hours ago||
This is what taught me how to do handbrake turns.

And shortly after I learned how expensive tyres were, I stopped doing handbrake turns.

bita_nidir 2 hours ago|
GTA didn't exist back then, so I had to learn them from the lore.

And shortly afterwards, in addition to all the different physics-in-action experience, I learned about how car insurance excess works.

rwmj 1 hour ago||
I ruined someone's car park learning to do handbrake turns, about 5 years before GTA 1 came out. But (coincidentally) only a few miles from Dundee where GTA was developed! I went to university with some of the people who had done Lemmings levels.
ionwake 1 hour ago||
To the creator, thank you. I spent many years almost 2 decades alter playing multiplayer gta2 with my good friend during late night sessions.

Thank you for a great little physics engine

PatKerr 36 minutes ago|
You're very welcome.
entropie 18 minutes ago||
Can you please add a "parking simulator" mode? Iam not joking, my SO wants a simple way to train parking and I think that could work very well. Or maybe just let one draw obstacles.
codeulike 2 hours ago|
Interesting that he namechecks Thrust from 1986, an absolutely amazing game for the BBC Model B, and I guess the first 'physics' game I ever encountered. The 'towing' physics were amazing.

https://youtu.be/Dt44PEIWBRg?is=CbVTRyDfo8Nt56fH

Thrust was by Jeremy C. Smith who went on to work on Exile with Peter Irvin

fidotron 1 hour ago|
There was a demo of a remake in progress on the Archimedes which did the rounds back in the 90s which was also amazing https://www.youtube.com/watch?v=jssOIpGYH3E which was the first game I saw do real time anti aliased line rendering for the ship-ball connection.
More comments...