Skip to content

Edyn v1.0.0

Compare
Choose a tag to compare
@xissburg xissburg released this 02 Apr 05:10
· 457 commits to master since this release
0af44ff

With the first iteration of networked physics complete, this release is deserving of the major version number one. So, welcome to Edyn v1.0.0! It is now possible to run a simulation in a server and synchronize it with multiple clients, and Edyn should take care of replicating client state in the server with correct timing using a jitter buffer, and applying state from the server in the clients with extrapolation, conciliation and visual jitter smoothing. Not much has changed besides the introduction of networked physics. This is a summary of other updates:

  • Merge functions are not necessary anymore for external components which contain entities. entt::meta is used now instead. Thus, external components must be registered with entt::meta and at the very least, their members which hold values of the entt::entity type must be specified.
  • Generic constraint is now fully featured with limits, restitution, friction, damping, spring and bump stops.

This being the first release of networked physics means it is still not very polished. The APIs are not yet the best and some features are missing, such as packet and component validation in the server side, which is crucial for security since one cannot assume the client will send good data only, but it does not stop us from making our first networked physics prototypes. Packets are still not optimized so they can be quite big and use substantial bandwidth. Check the Networked Physics section in the User Manual for more information. If you wanna know more about the internals of the networked physics model, see the Networking section in the design document.

Check out the Edyn Testbed to see networked physics in action.

The upcoming releases should be all about polishing and optimizing networked physics. There are so many things that can be improved, and so many bugs to be uncovered...

Enjoy! 🚀