Hey, we are currently looking for decide for either authorative or distributed multiplayer approaches
Movement prediction is pretty straight forward from the logic side and apart from one small issue I have already implemented that for the authorative approach.
What I have trouble understanding though is creating new temporary gameobjects in a predicted state, and I would like your input on how this should work
Upfront some context:
Game: 1-4 Player Coop A-RPG
Networking: Steam Relay (Unity Transport in dev)
Game Speed: Fast paced
So now to my problem, if my non-host player presses the button for the fireball spell I would ideally not want to wait until the server has confirmed the skill, creates the fireball and sends it off. I would like to anticipate on the client that there will be a fireball that I can already show
These are the 3 methods I could think of:
- Hide the fireball creation behind a little windup animation, animation can be predicted, gives the server time to spawn fireball NetworkObject
- Pre-spawn a fireball object, catch the spawn event from the server and instead of spawning a new object assign the prespawned fireball as the "spawned" network object, then do transform reanticipation
- Ignore the little delays you have and just let the host/server do its job - high ping players will have desync problems anyways in this type of game
Any experiences or advices here?