College has been quite hectic, but in the midst of it all, I got an email from Packt Publishing, asking if I could review the recently published jMonkeyEngine 3.0 Cookbook. Let me tell you, nothing has ever made me happier while trudging through the midterm storm than to get a new book about game development. Well, that and the fact that I was contacted to review a book on game development involving jMonkeyEngine got me going. But enough of that. Here are my thoughts:
Disclaimer: I have not finished reading the book yet, but as I dig deeper, I will update this post to fully reflect my impressions about the book.
First, the "at a glance", or tl;dr, version.
Pros:
A ton of recipes.
All the code for all the recipes to use in the jMonkeyEngine.
Full application in real games, across a wide spectrum of games (RTS, RPG, FPS, platformer, etc).
Cons:
Few pictures. Could use a few more to help explain concepts and ideas more concretely.
Requires a solid grasp of several math-related concepts (trigonometry, vectors, etc.).
Now, in more depth.
The jMonkeyEngine 3.0 Cookbook is 298 pages, and is divided into nine chapters and two appendices. Chapters are focused on different aspects of game development, such as world generation, artificial intelligence, networking, and physics. I thought the list comprehensive, and couldn't think of anything that was missing. Some areas are in depth for a mid-level developer like me—I have yet to explore the specifics of sub-animations or procedural generation.
To be fair, the book is labeled “progressing” in Packt Publishing's scale for books, so it's more for the intermediate jMonkeyEngine audience. The jMonkeyEngine 3.0 Beginner's Guide is for the complete beginners, and should be looked at first to learn jMonkeyEngine before going forward. This book and jMonkeyEngine's own Math for Dummies Guide will mitigate some of the math related cons. I had a little difficulty following a few of the vector operations, even though I have done all the math courses for an engineering degree in the United States. This is also where diagrams and pictures might have helped. But as the author, Richard Eden, says in Chapter 2, “No matter which way you choose to do it though, practicing and thus getting a better understanding of these trigonometric problems is always a good idea”. That is a solid work ethic to apply to your code, especially for aspiring game developers.
Okay, no, the math isn't that hard. You aren't going into the imaginary plane anytime soon.
Despite the small bumps in the road with the math, I found the book very useful, practical, and instructive. So many recipes are at the reader's disposal, and they are specific and relevant. I was watching my friend play Legend of Zelda: Ocarina of Time, and I watched as he learned the new mechanic that allowed him to lean around corners to shoot while still covered. Guess what? That's specifically a recipe in this book, with angle of lean and the works! This example just goes to show how applicable almost every recipe is.
So if you are looking to improve your skills with jMonkeyEngine, buy this book. If you are looking to understand common techniques used in today's games, from FPS mechanics to RTS unit management to RPG open world design, buy this book. Simply put, buy this book!
Disclosure: I have no financial interest in this book, and no financial relationship with the author or the publisher.
P.S. If you are wondering about those other IndieCade "Games in Review" posts, they are in the works! You'll have to forgive my major for not being so forgiving to its students in terms of spare time.