On August 21, 2015, I tweeted to announce my intention to expose the writing process of my next game programming book to the world.
Decision made. New #gamedev / #indiedev @MonoGameTeam book will be written in public view, hosted on @github pages.
It’s a scary proposition for me, but exciting at the same time. I’m used to writing in a vacuum, dumping the resulting work into the wild at the end of the process. My current setup allows for official bug reports via GitHub issues, or via Facebook comments at the bottom of each chapter.
My Motivation
I teach a game programming camp for teens and tweens in Banner Elk, NC, every year. It’s their games that inspired each of the examples in this book. I’ve been using my 2007 book on XNA game programming to guide the class, but it is starting to show its age. (Heck, it was showing its age in 2008.)
It’s time for a new book. And this time around, I want the process to be open and I want to solicit feedback from my audience early in the process. I wrote my first book for me (a hobbyist game developer), and it did well enough. I hope this new approach will yield even better results.
Current Status
If you’re the kind of person that likes statistics, here’s the current status of the project. This list is automatically updated whenever I make an edit to the book’s content.
TITLE | WORDS | STATUS | UPDATED | |
Preface the Series | 1853 | draft | August 21, 2015 | |
Preface the Volume | 2723 | draft | December 07, 2015 | |
Chapter 1 a Brief History | 3060 | draft | September 13, 2015 | |
Chapter 2 Getting Started | 2493 | stub | September 02, 2015 | |
Chapter 3 Crash Course | 2261 | stub | September 03, 2015 | |
Chapter 4 Tools, Spit, and Polish | 229 | placeholder | December 07, 2015 | |
Chapter 5 Camp 2011 - Side Scroller | 573 | stub | August 25, 2015 | |
Chapter 6 Camp 2012 - Survival | 585 | stub | August 29, 2015 | |
Chapter 7 Camp 2013 - Runner | 456 | stub | August 25, 2015 | |
Chapter 8 Camp 2014 - Castle Crawler | 531 | stub | August 25, 2015 | |
Chapter 9 Camp 2015 - Fighter | 295 | stub | August 25, 2015 | |
Chapter 10 Class 2013 - Platformer | 696 | stub | August 25, 2015 | |
Chapter 11 Author's Choice - Tower Defense | 181 | placeholder | January 01, 2015 | |
Chapter 12 Author's Choice - Real-Time Strategy | 181 | placeholder | January 01, 2015 | |
Chapter 13 Author's Choice - Puzzle | 439 | stub | August 25, 2015 | |
Chapter 14 Author's Choice - Artificial Intelligence | 616 | placeholder | January 01, 2015 | |
Chapter 15 Author's Choice - Isometric Puzzle | 173 | placeholder | January 01, 2015 | |
Chapter 16 Libraries - GamePadEx | 2365 | ready for edit | September 18, 2015 | |
Chapter 17 Libraries - TouchPanelEx | 1754 | ready for edit | September 18, 2015 | |
Chapter 18 Libraries - Collision Detection | 2213 | ready for edit | September 18, 2015 | |
Chapter 19 Libraries - Particles | 4835 | ready for edit | September 18, 2015 | |
Chapter 20 Extras - Platform Issues | 108 | placeholder | September 14, 2015 | |
Chapter 21 Extras - Optimizations | 108 | placeholder | September 14, 2015 | |
Afterword the Volume | 11 | placeholder | January 01, 2015 | |
Afterword the Series | 11 | placeholder | January 01, 2015 | |
TOTAL: | 28750 |
Support the Project
If you like this idea and want to support me, the easiest way is to follow me on twitter. It’s fast. It’s free.
If you’re the kind of bloke (or sheila) that likes to buy things … I’m hosting the content on GitHub Pages, using Jekyll, but I’ve built the site in such a way that the same markdown files that render in your web browser are in the format expected by LeanPub.com. That’s a link to the book, but I haven’t published it yet. I want to get more of the content out of draft status. And by “more” I mean “some”.
And if you’re a big spender, I plan on printing the book as a perfect-bound paperback via lulu.com. I used them for my humor book in early 2015, and I was impressed with the quality and value of my initial order.
If you’re short on cash, remember that following me on twitter is free! Also keep in mind that I intend this content to be available on the web (also free), updated with some level of regularity.
The License(s)
Just to be clear about the licensing … I want this content to be as permissible as possible, but I want to retain ownership of the text. In general, you should feel free to use the content for any purpose, including commercial uses, but you may not copy-and-paste the text then claim it as your own.
Sounds reasonable, right? If not, feel free to shoot me a tweet – @groundh0g.
The Text
The text of the book is licensed under the Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0) license.
- You may not claim the text as your own. You must give “appropriate credit”. A link to this site or my twitter account would be nice.
- You may not sell the text.
- You may not modify the text. Although I welcome pull requests for typos or errata.
- No warranties are given. This content is provided “AS IS”.
The Code
The example code from the book is licensed under The MIT License (MIT).
- You may use the code in derived works and distribute those modifications.
- You may sell works derived from this code. (Commercial use is fine.)
- No warranties are given. This content is provided “AS IS”.
The Media
The media used within the example code or text of the book may be licensed using some other method. Where appropriate, I’ll list the license where the media is used. As a general rule, I’ll only use content that I’ve created, which you may consider to be in the Public Domain, or assets that are similarly “unlicensed”.
- You may use the media in derived works and distribute those modifications.
- You may sell works derived from this media. (Commercial use is fine.)
- Depending on the license of the artist, attribution may be required.
- No warranties are given. This content is provided “AS IS”.