Original Post
Hello,
I''m thinking of developing a 3D Ego-Shooter, which uses the Client-Server-Architecture. To do this, I have 3 seperate Application-States: Userinterface,Client and Server. (Userinterface is the State when a player is neither a client nor a server)
Then I thought of having some classes like cTerrain,cModel or something like this. Now my problem is, that the Client just needs the data to draw the terrain, but the Server needs data of the terrain to make collision tests, should I make two independent Terrain-Classes like cTerrainView and cTerrainDoc? (Or how would you name them ? ;-) )
Another question:
What data should a client send to the server? It''s position? Or the event that a key was pressed?
(The game will be played only in a LAN, no cheats)
And how to syncronize those different players? I heard something of ''snapshots''. What is it?