Before we get our hands dirty
As with all our previous applications, we need to have a clear vision of what we need to accomplish before digging into the code. Our multiplayer game will rely on a central game server and every game client will connect to this same server. Communication between the two will be bidirectional, since one player's actions must be perpetuated to all the other players, creating a richer experience for everybody.
Some things to be considered
Online multiplayer games usually transmit and receive quite a lot of data. But on mobile devices, this can quickly become a problem since we can never be sure of the reception quality. A game might perform well with Wi-Fi, but crawl to a stop over cellular data connections. Furthermore, cellular networks are much less reliable depending on where the user is located. This is an important mobile principle. Many new mobile developers sometimes learn this the hard way.
Such use cases and their limitations require us to be mindful...