Best Answer

Because the new TrueSync is all about fast determinism without lockstep, it requires a photon server plugin to manage the game rooms/matches.

This is one of the reasons we're delaying it's release to the public, as we don't run this plugin in our public cloud yet (we have several customers trying it with enterprise clouds).

We'd like to keep the options open to everybody, so it's in our plans to KEEP the old TrueSync API (as the new one resides in a separate namespace) available for a while (marked as obsolete, but still there).

This means the 3D physics engine will still be available as it is, but only when used with the old lockstep-based framework (the same currently on the asset store).

We might even release most of the current lockstep TrueSync framework as open source, as it works on top of Photon anyway.

Erick

5

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

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.

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.

Because the new TrueSync is all about fast determinism without lockstep, it requires a photon server plugin to manage the game rooms/matches.

This is one of the reasons we're delaying it's release to the public, as we don't run this plugin in our public cloud yet (we have several customers trying it with enterprise clouds).

We'd like to keep the options open to everybody, so it's in our plans to KEEP the old TrueSync API (as the new one resides in a separate namespace) available for a while (marked as obsolete, but still there).

This means the 3D physics engine will still be available as it is, but only when used with the old lockstep-based framework (the same currently on the asset store).

We might even release most of the current lockstep TrueSync framework as open source, as it works on top of Photon anyway.

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.