Introduction

A surprising feature of the Internet economy is the rise of indie videogames. Once the exclusive domain of thousand- man, multi-million dollar triple-A studios, a number of toolsets have been developed that bring modern game develop- ment resources into the hands of individuals or small, ad-hoc collections of programmers and designers.

These indie game development teams have demonstrated an agility and risk-tolerance that, in many cases, allows them to push gameplay innovation faster than their big budget counterparts. A number of shockingly successful indie titles have premiered in recent years, including Minecraft, Limbo, and Super Meat Boy.

In the rapidly evolving landscape of indie game development,  Unity has emerged as something of a de-facto standard:

its low cost, ease of use, and broad feature set make it ideal for rapid game development.

Even large studios such as CCP (Developers of Eve Online) use it for rapidly prototyping game concepts. Unity provides a “game engine in a box” - a physics and rendering engine with hooks for several scripting languages, adaptable to virtually any genre of videogame.

While Unity does provide a visual editor for manipulating the game environment, Unity is not a ‘zero program- ming game creator’ tool.

Unity requires the ability to program to produce results, but also gives you a much more flexible and powerful tool than any ‘game maker’ program possibly could. Unity won’t do the work for you, but it does serve to lower the barrier to entry substantially. Starting completely from scratch with C++ and OpenGL, it can take days to get to the point where there’s actually something rendered onscreen. Using Unity, it takes about ten seconds. Unity puts the basic elements of game creation into the hands of novice programmers in a fast, intuitive way.