Nothing But the Best – 7/10/12
Hi, I’m Chris Gengler, a student at Becker College and lead programmer for 80HD Games, winners of the MassDigi Game Challenge, and I’m working on our game NanoSwarm, at SIP. When we won the Game Challenge, we still had a lot of questions floating about regarding how we would put the game together. What devices do we want the game to be on? Should we write our own game engine or use an existing one? What language would we use?
We soon found our answers in our requirements and constraints. We wanted to play the game with a touchscreen, meaning we were targeting smartphones and tablets, like the iPad. We also faced a limited timeframe in which to make the game, and since we wanted a prototype up and running quickly, writing our own engine was easily ruled out.
While looking at the available game engines, Unity was clearly our best option. Unity made it easy to release the game on Apple devices, while giving us the ability to easily port it to another platform, like Android. The Unity editor makes it easy to bring in assets like 3D models, textures, sound effects, and music, and then immediately see how they work together. Unity also appealed to me due to its use of C#, which I like quite a bit. Even better, two of our team members already had experience with iOS games in Unity!
From my experience with other engines, I was initially skeptical of Unity. I worried about potential limitations (most game engines are built for a specific kind of game, and it can be a real nightmare trying to force them to behave differently) and complexity (some engines essentially require you to research and understand their inner workings before you can use them effectively. *cough* Source *cough*). But Unity has proven to be remarkably flexible and surprisingly straightforward. There’s no need to mess around with loading file data and setting up model, world, and projection matrices just to get some graphics on the screen – you simply drop a 3D model into the scene. But what really impresses me is that Unity gives you the adaptability to add in as much or as little as you want. For example, you can write your own shaders to really take control of how your game looks. You can even extend the editor environment to better suit your needs, creating entire new panels and features. Here’s a screenshot from Unity showing some of the special editor extensions that I wrote for Nanoswarm.
The panel on the right is the Level Data Editor panel that I wrote just the other day – it lets us easily change the order and grouping of the levels in the game, along with some other nifty things. The red and blue lines are part of a system for communicating between puzzle pieces. I built it such that the level designer can build puzzles without having to write a single line of code!
Our choice of game engine was critical to make the game we wanted in the timeframe we have. Unity has definitely proven to be the right choice, and I would recommend tha other small dev teams check it out. It’s perfect for quickly bringing your ideas to life and it’s flexible enough that you won’t feel limited by it. I definitely will be using it again in the future! – Chris Gengler