I’ve been looking for a great tutorial around building a gaming backend with Azure, and finally found a fantastic one from an MVP, Nick Prueh, Technical Director of Daedalic Entertainment. It includes the source code, and step-by-step tutorials — I cannot recommend it enough!
From the first post:
Today, almost every single game out there has got an online component: These range from sharing game progress across multiple devices, to tracking achievements and enabling social services, to implementing the whole game logic on the backend side for online multiplayer and cheat protection.
Thus, most games are made up of a frontend and a backend:
- The frontend shows all the nice graphics and effects and processes user input. Frontends can be implemented for a variety of platforms, including classic Desktop PCs, mobile devices, web browsers and game consoles.
- The backend can be as simple as a standalone executable running on some Linux machine and providing a public communication endpoint (i.e. IP address and port). However, most of today’s gaming backends are far more complex (and most of them are just as mysterious and secret). The Steam backend allows to store savegames, unlock achievements and connect with friends. Most shooter games provide a master server, which allows players to run their own local servers and advertise these servers to their friends and other players. And some games even run their whole game logic in the backend. User input is processed on the client, and sent over the network. The backend verifies whether this input is legal, processes its impact on the game world, and sends the results to all connected clients.