nanoMMO

About

nanoMMO is a series where I build an MMORPG from scratch, both the client and the server, in C++. The game is what we build, but the focus is on the engineering around it: Docker and deployment, CI, benchmarking, Prometheus and Grafana, MySQL and Redis, networking, security, testing and profiling. These are the parts that decide whether a game server holds up once players arrive, and they're the parts tutorials tend to skip.

Who it's for

It's for anyone curious about how the pieces of an online service fit together, from one end to the other, in a codebase small enough to read. You don't need to have made a game before, or to write software for a living. Some C++ helps, and every change is typed out on screen, with the reasons behind it.

The code

The game's code is on GitHub, under the MIT licence. Every step of every episode is a tag in the repository, so you can check out the code at any point in a video, build it and run it yourself. Each episode's page lists its steps, with links to browse the code at each one and to see what changed since the step before.

Following along

New episodes go up on YouTube, and this site has an RSS feed for them. You can also browse the episodes by topic.