Development and Deployment of Multiplayer Online Games, Vol. I: GDD, Authoritative Servers, Communications (Development and Deployment of Multiplayer Games #1) (Hardcover)
Trying to develop your own multiplayer online game can be overwhelming, especially as information on multiplayer specifics is very scarce. The nine-volume Development and Deployment of Multiplayer Games series is an attempt to summarize a body of knowledge that is known in the industry, but is rarely published, let alone published together.
The series is highly praised by prominent representatives of the multiplayer gamedev industry. An "Early Praise" page within the book lists several testimonials by people from billion-dollar and/or AAA companies with job titles ranging from Managing Director and CTO to Backend Technical Director and Principal Software Engineer.
Genres: From Social Games to MMOFPS, with Stock Exchanges In Between. Development and Deployment of Multiplayer Online Games aims to cover pretty much all the MOG genres - ranging from social games to MMORPGs and MMOFPS. While there are certainly differences between the genres, around 80% of the discussed concepts apply across the board.
Level: Intermediate+. This series is not trying to teach very basics of the programming (and is not a book to copy-paste your MOG from). Rather, it is intended for those intermediate developers who want to progress into senior ones, and all the way up to CTOs and architects.
In particular, there is no explanation of what event-driven programming is about, what the difference is between optimistic locking and pessimistic locking, why do you need a source control system, and so on. Instead, there will be discussions on how the concept of futures fits into event-driven programming, when the use of optimistic locking makes sense for games, and how to use source control in the presence of unmergeable files.
This Volume: Vol. I Vol. I starts Part ARCH(itecture), and includes three Chapters. Chapter 1 discusses Game Design Document (GDD) - mostly concentrating on its multiplayer specifics of GDDs. Chapter 2 explores the all-important aspects of cheating - which is virtually non-existent in single-player games and games between friends, but plays an enormous role in multiplayer games; the resulting analysis leads to Authoritative Server architectures (note that discussion on implementing anti-cheating measures is much longer than it is possible to fit into Vol. I, and will take the whole Vol. VIII). The largest chapter of Vol. I, Chapter 3, is dedicated to typical multiplayer communication flows. Along the course of this discussion, it will cover lots of different topics, including such different things as Client-Side Prediction, Low-Latency Compressible State Sync, Lag Compensation and its dangers, and Inter-DB Async Transfer with Transactional Integrity