Share this project

Done

Share this project

Done
Want to write The Next Big MOG? This book will help you to learn the ropes. Vol.1 covers topics from GDD to Load Balancing.
Want to write The Next Big MOG? This book will help you to learn the ropes. Vol.1 covers topics from GDD to Load Balancing.
Want to write The Next Big MOG? This book will help you to learn the ropes. Vol.1 covers topics from GDD to Load Balancing.
674 backers pledged €21,190 to help bring this project to life.

About this project

The Most Comprehensive Book on Multiplayer Game Development project video thumbnail
Replay with sound
Play with
sound
  • Off
    • English

The Most Comprehensive Book on Multiplayer Game Development

€21,190

674

Kickstarter is Over, Life is Not!

As this Kickstarter project is coming to conclusion, I still have a chance to say a few last words on this page. First of all, I want to say THANK YOU (with a UDP packet on top)!! to all our backers who have helped this project to happen. 

Second, if you missed this project but still want to get the book, there are two options available. You can use "Pre-Order" button above (well, it should appear as soon as the project is over).  Or, as an alternative, you can wait for a Kickstarter for Vol.2 of the book; we certainly plan it, and we certainly plan to have "Vol.1+Vol.2" option there (though we do not provide any formal guarantees). For this second alternative option, you will probably get Kickstarter-specific discounts, but you will need to wait for the second project to start and complete before you get anything. If you don't to wait - make sure to PRE-ORDER :-), and if you want to get notified about Vol.2 - subscribe to our mailing list on ithare.com.

"By far the most comprehensive book on specifics of multiplayer games" - Dmitri Dain, Managing Director @Amaya Software

"Finally!" - Boris Taratine, Cyber Security Programme Chief Architect @Lloyds Bank Group

"Looking forward to read the book when it is finished" - Nuno Leiria, Core Tech Programmer @Lionhead Studios

"Looking forward to read the final book. The promise is great. Finally a book on the subject that isn't outdated or vague." - Özkan Can, Backend Technical Director @Blue Byte, A Ubisoft Studio

"The colossal book you are writing... looks very promising and exciting"  - Alessandro Alinone, Co-Founder and Co-CEO @Lightstreamer

"The really useful and highly practical book. This book will be a valuable addition to the library of anyone game developer." Michael Morgovsky, Co-Founder and CTO @Plarium

"This is one book I would like to write" - Robert Zubek, GDC speaker, formerly Principal Software Engineer @Zynga, currently Founder @SomaSim

"This is the most comprehensive reference for a developer making a multiplayer game that I have even seen. After 20 years in the AAA industry, this project is teaching me new things. Even if it was just half as ambitious as it is, it would be a must-have."- Matt Pritchard, AAA Industry veteran, developer of RTS games, FPS, Mobile F2P, and IoT devices, author and expert on multiplayer cheating.

What's the Big Idea?

One of 20+ illustrations from Vol.1
One of 20+ illustrations from Vol.1

The idea behind this book is to summarize the body of knowledge that already exists on multiplayer games but is not available in one single place. And quite a few of the issues discussed within this series (planned as three volumes 400+ pages each), while known in the industry, have not been published at all (except for maybe in discussion forums). 

Programming and deploying an MOG is a daunting task, and having a frame of reference is usually quite helpful — "hey, those guys have already tried this, and it worked for them."

By the end of Vol. 1, we'll complete our discussion of the things related to architecting your MOG, and will be ready to start discussing "Development" (Vol. 2) and "Deployment" (Vol. 3). For more details on what's within the book, see the tentative Table of Contents (it also includes links to all the beta chapters from Vol. 1). 

This current project is only about Vol. 1, "Architecture," but Vol. 2 and Vol. 3 are already planned (and obviously my enthusiasm about them will get an additional boost when Vol. 1 is successfully funded ;-)). 

Why Me?

I really hate to speak about myself, but this is one of those cases where I don't have much choice. So, here it goes (and if you really want further details, you can dig them out of my LinkedIn page).

20 years ago (damn, I am getting old) I was a co-architect for an electronic stock exchange of a G20 country, and for all practical intents and purposes stock exchanges are just another game genre. The project was fun and, among other things, allowed for real-time trading over the cellphones of that time (those with 9600 baud connection).

A few years later, I became a chief software architect working for a start-up that quickly grew into a rather large online game with half a million simultaneous players that processed half a billion user transactions per day. The project taught me a damn lot about such different issues as scalability, DB physical layout, server farms, attackers and cheaters of all kinds, and bot fighting — just to name a few.

Since then, I have consulted and performed due diligence on several game-related projects. In addition, I've spent quite some time researching the field and discussing related problems and their respective solutions with people from the industry.

I feel that this puts me in quite a unique position of knowing not only one single game, but a bunch of them, and being able to summarize and generalize my real-world experiences. Oh, and I have been writing for industry journals (and am especially proud of articles in CUJ and C++ Report) since 1998, so the process of typing sentences is not something new for me either.

Since When Are Rabbits Programming??

From an 2010 article in Overload
From an 2010 article in Overload

I cannot speak for all of rabbitkind, but this particular hare has gone alongside my writings for quite a while now. He was born as "No MT Bugs" Hare in 2010, in an Overload article titled "Single-Threading: Back to the Future?"

Therefore, there is evidence that this particular rabbit has been programming at least since 2010. Yes, he has changed his appearance, but deep inside, he is still the very same bunny with a naïve idea of making programs less buggy. BTW, the character is created by Sergey Gordeev, a guy with many animation awards, known (among other things) for being a director of some of the Animated Mr. Bean series.

Who Is this Book For?

The book is intended for those intermediary developers who want to become senior ones, and for senior developers and up. I expect that the book will also be useful for decision-makers, from PMs all the way up to CEOs — so if you by any chance know one, please make sure to give her a link to this page ;-). 

On the other hand, if you are working on your first programming project, this book will probably be too difficult for you. There will be no explanation on what event-driven programming is all about, what the difference is between optimistic locking and pessimistic locking, why 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 make sense for games, and how to use source control in the presence of unmergeable files

In the same spirit, the book is not intended to be a CD to copy-paste your sample MOG from. Instead, the book aims to help you write your own code that is tailored to your own needs, and tries to advise on the available choices at most of the junctions.

What's the Plan?

Currently, the "beta" chapters of the Vol.1 are already available on my blog ithare.com. The same "beta" posts are also available re-formatted as a single PDF (11.1M, 355 PDF pages; please note that this is NOT how the book is going to look). 

Steps still to complete to bring the "beta" draft into the shape of the ready-for-printing Vol.1:

  • Restructure Vol.1. Done.
  • Go through Vol.1 again, "harmonizing" and clarifying things. I expect to add about 30'000 words during this process (give or take). Current progress: ~30% completed, 12'000 words already added. ETA: July 2016. At this point all the backers will get an (MS Word) draft.
  • Make another pass through Vol.1, this time is more about self-editing (not that much will need be changed at this stage, I hope). ETA: August 2016. At this point all the backers should get another (MS Word) draft.
  • Give it to a professional copyeditor. Cost estimate: $3100 (140'000 words @ $0.022/word). ETA: September 2016. At this point all the backers will get yet another (MS Word) draft. 
  • Give it to a book design/layout specialist. Cost estimate: $2900 ($500 overall design + 400 pages@$6/page). ETA: October 2016. At this point E-BOOK rewards will be sent out.
  • Print paperbacks with CreateSpace, and get them sent to backers. ETA - November 2016. At this point PAPERBACK rewards will be sent out.
  • Start selling Vol.1 on Amazon (planned price is $24.95 for Kindle, and $34.95 for paperback)
  • Become rich and retire to the Bahamas ;-). On second thought - this book probably won't suffice ;-(.

What's Inside?

Pretty much all MOG genres are within the scope of the book, from MMOFPS on one side of the spectrum to social games on the other side — with stock exchanges and multi-player casino games in between. However, things such as gameplay (including AI), and monetization are intentionally left out. In addition, the areas of physics and 3D graphics are too large by themselves and — to avoid expanding this into a 10-volume series — are only discussed very briefly (with pointers to good books on these subjects provided).

An excerpt from the tentative full ToC of the Vol.1: 

Chapter I. Game Design Document from an MOG Perspective

Chapter II. On Cheating, P2P, and [non-]Authoritative Servers

Chapter III. Protocols

  • RTT, Input Lag, and How to Mitigate Them (includes Client-Side Interpolation, Client-Side Prediction, and Lag Compensation)
  • Game World States and Reducing Traffic Publishable State, Interest Management, and different Compression techniques)
  • Point-to-Point Communications and Non-Blocking RPCs (including discussion on message queues)
  • IDL (includes hints on writing your own IDL compiler)

Chapter IV. DIY vs Re-Use. In Search of Balance

Chapter V. Event-Driven Programming

  • Classical Event-Driven Programs
  • Deterministic Event-Driven Programs (including benefits such as production post-mortem for both client and server, replay testing, and so on)
  • RPC Processing in Event-Driven Programs: from Plain Event Processing to Futures (with lambda call pyramids in between)
  • Relation to Actors, Node.js, and Erlang

Chapter VI. Client-Side Architecture

  • Graphics (only very basics)
  • Programming Language for Client-Side
  • Client-Side Architecture Diagram (based on multiple event-driven objects)

Chapter VII. Server-Side Architecture

  • Naïve Architectures
  • Web-Based Architecture (including write-back caching and locking strategies)
  • Classical Architecture
  • Front-End Servers
  • Load Balancing (including Round-Robin DNS, Server-Side Balancing and Client-Side Random Balancing)
  • Eternal Linux-vs-Windows Debate
  • Programming Languages for Server-Side

Chapter VIII. Unity 5 vs UE4 vs Photon vs DIY for MOG

Chapter IX. Pre-Coding Checklist: Things Everybody Hates, but Everybody Needs. From Source Control to Coding Guidelines

Chapter IX concludes Vol.1; for the list of the Chapters planned in Vol.2 and Vol.3, see the full tentative ToC.

STRETCH GOAL @10K: +50% ILLUSTRATIONS - REACHED!

As we have reached our first stretch goal @EUR 8K, it is time to announce our NEXT STRETCH GOAL. If we reach EUR10'000, then we'll ask our illustrator Sergey Gordeev (who is more known for his animation awards and directing Animated Mr Bean) to draw additional 10 or so illustrations for the book, increasing the number of illustrations in Vol. 1 by approximately 50%!

In addition, if we reach this goal, it will be our backers who decide on the face of the 'No Bugs' which is used in the book (see options here: http://ithare.com/facelift-for-no-bugs/ ). While we already had a vote on it on the site, results were not conclusive, so (at least for the book) we'll defer to the vote of our Kickstarter backers!

STRETCH GOAL @8K: "KICKSTARTER SPECIAL" EDITION - REACHED!

As we're now 100% funded (BIG THANKS TO ALL THE BACKERS!), here comes our STRETCH GOAL (which will become available at reaching the number of EUR8000). If we reach this stretch goal, all the backers will have a choice to have their books/e-books shipped/downloaded either as "regular" books, or as "KICKSTARTER SPECIAL EDITION" books, with the latter only available to Kickstarter backers.

These "KICKSTARTER SPECIAL EDITION" books/e-books will get a new cover (probably with "KICKSTARTER SPECIAL EDITION" on it), a special "THANK YOU" page (and probably a separate ISBN too, though it doesn't really matter). Our illustrator will start working on the Kickstarter cover as soon as we reach this stretch goal, so you will see it sooner rather than later...

On "VIRTUAL PRESENCE" Consulting

Two of the rewards mention "VIRTUAL PRESENCE" Consulting. It will be as if I came to your office for the specified number of days. However, I will come not in person, but over Skype or something similar. You will describe your problems to me, and I’ll do my best to advise you on how to solve them. A few notes regarding this:

  • How I use my time during these days is up to you. You tell me your story, I listen; you show me a document, I read it; you ask me for advice, I go offline for some time and come back with the best solution I can think of.
  • With this in mind, it makes sense to ask me questions at the end of one day to get some advice the next day. While technically I am not obligated to think between the days, I am unlikely to be able to keep myself from thinking about a challenging problem ;-)
  • 100% confidentiality is assured (well, save for somebody hijacking the Skype channel or something).
  • Please do NOT assume that you can hire me at these rates outside of this Kickstarter project. Beyond this Kickstarter project (for which I have special permission) it will need to be done through my employer and, to the best of my knowledge, it is going to be MUCH more expensive.

Risks and challenges

At the moment, the project is already at a rather advanced stage. The whole Vol.1 (~110K words) is already available as "beta" at http://ithare.com/contents-of-development-and-deployment-of-multiplayer-online-games-from-social-games-to-mmofps-with-stock-exchanges-in-between/

It still needs another two passes by me (probably adding another 30K words in the process), followed by professional editing and layout, but with 80% of the content ready, IMHO the risks are minimal.

NB: this doesn't include the risks of you being bored to death, or shooting your project in the foot C++-style. These risks (and pretty much any other risks too) are expressly disclaimed.

Learn about accountability on Kickstarter

Questions about this project? Check out the FAQ

Support this project

  1. Select this reward

    Pledge €2 or more About $2.28

    INTERMEDIATE PROGRAMMER

    Early Access to Vol.1 drafts
    A Big Thank You!

    Less
    Estimated delivery
    17 backers
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  2. Select this reward

    Pledge €15 or more About $17

    SENIOR PROGRAMMER

    Vol.1 E-BOOK: PDF, ePub, MOBI formats (no DRM)
    Early Access to Vol.1 drafts
    Your name on the "Kickstarter Backers" page within Vol.1 (of course, only if you want it!)
    A Big Thank You!

    Less
    Estimated delivery
    218 backers
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  3. Select this reward

    Pledge €25 or more About $28

    ARCHITECT

    Vol.1 PAPERBACK
    Vol.1 E-BOOK
    Early Access to Vol.1 drafts
    Your name on "Kickstarter Backers" page within Vol.1 (of course, only if you want it!)
    A Big Thank You!

    Ships to US/EU/Canada (for free)

    Less
    Estimated delivery
    Ships to Only certain countries
    248 backers
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  4. Select this reward

    Pledge €35 or more About $40

    CHIEF ARCHITECT

    Vol.1 HARDCOVER
    Vol.1 E-BOOK
    Early Access to Vol.1 drafts
    Your name on "Kickstarter Backers" page within Vol.1 (of course, only if you want it!)
    A Big Thank You!

    Ships to US/EU/Canada/Switzerland (for free), and to some other countries (EUR5 extra)

    Less
    Estimated delivery
    Ships to Only certain countries
    163 backers
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  5. Select this reward

    Pledge €45 or more About $51

    TEAM LEAD (one book for you + one for your team :-))

    2x Vol.1 PAPERBACKs
    Vol.1 E-BOOK Team-Wide
    Early Access to Vol.1 drafts
    Your name on the "Kickstarter Backers" page within Vol.1 (of course, only if you want it!)
    A Big Thank You!

    Ships to US/EU/Canada (for free)

    Less
    Estimated delivery
    Ships to Only certain countries
    25 backers
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  6. Select this reward

    Pledge €1,500 or more About $1,710

    VP

    TWO DAYS (16 hours) of "VIRTUAL PRESENCE" CONSULTING for your MOG development project. Days are consecutive. I will do my best to help at any project stage, from inception to optimization. "Estimated delivery" below is for Vol.1 of the book, consulting may be requested as soon as the project is funded (time-permitting).
    5x PAPERBACKS (Vol.1 + subsequent volumes)
    Organisation-Wide EBOOK (Vol.1 + subsequent volumes)
    Early Access to drafts (Vol.1 + subsequent volumes)
    Your name on the "Kickstarter Backers" page within Vol.1 (of course, only if you want it!)
    A Big Thank You!

    Less
    Estimated delivery
    Ships to Only certain countries
    Limited 1 backer
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  7. Select this reward

    Pledge €3,000 or more About $3,420

    CEO

    5 DAYS (40 hours) of "VIRTUAL PRESENCE" CONSULTING for your MOG development project. Days are consecutive working days. "Estimated delivery" below is for vol.1 of the book, consulting may be requested as soon as the project is funded (time-permitting).
    10x PAPERBACKS (Vol.1 + subsequent volumes)
    Organisation-Wide EBOOK (Vol.1 + subsequent volumes)
    Early Access to drafts (Vol.1 + subsequent volumes)
    Your name on the "Kickstarter Backers" page within Vol.1 (of course, only if you want it!)
    A Big Thank You!

    Less
    Estimated delivery
    Ships to Only certain countries
    Limited 1 backer
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.

Funding period

- (31 days)