Say I have a minigame event which rains down a barrage of arrows upon the map and players, welding to contacted parts. How exactly should I manage the collision detection to ensure as less latency between server and clients as possible.
Using the server exclusively to pickup on touches:
A .Touched event on the server works okay, when the network owner of the arrow is the server. However, on the client is appears to jump from several blocks above to the hit position.
Using .Touched on the client and then informing the server:
Another way I have tried, is having set network owner of arrows to the targeted player and detecting the collision for the player character and arrows owned on the client. This shows well for clients, but server and other clients sees the arrow welded several blocks higher than the client.
I have probably been handling this super poorly but I definitely need some direction in how to handle collisions on my game so that they are seamless, and as fair as possible across all clients and the server.
I want each player to see the rain items (such as the arrow example) smoothly fall and welded whether they may land.
Please direct me on the path to take!