Mastering UDK Game Development
May 21, 2013 2:08 am
Finding learning references today is far easier than it was a few years ago, and while “RTFM” is usually the first step, people like me learn more from DIY tutorials than long boring manuals. Due to my line of work, I learn to use new applications all the time, so you can imagine I don’t really have the time to read a 1000 page manual each time I need to learn a new application (instead, I only use the manual to look for the information I need whenever I need it).
This is why hands-on references like Mastering UDK Game Development are very useful. The book aims to teach you how to use the Unreal Development Kit (UDK) based on easy to follow exercises (tutorials). Mastering UDK Game Development takes users one step at a time, and each of the 8 chapters takes on a specific project from start to finish (although a couple of times a chapter actually expands on the previous chapter, turning the first game into a completely new one).
First, you will use Kismet to create basic (and not so basic) behaviors, while using other UDK tools along the way. For example, in the first project you will make a side-scrolling game, but you will also learn about lights, BSPs and landscapes. Using Kismet is, I believe, the best way to start because it’s a visual language, and a lot easier than UnrealScript. Besides, it also sheds some light as to why Kismet is a powerful tool.
The next chapter explains the use of Scaleform in UDK. For those not familiar with UDK, Scaleform is a UI system developed by Autodesk, and included by default in every UDK installation. Scaleform allows developers to create user interfaces in Flash, and then take them into UDK. You can send data between Scaleform and UDK via programming, so the UI will always display the information you want, or send the required information to UDK.
This part of the book feels like it could be ordered differently, though. After the first Scaleform chapter you take on level building and dynamic interactions, and then back to Scaleform. Maybe it would have been better to leave all the Scaleform chapters together so the information “flows” better (even if you find yourself referencing previous chapters). Fortunately, this does not get in the way of learning.
These chapters require some basic Flash knowledge (and, above all, to actually own a copy of Flash, or at least the demo version). You don’t really need much programming knowledge, though, because all code in the book is explained.
The last chapter of the book deals with UnrealScript. Since this is just one chapter, it’s more like an introduction to UnrealScript rather than a deep coding learning reference. The couple of examples you find here help you understand whatever you do in Kismet can also be done via code, and it’s up to you to decide which way works better, depending on the situation (for example, if you will reuse the same functionality over and over, code is the way to go). Lastly, each chapter includes a “final challenge” that suggests what extra functionality could be added to the project, so you can take it to the next level.
While the book also deals with configuration files, which are very important to customize your own UDK game, change key mappings, and such, I do believe the author could have taken this further and explain custom games, maps and splash screens (the ones that play when you start the game and load a level). I also found the book lacking in the “final compile” front. The problem is compiling in UDK is not as straightforward as in other engines (compiling in Unity or GameMaker is, literally, a one click process). A chapter devoted to editing the configuration files and Unreal FrontEnd should be present in any book that deals with UDK development, or else users will need to figure out how to turn their UDK projects into actual playable games by themselves.
Overall, Mastering UDK Game Development is a good book if you are the DIY type of user who likes project-based learning. Based on the contents, I can say the book is mostly aimed to those with none-to-basic UDK knowledge, although a few things can be useful to advanced users, or those wanting an easy-to-follow classroom guide. On the other hand, advanced users might not find much to see here.
Sergio Aris Rosa [nemirc], is Sr. Staff Writer for the Renderosity Front Page News. Sergio discusses on computer graphics software, animation techniques, and technology. He also hosts interviews with professionals in the animation and cinematography fields. You can follow him on Twitter, and if you want to see what he's up to you can visit his blog.
May 21, 2013
Please note: If you find the color of the text hard to read, please click on "Printer-friendly" and black text will appear on a white background.
Please take a moment to join Renderosity's Newsletter List to receive news and information from Renderosity!