We discussed a number of possible multiplayer implementations in the preceding text. Here, we will see how to implement some of the more advanced types.
For real-time networking, we need to take into account a lot more. Building upon the basic code that we looked at earlier, first of all, we need to put together a communication protocol that is as immune to transmission issues as possible. Then, we back it up with algorithms that use dead reckoning or similar techniques to compensate for any transmission errors and data packets going missing.
For a real-time communication protocol aimed at a fast-paced multiplayer game, we will want to use a UDP-based connection, most of all. This means that we won't be wasting time with any transmission issues, instead using interpolation and other methods to compensate for missing information and fill in the gaps.
The most basic layout for a system like this involves using a central server that...