Today we're starting an ambitious project. Given the interest of the developers to my articles on gaming (and my desire to capitalize on my best years as developer spent architecting these things 😉 ), I've decided to write a book on it. However, being a developer, I know first-hand that 3rd-party testing is one of prerequisites to any reasonably bug-free release. As a result, I've decided to make chapters of the book available before the book is published, in a kind of (open) "beta testing".


Covers for 9 volumes of 'Development and Deployment of Multiplayer Online Games'


The rest of this post essentially elaborates on the paragraph above;

TL;DR: if you're not interested in preliminaries and formalities, please proceed to the (tentative) ToC of the book.

Background

BB_emotionM_0006b.pngAt that point, I was just happy that the developers liked my posts

Once upon a time (which apparently was just a few months ago), I've published a series of posts 64DosAndDonts on issues related to development of game network engine. The series has got quite a good reception on reddit.com/r/programming (combined, posts in the series got 800 upvotes, with the most popular post getting about 300 upvotes, which is pretty good by /r/programming standards). At that point, I was just happy that the developers liked what I had written (especially as what I am writing is not exactly profound truths), but that was about it. However, more recently quite a well-known gaming company has included a link to the series into their internal Confluence system.1 It was the point when I thought: "Hey, people are interested in massively muliplayer game development, and I can write about it ad nauseum; it looks a good match, so why not write a book about it?".

On the other hand, after writing a post about 4 pages from the book with 16 different mistakes on them BugsIn100Lines, I was committed to be as mistake-free as possible (as having a book with mistakes can be worse than not having any book at all). And when I shared my concerns about making a silly mistake with Prodigy Hare, he said: "Hey, it's easy! You can beta-test your book first!". So here it goes - my book about massively multiplayer games, and its beta-testing. 

1 and their misconfigured Confluence automatically sent a comment to our page, that's why we know about it


The Deal

Here is the proposed deal:

  • I am posting chapters from the book on this site as they're written
    • These are “Beta”-quality chapters, and they may (and probably will) change before the book is published
  • If somebody else posts them to /r/programming – good for me (and thanks to anybody doing it), if not – I will post them myself (probably as ads, but I am not 100% sure about it at this point)
  • BB_emotion_0012.pngIf your comment makes me change the text... you have an option to get a free digital copy of the book when/if it is released

    You're making comments about the published chapters either here on site or on Reddit. If your comment makes me change the text (either right on the site, or in the edits of the book which don't make it to the site), I write THANK YOU (or THANKS, but always in capitals) in my reply, and you have an option to get a free digital copy of the book when/if it is released:
    • If your comment was on this site – I will ask you to contact me at [email protected], to be included to the list of people-who-is-going-to-receive-the-book.
    • If your comment was on Reddit – I will contact you via private message on Reddit, again asking if you want to be included into the list of people-who-are-going-to-receive-the-book.
  • Comments which are likely to lead to text changes:
    • Valid complaints about the substance of the book. This includes bugs in code, outright mistakes, not following the best practices (without good reason), etc.
    • Questions about not-so-clear things (if the explanation already provided is indeed not good enough)
    • Comments about “how readable and clear the book is”: convoluted or too long sentences, complaints about me overusing repetitive constructs, etc.
  • Comments which are NOT likely to lead to text changes:
    • Comments about formatting (the book will be re-formatted to fit your screen the paper anyway)
    • Minor grammar nitpicking (especially missing articles, which I am especially prone to). Before publishing the book will go through professional copyediting process, and these issues will be (hopefully) ironed out at that later stage.
  • When/IF the book is published – all people on the list will be able to get a digital copy for free (as PDF), and the most active supporters will be able to get a printed copy too (exact details on printed copy TBD).

Necessary Disclaimers. First: if there are two or more comments which point out essentially the same thing, only the first one will normally get a THANK YOU (and an associated free digital copy). Second: all the decisions are at my sole discretion. In other words – don't complain that I didn't consider your comment to be important enough or valid enough to change the text (and for you to receive your free copy); also don't complain when I've made a text change based on somebody-else comment and said THANK YOU to that commenter but you think that the text change should have been attributed to your comment. Third: there is always a chance that the things won't go as planned. If the book is not published – no free copies will be provided for obvious reasons.

Expected Size and Timeline

At the time of writing, the book is planned to have 34 chapters. As writing a chapter per week won't probably work (and as there are other things I am going to continue posting on the site), it means that in the most optimistic case we're looking at the end of 2016 for the "beta" book to be published on the site in full. After this happens, I will need some time to consolidate comments and make necessary changes before publishing "release" version.

BB_emotion_0008b.pngThis is a 'pull quote'

As a result, currently the (release) book is planned for mid-2017. Disclaimer: as with any development estimates, the estimate above may be off at least for an order of magnitude.

Illustrations

The book is going to have the same style of illustrations that this very site; as all the 'Hare' illustrations on this site, they will be drawn by award-winning animator Sergey Gordeev. You can expect a per-chapter large illustration, plus all those pull-quotes you can see in my posts.

Further Details

For further details on the book, including book scope, ToC, and author/translator/illustrator credentials – please see ToC.

Your Advice Needed

In a separate post, there is a Table of Contents of the upcoming book (alongside with preliminaries such as a book scope and an author/translator bio). Right under the Table of Contents there is a poll asking from which chapter I should start posting the book here on the site. The thing is that first few chapters are necessarily introductory in nature, and I am afraid that they may be not too interesting to the discerning crowd of ITHare in general and /r/programming in particular. If you think that I should skip first few chapters and start with more practical things – please vote on that poll, I will certainly take it into account.

Comments are Extremely Welcome

If you have something to say about this project (either about the book, or about beta-testing) – please comment. If you have questions about the beta-testing – please ask. If you feel that beta-testing can be improved (other than “give everybody who wants it a printed copy for free”) – please comment with your suggestions. If you feel that some subject is missing from the Table of Contents – please comment, maybe it is intended to be covered in a different chapter, or maybe I've just forgotten about it.

References

[64DosAndDonts] 'No Bugs' Hare, "64 Network Do's And Don'ts for Game Engine Developers"

[BugsIn100Lines] 'No Bugs' Hare, "If they wrote it in a book, it MUST BE GOOD CODE! Or How many mistakes can fit into 100 lines of book tutorial code?"