I am looking to make a physics based game and I am curious as to weather or not UE5 offers a fully deterministic physics solution out of the box, and if not, is it possible to implement such a solution from a relatively novice perspective?
From what I can tell, fully deterministic physics will allow me to implement replays into my game using only input data, and will aid in simplifying online gameplay, as well as creating a more reliable overall gameplay experience for players.
My experience with Unreal Engine so far has been primarily with with the blueprint system, and I have little to no experience with using C++ in unreal.
I’m hoping for someone to help me determine if my pursuit of deterministic physics in unreal is viable, or if I should potentially be looking elsewhere (such as Unity) for a solution.
No, Unreal 5 doesn’t by itself provide deterministic physics.
No, it’s not possible for a novice to implement deterministic physics in any engine. You need strong math and physics and 3D math skills to finish that up.
Yes, Unreal Engine 5 does separate out physics solving more than Unreal Engine 4, so it could be possible to build something deterministic on top of Unreal and re-use some of the editor support for physics building, at least – something which wasn’t even possible in UE4. But it would be a lot of work.
Unity cannot do deterministic physics at all – it is behind Unreal in the area of customizable physics. But, looking at it another way: Either engine will let you build a deterministic physics engine, and then integrate it to drive the positions of your own actors/gameobjects. But see above about “can a novice build deterministic physics in any engine?”
That being said, Unreal already has a replay system. It records entity position snapshots in addition to player input (just like the networking system does,) so if all you want is record/playback, that should already work without having to change physics.
I should probably clarify that when I say a complete novice, i am referring to my knowledge in programming. I come from an engineering background, so my knowledge of math and physics is potentially viable. That being said, I imagine the programming experience needed is also pretty extensive, so perhaps its beyond a realistic scope for myself as a “hobby” game dev.
I was unaware that Unreal has a built in replay system though which is a nice thing to hear. In my previous project I made my own system in blueprints but it was starting to get a little messy controlling for all scenarios of gameplay. Do you happen to have any knowledge of tutorials using this built in system? And do you know if it is exposed to blueprints?
I’m getting the feeling that as my time using unreal grows and with it my ambitions, I will soon have to accept the fact that I’m going to need to sit down and learn C++ in unreal.
If you’ve done a lot of computational geometry on the engineering side, that could transfer over just fine! As could tensor calculus. But the “deterministic” part is its own ball of wax, unfortunately
The replay system is in the Unreal docs: Replay System | Unreal Engine Documentation
Sadly, it’s C++ only AFAIK. But learning C++ is worth it if you want to push the engine!