(December 2021) Monthly WIP Screenshot Thread

Nice!

Curious to know how animated physics colliders will be handled on the server? Will animations be played on the server-side and then bone transforms get streamed back to the client?

2 Likes

I have a few options that I need to try. The least “expensive” way seems to be to keep the server and client in sync on what they are playing but let the animation decide what’s on the client and what’s on the server. Meaning, server knows “walk cycle time t” and client knows “walk cycle time t” and then those resolve depending on how they manage their skeleton animations.

In the interest of expedience, the server will probably be loading the j3o just like the client and then using attachment nodes, etc… but I’d ultimately like to compile down the armature and its collision shape animations into something more compact on the server.

I’d rather not have to forward all of the bone transforms as that would severely limit how many characters I could handle at once and it would mean the server would always have to keep track of the full rig… even the parts it has no collision shape for.

3 Likes

This is also how I handle it in my game, and so far the collision shapes’ accuracy in a networked match seems to be just a good as a solo match with no server running. But my testing has been fairly small multiplayer games, so I hope that there won’t be larger discrepancies between the client/server side animations in larger matches with more players and higher latency.

I never actually tried doing anything more complex/accurate like sending the bone data from server to client since this simpler approach appeared to work. So it is reassuring to me to hear to hear that you are taking a similar approach and I’m interested to see how it progresses :slightly_smiling_face:

1 Like

Nice to know someone else had the same idea.

I’m hoping to be able to use fake SimEthereal child objects to give me seven channels per child of blend/time information. For example child position.x is time for the walk animation while pos.y is the mix of walk to run or something.

Still very much at the prototyping stage.

1 Like

Hi @grizeldi,
I wrote the answers here: jMonkeyEngine VFX
:wink:

1 Like