Development and Deployment of Multiplayer Online Games, Vol. II: DIY, (Re)Actors, Client Arch., Unity/UE4/ Lumberyard/Urho3D (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. II Vol. II continues Part ARCH(itecture), and includes four Chapters. Chapter 4 discusses choices between DIY elements of your game and re-using 3rd-party ones, advocating for "responsible re-use". Chapter 5 explores (Re)Actors - which can be seen as a generalization of classical game loop, and allow to handle all the kinds of games, including, but not limited to, simulations. Special attention is paid to (Re)Actor goodies such as replay and production post-factum analysis. Chapter 6 concentrates on Client-Side Architecture - both generic and (Re)Actor-based. Note that serious discussion of the graphics is beyond the scope. Chapter 7 is aimed at those development teams who want to re-use popular existing engines (such as Unity 5, UE4, Lumberyard, or Urho3D) to develop an MOG. Various 3rd-party communication libraries (including Photon and SmartFoxServer) are also discussed in this context.