Book of the Month. Game Programming Patterns
The General Arcade library has hundreds of different books about video games and game development. Each month we cover the best of them, which will be useful for developers and/or inquisitive readers.
It’s good when your teacher is smart. It’s even better when your teacher is experienced. Robert Nystrom has been programming for more than twenty years, and he has something to tell about it.
Robert has written two books, and both deserve praise: they are looking great inside (yes, this is also important!), interesting and useful books about programming. Robert’s first book was published in 2011 and has since been regularly published in a variety of languages. Many reprints in English only show once again that Robert has written a very important and very necessary book for those involved in game development since the author has worked at EA for 8 years.
This book may not be suitable for beginners: the author does not share advice on how to write code, but on how to “organize” this very code, focusing on game development. Many joke that this book makes you write less code, and to some extent this is true: Nystrom teaches the reader to minimize the process of writing code and working organization.
If small changes force you to redo something in the foundation, then know that something went wrong and you are in trouble. Let’s take a simple example where you as a player want to change the controls in a game. You won’t rewrite the game code, right? The Command pattern comes to our aid, which takes care of this work.
The author is convinced and proves in the book that the architecture should be flexible, which will facilitate the work of the programmer, if not right now, then in the future, when he will not be forced to redo the very foundation. Of course, you can’t do without minuses, and you will have to tinker with optimization. Nystrom talks about the compromises that developers can make. Nobody wants to turn the code into a confusing and dangerous maze. You should also not forget that any programmer on such a project will have specific deadlines for completing tasks.
Working with this balance is what unites all the chapters in this book. The author will analyze specific patterns in a general context, but the story is very interesting, while not going into boring stories about his past. Throughout the book, the author will reproduce the patterns one by one, explaining their work. What, where, how, and why. Of course, Nystrom gives code examples and explains the relationship between the patterns. Everything is written in such a flexible and convenient way that you will be able to use each of these techniques in your book.
This book wouldn’t be so popular if it didn’t have something unusual in it. The author shares his discoveries and non-trivial development solutions. Even in the most “difficult” moments, the book does not seem hard to an inexperienced reader; Nystrom sometimes even uses funny illustrations.
Through the pages of the book, the colossal experience of the author is transmitted. The experience that has not become obsolete in ten years, but only showed that such a book has a long “service life”. It should by no means be skipped if you want to become a better game programmer. Experience will come with practice. And where to find valuable knowledge you already know.
Tags:Game Programming Patterns