The Broken Planet Project

The Broken Planet Project

Book Review: Getting Started with UDK

This is an independent review of the book Getting Started with UDK written by John P. Doran and published by Packt (pronounced “packed”) Publishing.

Getting Started with UDKPackt Publishing have kindly offered to provide three electronic copies of this book to anyone who reads this review. To go into the draw simply comment below and I’ll pick three commenters at random “out of a hat” and those people will receive e-copies of the book (PDF, Kindle and epub formats). Some topics you might consider discussing in the comments section:

  • What you think the most important things are to know as a UDK beginner.
  • What you think about the upcoming UnrealEngine 4.
Title Getting Started with UDK
Author John P. Doran
Published First published July 2013 by Packt Publishing, Birmingham, UK.
Length 131 pages.
Price £21.99 for hard copy (comes with e-Book) or £8.49 for e-Book only (as of 8/8/2013).
ISBN 978-1-84969-981-5

Introduction

Getting Started with UDK uses an example of a third-person action tower defence game to show you the basics of working with the UDK.

The author, John P. Doran is a technical game designer who has been working on a variety of projects for over a decade. He has previously worked at LucasArts and graduated from DigiPen Institute of Technology in Redmond. He now works as a software engineer at DigiPen’s Singapore campus tutoring students in mathematics, programming, and game design using a variety of platforms. He has previously written the books UDK iOS Game Development Beginners Guide and Mastering UDK Game Development also published by Packt Publishing (I’ve previously reviewed Mastering UDK Game Development here).

The target audience is different than the title of the book might suggest. It is not suited to people who are completely new to the Unreal Development Kit, but rather people who have some experience using the map editor (UnrealEd) and know their way around it as clearly summed up by this quote from the book:

“This project and all projects assume that the user has used the UDK to some extent in the past, and is familiar with the concepts of navigating round the game environment.”

The aspects of the game environment you should be at least a little familiar with:

  • UnrealEd (the UDK Editor)
  • Macromedia Flash (optional)

This book is perfect for someone who does not want to get involved in the UnrealScript development side of the UDK but still wants to develop a fully functional game. It also suits anyone who is working or or intends on building a tower defence game using the UDK.

Summary of Content

The book covers the following topics:

  • What the UDK is and where to go to get it.
  • What Kismet is and the pros and cons of using it.
  • Blocking out simple geometry using both CSG and static meshes.
  • Applying materials.
  • Modifying the player camera using Kismet.
  • Building game functionality using Kismet including spawning enemies, tower behaviour, and win and loss conditions.
  • Building a Scaleform menu using Flash and implementing it using Kismet.
  • How to prepare your game for distribution.

The entire book follows one game project and at the end you should have a basic working third-person action based tower defence game.

The Good

I had a lot of issues with the author’s previous publication Mastering UDK Game Development in terms of how hard it was to follow, and how many assumptions about prior knowledge were made. I found Getting Started with UDK significantly easier to follow. The format of a shorter book with less complexity in the content suited the author’s writing style better.

The game project included in this book is a good one, it’s a popular game genre and one that is far removed from the base first person shooter that the Unreal Engine is built upon.

This is one of the rare examples of a game which is built without using UnrealScript. If you are source-code averse but can handle the visual language of Kismet then this is the book for you.

On the last point, other than the over-use of Kismet for game functionality the content of the book is really useful. Things like how to import a Scaleform asset into your game or how to burn your game and prepare it for distribution are important things often asked about online.

Room for Improvement

The title of the book is misleading. It’s not really a book about how to get started with the UDK but rather an example game project for someone who has a little experience with the Unreal Editor. Some of the things I expected from a getting started guide which were not present:

  • A more comprehensive introduction to what the UDK is and how each part fits together.
  • An installation and set-up guide including useful external tools such as a code editor like ContEXT, class browser such as UncodeX, setting up shortcuts for common tasks such as running the game, compiling code, importing assets etc.
  • An explanation of the folder structure and what goes where.
  • Some basics around configuration files.
  • How to set up an UnrealScript development environment.
  • The basics of creating and using a custom GameInfo class using UnrealScript as a starting point for further extension.
  • No assumptions about prior knowledge when it comes to working with the editor.

Another concern I have is the absence of UnrealScript in the content. There is no way to avoid it when developing a game using the UDK, and by only using Kismet you end up with overly-complicated game logic which could be expressed a lot simpler using a few lines of code. The author even has a section explaining the pros and cons of using Kismet and UnrealScript, yet avoids UnrealScript throughout the book. The concern I have with this approach is that it doesn’t reflect how people actually use the UDK in the real world.

In saying that, word is that in the upcoming UnrealEngine 4 they will be replacing UnrealScript with a visual language similar to Kismet, so this kind of game development may very well be the future of the UDK.

As a follow up to my previous point, the fact the game only uses Kismet makes it a lot less useful as a sample project to extend later. Kismet is a one-level-only asset and is a lot less re-usable than UnrealScript code.

Summary

All in all the book is a useful resource for anyone who wants to extend some basic knowledge of the UDK into a tangible game project (especially if you don’t like the idea of programming using UnrealScript). It isn’t a long book and is fairly easy to follow, although I do feel the book is missing some important beginner information that the title suggests to me that it should cover.

 
Page views: 856

Posted under: Book Review, UDK

Tagged as: , , , , , , , , , ,

3 comments

  • Thanks so much for your review! I’m glad you liked the style of writing more and you found the content useful, I tried to cover things that I didn’t feel were covered too much elsewhere.

    I had a lot of extra content for the book that I wanted to include, but I could only have 144 pages to fill and it was basically fighting over if I needed to explain what was going on, or if I should try to cram more things in. Due to feelings on the last book when I picked the latter, this time I picked the former.

    While I didn’t include UnrealScript in the book, I do include an additional chapter on my website that talks exactly about that and basically covers a lot of the content you were expecting and continues the project discussed in the book: http://johnpdoran.com/getting-started-with-udk-unrealscript/

    Thanks again!

    • Really interesting to know you have a page limit, I never considered the constraints print would bring.

      My biggest bug-bear with the print format (I haven’t read this one, so I’m referencing the other UDK title) was how Kismet images came out, it would be absolutely worth re-building them as a clear diagram instead of using screen-shots.

Leave a Reply

Your email address will not be published.


nine − = 3

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>