hackNY Fellows Workshop: 3D Games in Unity

In this post, class of 2012 hackNY Fellow David Coss describes his workshop on 3d games in unity.

A week after Emmett’s workshop on game development using cocos2d and box2d, I gave my own workshop about making 3d games in unity. Unity is a free 3d game engine that allows one to build games for several different platforms, including desktop (windows/osx) and mobile (ios/android). The scripting framework is built on mono, an open source implementation of the .NET framework. Although the main language is c#, unity also supports unityscript (its own variant of javascript) and boo (a language inspired by python and developed for .NET/mono).

For the workshop, I decided to show hackNY Fellows how to build a simple first-person 3d platformer. Much of the workshop didn’t involve any coding at all, and instead focused on learning unity’s interface and object hierarchy, designing a level, and building basic game objects. After covering these concepts, we used scripting to animate the objects in our level and enhance their interactivity with the player character. Concepts covered in our scripting included basic transposition and rotation, referencing other game objects, and raycasting (which was used to detect whether the player character had entered a spotlight).

You can try out a (super janky) demo here, and download the source project here. You will need the unity web player to play the demo, but if you’ve downloaded unity you should already have it.