What's the reason for dropping support of 3d physics?

I thought i found perfect solution for my game, as it works smoothly at low amount of objects (~20). But i did not tested it deeply.

And then i read on the forum what you won't support 3d physics at next release (and maybe forever)
It almost broke my heart :(

Why? What's the point of life without 3d?

Best Answer

Answers

  • I am new here and do not know any details about this and I am still learning the system. But It is a little sad that they would be since I thought that was cool that they put that much work into the system. However, I think the most important part of my games that would benefit from a lockstep solution is the X and Z axis therefore you may be able to use TrueSync to handle the position on the map/level and unity physics handle the Y axis. If you really do need full 3d support would PUN by itself work? As far as your question why? I would be interested in knowing that too
  • MaRTiDoRe
    MaRTiDoRe
    edited December 2017
    @TomatoFromTheSky could you please provide a Link with that information?

    I'm a bit in shock too, since I was planning to implement TrueSync in my 3D game
  • I recently posted on this forum and I got this from one of the admins (December 8):

    "We are working and modeling our new release to better handle those performance issues, for example next release we will drop support for 3D physics, at least in the first versions."

    Full post here http://forum.photonengine.com/discussion/11067/true-sync-for-real-time-multiplayer-mobile-game

    Not sure if by drop he means to add support or to remove it. It seems like remove to me (english is not my native lang).

    If they are completely removing the 3D physics support, it seems an error to me. For example, I don't have "physics" in my game (physics as for objects colliding and adding forces to each other) but I have Sphere colliders as Triggers for OnTriggerEnter. I could make use of those Sphere colliders without any problem to use TrueSync.

    But if they remove it I better forget about TrueSync and search for other alternatives, and I wanted to give TrueSync a try.

    Let's see if any admin like @JeffersonHenrique can enlighten us.
  • Hi guys,

    Thanks for the interest in the topic.

    First: since the 3D physics is open source, it`s fairly easy for you guys to keep it around and use with the new API (we'll keep the hooks open, so developer can add custom stuff).

    The reason we're removing the official support/bundle of the 3D physics is that we are not happy with its general design (we ported Jitter Physics to be deterministic as you might know) and performance.

    Also because we're moving to a faster FixedPoint implementation (Q48.16, which is 4x faster on the multiplication operator), and in our tests, Jitter was unstable with this. The 2D physics one was perfect and really faster.

    We're also keeping support for all the FixedPoint math in 3D (new naming: FPVector3, FPMatrix, FPQuaternion, etc), so Life is Still in 3D...:)

    We're interested in your feedback all the time.

    One important aspect is that all these changes are coming together with a lot of very important new online features:
    - server-side plugin for input management (no more lockstep);
    - auto-adjustment for changes in ping;
    - a lower level API if you want to benefit from deterministic tick-based simulation with fast rollbacks but want to implement the game state management yourself, etc.

    Erick Passos
    TrueSync Project Lead/Senior Developer
  • MaRTiDoRe
    MaRTiDoRe
    edited December 2017
    Thanks a lot four the information @erickpassos

    Wow, those are some big changes for the next Update! Well, I'd call it a full revamp more than a simple update.

    I never thought of a deterministic implementation without a lockstep architectue. For me, Determinism and LockStep where glued to eachother since determinism is useless if the events are not executed in the exact time/order in both machines. You can add lag compensation but still it wont be 100% accurate. I will try to google a bit about the topic.

    So, if I understood correctly with TrueSync v2 we won't be able to use the Photon Cloud system and we will be forced to run our own authoritative servers. That means players won't be able to be the host/Master-Client and we will be forced to develop the server with server logic right?

    Although creating your own servers with most of the game logic there is the way to go, it requires more work and I wanted to avoid it, at least for the firsts version of my game. Good to know you will still keep the old TrueSync v1.

    After thinking about the topic for a bit, I just realiced that I don't need to use 3D physics. My game is 3D, but the only physics I need is a Radius (Unit's target Range) and that can be represented as a 2D circle. All my units move in the same plane so 2D circles would still collide and OnTriggerEnter would still be called if I'm not worng.

    This is a bit of offtopic but does your 2D physics work in 3D environments as long as the colliding objects are in the exact same plane? Or you have any restrictions like it only works inside a Canvas or a 2D setup?

    If that is the case, I will give TrueSync v1 a try. Forgetting about custom servers and delegate that to players, although unsafe, is what I need for my first MVP.

    Thanks and good luck with your revamp, looking forward news about it!