I am currently working on a ship simulation in which the player is supposed to be at the bridge of the ship. The view is 180 degree like inside a ship's bridge. So there's 5-6 monitors for each 30 degree of the scene. We decided using 2-3 cpu for this with one cpu handles 2 monitors at most. There can be another instance of player / machine in the simulation so it's basically like a multiplayer fps game++. So this will require some networking, obviously. My questions are:
1. How do most fps handle their network? Do they send some packets with all the data of the game (eg. player 1's transforms, states, physics data; player 2's transforms, states, physics data; ... player x's transforms, states, physics data; game world data; etc) to all the clients from time to time? But won't that make the packet bloated and it'll make the game slower?
2. How do they handle the physics? Do they calculate it on the server or the client?
3. Seeing that one player / machine will consist of multiple cpu's, thus multiple clients, what I'm most afraid of is the state of one client will be different with another even if they're in the same machine. So how do you handle with lost or out of order packets? For example: player 1's main client (the control client) will get a packet to refresh the scene but the same packet is lost for the client for the left side of the same player. Now multiply that with how many players are there in the simulation.
Thanks in advance. This whole thing is still new for me so any advice is very much appreciated.