I’m working on a car crash / vehicle damage prototype in Godot and wanted to share a short video of the current state.
All deformation and damage is computed in real time. There are no pre-baked animations, mesh swaps, or scripted damage states. The main goal so far has been physical plausibility, deformation persistence, and keeping the simulation stable and fast enough to run well on older hardware.
The demo runs smoothly on an older iPad, so most of the work has gone into keeping the system lightweight and predictable under repeated impacts.
What’s in the video:
• Head-on and angled wall crashes
• Vehicle-to-vehicle collisions (including T-bones)
• Repeated impacts to show damage persistence
• Collisions against different masses and rigid obstacles
• Some slow-motion segments to make deformation easier to see
I just tried to emphasize the variety and correctness.
Vehicle control and damage & deformation is a custom system built on top of Jolt
This is still experimental, but I’d appreciate any feedback, especially if you’ve dealt with physics-heavy or performance-constrained projects in Godot.
This is really cool. It’s like a lower-end BeanNG. I can’t believe it works on an ipad.
Question. Is the slow-mo feature built into the game or is it just external video editing? I couldn’t quite tell from watching the video. If it’s the former, you’ll get more brownie points from mentioning it.
I left the same comment on the video just in-case that doesn’t reach you.
The slow-motion is actually in-engine, not added in post. It’s just time scaling on the simulation, so physics, deformation, and constraints are all still running normally, just slower.
I mainly use it as a debugging / inspection tool to better see how forces and deformation propagate during impacts. In normal gameplay it would likely be limited or contextual.
The iPad performance was a hard requirement from the start, so a lot of effort went into keeping the system lightweight.
And yes, this is still a very early stage of development. There’s more detail and fine-tuning planned as things evolve.
Really curious how you went about making a custom soft-body class. Would you mind sharing more about your process?
I haven’t experimented with any softbody stuff yet but I have been thinking about it for squash and stretch on cartoon characters and would love to learn more.
This looks like fun! Good work! Can you talk about your approach to “correctness”? I guess, you mean physical accuracy, right? Maybe it’s all those years of video games talking, but I did not expect the cars to loose so much velocity on impact.
For new cars that is mostly true, but older ones… less likely and cabin compresses as well at higher speeds unfortunately…
I already support non-uniform parameters around the body by the way.
And answering your question: I rely on a couple of constraints in the softbody (nodes connected with links approximation), including dynamic stiffness based on kinematic energy, compression resistance, bending etc.
And yes, tweaking parameters and refining my work will hopefully improve results.
Thanks for you feedback and hope this answers your question.
Hello! I make car games, and for my future projects, I need your help, I really like how you made your video. If you want, we can work together in future?
Right now I’m focusing on developing this solo and keeping the scope tight, so I’m not looking at collaborations. Maybe down the line, but not at the moment.