Original Post
hello all. i've decided to tackle two biggies in order to improve my current project. the biggies being multiplayer support and collision detection. I have read a lot of texts on multiplayer implementation over the internet and think I have an okay model for a fast paced game like mine to run on. ive also read a lot of articles and a book on collision detection and feel that i will be able to implement this as well. the problem, however, will arise when i try to tackle the both of them; i am currently trying to think of the best model for multiplayer collision detection. i know for sure i want each player's own computer to locally test for collisions with world geometry. if a collision response is solicited, so be it. each players velocity, position and state information is sent to the server and propagated to all of the other players. herein lies the first problem-- the problem of cheating. if only velocity, position and state information is uploaded to the server, i can verify that the player isn't in an 'illegal' position, that they aren't moving faster than some allotted velocity and that they have normal status; but say a user lags out for 5 seconds... god knows what the user did on his computer locally within those 5 seconds and in a fast paced racing game he could be on a totally different sector of the map. how can i verify that no illegal actions have occurred? then comes the second problem--collision with other players. where should this be handled? on the server or locally? my instinct tells me on the server because then everyone is just one hop away from finding out if they collided rather than talking to the server, then to another machine, back to the server then back to a local machine again. but if multiplayer collision is handled by the server, then what happens in the instant two players collide and one car goes through the other because the server hasn't sent back or updated the collision information yet? any ideas, suggestion or implementation tips? thanks