Video games have become very popular and many people are building games hoping to produce the next Angry Birds. Several books have appeared to guide these designers to that point. This book is one of the latest; it is also one of the best I have seen. Game creation requires experience in playing games and in logical thinking. The building stage requires programming skills as well as artistic skills to draw attractive backgrounds and characters. Making it easy for the player to understand and play the game is another aspect. It is rare for one person to have all these skills, but this book makes a good effort in teaching a good part of them.
The book is strong in showing how to develop ideas and how to realize them using C# and Unity (Unity is probably the most popular game building software at this time). The author has a broad knowledge of video games, and the book covers many aspects of game design. It is a good book for somebody who knows programming and needs to learn the game aspects. The author says that it is also appropriate for people without a programming background, and he dedicates many pages (about 150) to teach programming in C#. I am skeptical that a person with no previous exposure to programming can learn C# as part of learning game construction and this material appears superfluous.
The chapters on game analysis and design are almost unique in game books and are of high value for prospective game builders. The emphasis on prototyping is of practical importance and its eight prototype examples (arranged by increasing complexity) are very good. They show how to put things together using the material presented earlier, with implementation details in Unity and C#.
There is also some material on agile methodologies and Scrum. These are process approaches intended to organize the work to produce software. Process is important for a project involving many developers, but the book is intended for one or a few developers, so this is a waste of pages. More useful in this respect would have been a discussion of software architecture; there is only a brief section on patterns. Games can have many reusable units and this aspect should be emphasized more. However, this is a stimulating book for game enthusiasts and all game builders should be able to learn something from it.
More reviews about this item: Amazon