In this project, I use the medium of online game development to learn more advanced server-side and netcode programming. As explained in my first blog post about this project, web development and multiplayer game development have a lot in common. In fact, the whole backend of an online RPG can be made in a similar fashion to a web application, except that it interacts with a client that’s on a graphics rendering engine instead of a web browser.
With that in mind, I am using this project to teach myself new architectural paradigms and specific technologies that I have been wanting to explore:
- Microservices backend architecture;
- Golang as the main backend development language;
- Protocol buffers as communication protocol facilitated by the gRPC framework;
- PostgreSQL as the main database technology;
- Docker and kubernetes for deployment and orchestration, facilitated by the Agones framework;
- AWS deployment of services, API gateways and Lambda Functions.
See my blog post to learn more about how learning multiplayer paradigms can help you become a better web developer.