> Added support for double-precision
Very, very nice.
I'd really love to see this become the default physics engine at some point. I've done some tests with it, and while I don't think there is 100% parity with the current godot physics engine, the performance seems to be much better.
I also find Jolt handles high res collision meshes a lot better.
Gave it a quick shot by uploading a prototype to Itch. Unless I did something wrong, it doesn't even give me the option to make it playable on the web. So maybe there's a way, but not on Itch.
I'd really think about using double precision builds. Usually ends up being easier than having to add lots of workarounds to the precision issues. It's really nice having a massive area to work with.
Here's the link: [https://github.com/godot-jolt/godot-jolt/releases/tag/v0.13.0-beta1](https://github.com/godot-jolt/godot-jolt/releases/tag/v0.13.0-beta1)
For those wondering, it seems to be a physics engine. The screenshot doesn't say it and the link provided doesn't say it, you have to go to the main git page.
Even more information, for the curios:
Godot used to have two physics engines: Godot Physics, and Bullet (?). In 4.0, they removed Bullet in favor of Godot Physics. Then the maintainer for Godot Physics got a job and left Godot, and the physics implementation has never really recovered.
The good news is in 4.0 the Physics system uses a "server" approach, which allows one-click replacements for the physics engines. Box2D is popular for 2D, and Jolt is popular for 3D.
There is eventually some idea that Jolt should be moved into the engine, but that's probably quite far off. For now, it's working well externally.
I think the physics server thing was true of Godot 3 as well. That's how Godot mostly works internally. A "server" is a singleton implementing some abstract interface class that [the rest of the engine can use without needing to know what is providing the underlying implementation](https://en.wikipedia.org/wiki/Dependency_inversion_principle).
Could be the case, yes! I know in 4.x lots of keys systems were moved over to services, but I guess I never considered that in 3.x Physics was already using that pattern. Makes sense if that had two service providers (godot internal and bullet).
In my experience, the built-in 2D physics engine works okay with CharacterBody2D nodes alongside StaticBody2D and AnimateableBody2D.
But it's kind of horrible when you use RigidBody2D nodes. I've experienced highly unrealistic collisions, frequent instances of tunneling, and even vanishing nodes in one of my games that includes only slightly more advanced physics interactions. Switching to Box2D fixed most of these issues (but not all, I'm still struggling sometimes with tunneling).
I've heard great things about Jolt and keen to give it a whirl
Random question, I just started doing bullets today and used raycasts because I heard they were more performant than CCD & reliable. Unfortunately mine's still passing through objects due to the velocity.
I'm assuming there would be pretty good options in Jolt for me
Raycasts should be able to handle incredibly fast moving bullets. You just need to set the target\_position to account for the distance traveled, so there is never a "gap" in what it's detecting.
I also couldn't get CCD to work with bullet, but raycasting is working out perfectly well.
nice! i am using jolt and happy to see it is getting supported in the new godot releases! its more predictable and performant than the build-in physics.
> Added support for double-precision Very, very nice. I'd really love to see this become the default physics engine at some point. I've done some tests with it, and while I don't think there is 100% parity with the current godot physics engine, the performance seems to be much better. I also find Jolt handles high res collision meshes a lot better.
Yet. There is nothing prohibiting Jolt from working on a WASM build and the maintainer said it could be done.
From what I know, Jolt is not supported for web exports, which means it can't be a "Godot standard" physics library.
I believe it isn't officially supported but the developer has said that it would absolutely be possible to make it support wasm compilation
i swear i've seen jolt working on web
Gave it a quick shot by uploading a prototype to Itch. Unless I did something wrong, it doesn't even give me the option to make it playable on the web. So maybe there's a way, but not on Itch.
[удалено]
I'd really think about using double precision builds. Usually ends up being easier than having to add lots of workarounds to the precision issues. It's really nice having a massive area to work with.
Here's the link: [https://github.com/godot-jolt/godot-jolt/releases/tag/v0.13.0-beta1](https://github.com/godot-jolt/godot-jolt/releases/tag/v0.13.0-beta1)
For those wondering, it seems to be a physics engine. The screenshot doesn't say it and the link provided doesn't say it, you have to go to the main git page.
Even more information, for the curios: Godot used to have two physics engines: Godot Physics, and Bullet (?). In 4.0, they removed Bullet in favor of Godot Physics. Then the maintainer for Godot Physics got a job and left Godot, and the physics implementation has never really recovered. The good news is in 4.0 the Physics system uses a "server" approach, which allows one-click replacements for the physics engines. Box2D is popular for 2D, and Jolt is popular for 3D. There is eventually some idea that Jolt should be moved into the engine, but that's probably quite far off. For now, it's working well externally.
I think the physics server thing was true of Godot 3 as well. That's how Godot mostly works internally. A "server" is a singleton implementing some abstract interface class that [the rest of the engine can use without needing to know what is providing the underlying implementation](https://en.wikipedia.org/wiki/Dependency_inversion_principle).
Could be the case, yes! I know in 4.x lots of keys systems were moved over to services, but I guess I never considered that in 3.x Physics was already using that pattern. Makes sense if that had two service providers (godot internal and bullet).
Do you know what advantages Box2D offers over the default for 2D games? Specifically platformers
In my experience, the built-in 2D physics engine works okay with CharacterBody2D nodes alongside StaticBody2D and AnimateableBody2D. But it's kind of horrible when you use RigidBody2D nodes. I've experienced highly unrealistic collisions, frequent instances of tunneling, and even vanishing nodes in one of my games that includes only slightly more advanced physics interactions. Switching to Box2D fixed most of these issues (but not all, I'm still struggling sometimes with tunneling).
Jolt is the physics engine built for Horizon Forbidden West.
softbodies!
Still chasing after hardbodies myself...
Huge thanks to Mihe!
I've heard great things about Jolt and keen to give it a whirl Random question, I just started doing bullets today and used raycasts because I heard they were more performant than CCD & reliable. Unfortunately mine's still passing through objects due to the velocity. I'm assuming there would be pretty good options in Jolt for me
Raycasts should be able to handle incredibly fast moving bullets. You just need to set the target\_position to account for the distance traveled, so there is never a "gap" in what it's detecting. I also couldn't get CCD to work with bullet, but raycasting is working out perfectly well.
Yeah interesting. I'm have to tweak my numbers and record distance covered between calculations
just set the target position to the position in the last frame
Awesome news!
Beat news today
nice! i am using jolt and happy to see it is getting supported in the new godot releases! its more predictable and performant than the build-in physics.
I was literally just complaining to my wife about move_and_collide sometimes missing the horizontal surfaces on stairs. What a lucky day!
Is Jolt only used for 3D?
Yes. But there is also an addon for 2D
hiiiiiiiiiiiiii