In my games I want the client to feel like they are in total control of their character, I’ve worked on several fast paced physX multiplayer games, and you need twith-reactive gameplay as a client, and I found that only to be possible by letting the client be in control and having Server update everyone else.
Yes you’d need to do cheating checks, but keep in mind the server can STILL take control of the client if it feels the need to, it would be easy to add to my code structure to just throw in a bool to override the client from sending updates and allow server to force client back to a proper position.
void AJoyBallMovement::JoyMoveReplication()
{
//Add code here for Server sending cheating corrections
if(IsLocallyControlled() && !IsCheatingNeedToOverrideClientUpdates)
{
JoyMoveRep_Send();
}
else
{
//Update!
JoyMoveRep_Receive(); //if Cheating now even local gets updates from Server
}
}
Every system has its pros and cons, for me allowing the client to experience twitch-reactive physX gameplay in real multiplayer games is the highest priority, and I will code as necessary to support that goal :)
:)