Keeping the players in sync
With what we've seen until now, we can log into the game, but that's about it; what we need now is a way to keep the server informed of the player's movement and to give the client the position of all the other players. The following figure shows you how the client and the server will interact:
We will do both these things in one JSON call. We will use it to pass to the server the player's current position as we did before for the username and password. In return, the server will generate a JSON file with the list of all the other players.
{ "players" : [ {"name": "Alice", "x": 23, "y": 112, "dir": 0, "state": 0}, {"name": "Bob", "x": 1004, "y": 50, "dir": 2, "state": 1} ] };
Let's first have a look at the server side. There we need to write two queries: the first one to retrieve the list of all players and the second one to update the state of the current player.
Retrieving all the other players
This simply means finding all the entries in the players...