Monday, April 15, 2013

Book Review: UnrealScript Game Programming Cookbook

tl;dr: Solid book for beginners. I'm not happy with the fact that a lot of the 'recipes' use derived UT classes instead of the base UDK engine. Covers a lot of important information at the beginning, sets you on the right track to avoid confusion down the road. Chooses to explain silly Canvas for GUI instead of Scaleform. Good explanations, poor editing (has some typos in code blocks). I wish I had this book when I started my senior project.

The Actual Review

A couple weeks ago, someone from Packt Publishing asked me to take a look at one of their newer UnrealScript books. I haven't worked with UnrealScript or UDK for about a year now, but the memory of the frustration and lack of documentation is still fresh in my mind, so I was happy to take a peek.

Overall, I kind of wish I'd had this book back in the summer of 2011, when I was first trying to wrap my head around UDK development for my senior project. The book itself isn't a fantastic cure-all for the tribulations one will inevitably face when working with UDK, but the first chunk of the book would definitely have clarified a lot and set me on the right path. Early on, it tackles the subjects of IDEs and script references (like UnCodeX and the Dungeon Defenders Development Kit; I'd used UnCodeX extensively, but I wish I'd known about DDDK). Then it goes on to tackle prefabs and archetypes, and then walks the reader through the creation of a fairly flexible camera system. All of this information is delivered fairly painlessly with plenty of explanation.

For my purposes, that's where the usefulness of this book ends. That's not really a criticism, mind you, I think that so far the book has managed to deliver enough for me to consider it a valuable asset for anyone getting into programming for UDK. After this point, the book delves into more specific topics, most of which float atop the Unreal FPS model. The chapter on AI is probably useful, but the rest seems to deviate a fair bit from the needs of someone using UDK to create a game that strays from the standard Unreal Tournament formula. Unfortunate, because that's the area that has the greatest need for reference and documentation.

Actually, I lied - kind of. The GUI section (Chapter 7) is probably rather useful, though the author chose to go the route of Canvas instead of Scaleform. Somewhat understandable, since at least one can assume that the reader will have what they need to work with Canvas, but not necessarily have access to Adobe Flash (or knowledge of ActionScript for that matter). If you're looking to make a GUI that looks remotely professional though, definitely look into Scaleform somewhere else.

In a few instances, I did notice the wording used to be poorly structured, though for the most part it was fairly easy to understand. I also noticed several typos, mostly in the code itself - something that is definitely harder to forgive, as it can easily confuse a reader into making numerous mistakes. I could pick up on them fairly easily, but I feel that such typos could trip up beginners.

If you're just starting to get into UDK and want to start digging at the surface of the world of complexity that lies beneath the hood, I would definitely recommend the UnrealScript Game Programming Cookbook, even if only for the first three chapters. It definitely sets you on the right path and saves you a lot of confusion down the road.