At present, the mainstream physical engines on the market use floating-point computing, and there are some parallel computing mechanisms, which may lead to no guarantee of 100% cross platform certainty. However, when we develop multiplayer online games, we may adopt frame synchronization networking mode. In this case, you may need a physical engine with 100% cross platform certainty
What is GGPhys?
GGphys is a 100% cross platform deterministic 3D rigid body physical engine, which perfectly supports the development of frame synchronous online physical games. It is written in pure C#, and it is very easy to use.
Features:
Pure C#
Fixed point Math
Spheres, capsules, boxes, and convex hulls collision detection
Static meshes collision detection
Collision constraint
Triggers
Collisions callback, triggers callback
Layers
Low cost sleep states for resting bodies
Multi thread speed up
Easy rigid body APIs
100% cross platform determinacy
Support lockstep multi player game develop
Support:
This project will continue to iterate and optimize
Videos is not a stress test, In the stress test, GGPhys can handle 1100 ~ 1200 rigid body collisions at the same time less than 10ms with a i7-8700k cpu
Hmm, I see. I found some windows test in your website and made some tests. I believe the support currently would be 1000 or less entities, I also verified that there is a GC that is not very high, it can cause a performance problem, because of the use of the Task and apparently there are allocations in each frames.
Anyway, nice project!
What are your plans with GGPhys? Are there any plans for new features? fixes? otimizations or something?
It would be nice if the asset had any Discord group for discussions
Thank you very much for your test and feedback, I will optimize these problems in later versions
I’m developing my own physics online game, so I’ve developed GGPhys. I’ve opened it up for better problem finding and iteration. I’m planning to add joint system and raycast to later versions
is there any way to “parent” rigidbodies together? I really want to use this, but I need a way to separate hit and hurtboxes from the player while still following the player.
Hi, we recently purchased this package to test it out. Do you have plans to add joints and raycast/shape cast/overlap APIs any time soon? The package on the asset store has not been updated since January.