Make all clients update a certain character's position reliably

I’m currently making a fighting game and quickly noticed how badly delayed velocities are when applying them for knockback, so I’ve decided to make a system where a block represents your current stun position (which is controlled with server-sided scripted physics). All clients replicate the position of the stunned character to their stun position via the part.

The problem lies with network ownership, since the stunned player has network ownership of their character, other clients won’t interpolate the character often and adequately leave them stuck there.

Setting the network ownership of the stunned character to the server results in a jittery teleport to the position of what the server saw when the player initially got hit, which I don’t like since it makes the gameplay feel janky when getting hit.

How can I combat this problem without making clones of stunned characters? Or is velocities and delayed-based knockback simply a better solution?

2 Likes