I’ve had an interest in computer games for many years. Since I’m in the software trade, I’ve often thought about building a simple game as a way to learn how the technology works. I finally decided to have a go a couple of weeks ago and started looking into the technology.
The first engine that came to mind was Unity, a large cross-platform toolkit for building games. I considered a couple of other options but Unity seemed to be the easiest and most beginner-friendly tool to get something really simple off the ground.
I didn’t really know what to expect from Unity or games toolkits/engines in general. Unity, it turns out, provides a tool like an IDE with a level editor, property editors, animations tools, shader tweaking tools, and support for ‘scripts’ written in C# (amongst other things). I have since learned that some other game engines just provide a pile of small utility programs and libraries, and there is just about everything in between available. I’m used to working with IDEs so Unity felt pretty comfortable to get started in.
Over the course of a few evenings I’ve gone through the first tutorial, a simple game with a rolling ball and pick-ups to collect. Despite having no experience with games, I found the tutorials really easy to follow. The explanations helped me to understand the terminology and dig into the basic functionality of the engine.
I was surprised how little code I had to write to glue the game together. I think it was around 10 or 20 lines of C# in total. Loads more code than that ends up in the distribution of course, this is a complete interactive 3D gaming engine after all, but most of the basic building blocks are either visual tools or built in and configured with easy-to-use menus.
So far I’ve been really impressed with the ease-of-use and quality tutorials and documentation. Unity is obviously a very powerful toolkit. I’m looking forward to digging a little deeper with the next tutorial project when I have a bit more time.