Running a million-board chess MMO in a single process · eieio.games

https://eieio.games/blog/a-million-realtime-chess-boards-in-a-single-process/
webpage banner

Running a million-board chess MMO in a single process · eieio.games

The article details the technical architecture and challenges of creating 'One Million Chessboards,' a real-time chess MMO that successfully managed over 150,000 players and 15,000,000 moves within a single Go process. It covers strategies for minimizing bandwidth using protobufs and zstd, implementing optimistic UI with rollback netcode to achieve 0ms latency, and managing game state with a single mutex and dense arrays. The author also reflects on gameplay design, the importance of conveying a sense of scale in multiplayer games, and the personal growth derived from the project's development.

Note

so much of the attention to software development is given to big scale big data.

i like that the 1 million chess games project was heavily focused on solving a big game problem for just one (beefy) computer.

it is possible the focus on this entineering problem biased the game away from some interesting game decisions.

but irrespective, the game was made with love and it shows.

well done.

Published

2025

Summary

The article details the technical architecture and challenges of creating 'One Million Chessboards,' a real-time chess MMO that successfully managed over 150,000 players and 15,000,000 moves within a single Go process. It covers strategies for minimizing bandwidth using protobufs and zstd, implementing optimistic UI with rollback netcode to achieve 0ms latency, and managing game state with a single mutex and dense arrays. The author also reflects on gameplay design, the importance of conveying a sense of scale in multiplayer games, and the personal growth derived from the project's development.

Image

Image for Running a million-board chess MMO in a single process · eieio.games