Return to Blog List
|Mac Gaming Development - Part 1 UNITY
I've been promising this article for several weeks now, and I finally realized that it would not be feasible to release the whole study in one article; it would be too large for practicality, and I know that people would grow frustrated reading it. Instead, I've decided to break the article up into three parts to be released over the next three weeks.
I've dabbled in game development throughout the course of my life. Nothing too serious, but the topic has always fascinated me and I did develop one or two 2D games that I thought were fun enough to keep. That said, I never really tried to bridge the gap into 3D, for several reasons. 3D game development is much harder than 2D in that it requires much more work, stronger mathematical skills, and decent 3D artists. All said and done, 3D is exponentially harder than 2D.
For my study, I've decided to take a look at a couple of different development perspectives. We'll delve into the worlds of both 2D and 3D game design, and see if we can't divine some knowledge that would be useful to aspiring game designers.
Mac Gaming Development - A Study of Development Engines––Part 1
Made by the good folks over at OverTheEdge, Unity is probably the most popular 3D engine readily available on the Macintosh in this day and age. OTEE has been a great supporter of the Mac gaming community, by supporting the Mac platform in all of their software (frequently with us in mind first, unlike some other development tools we'll take a look at later) and by sponsoring contests and events designed to invigorate "Indie" designers to get new products moving.
Enough of this, let's get into the meat of Unity. I've been playing with Unity for ten days now, and while its not an easy program to learn, it definitely is the most beginner friendly tool I've tried so far. Remember, I'm not a 3D game designer, so I'm going to be consistently looking for "newbie" friendliness.
While I could have wasted precious evaluation time trying to learn by creating my own projects from scratch, I decided instead to leap into some of the example projects that the demo comes with and just tinker around. Don't worry, I'll create my own project soon enough.
Unity has a vast array of features, and an attempt to explain every single one is beyond the scope of this article. That would take a book. To begin, a Unity project is based around a World Editor, where you can visualize your concepts on screen before compiling. This is a great feature that I love to play around with. With it you can literally drag and drop your 3D artwork into the screen and adjust it visually to suite your creative vision. I remember back to my 2D days when I keyed in the position for each individual sprite or wrote loops to tile textures across a screen. Unity provides a simple, intuitive interface with which too build the product of your imagination.
Unity is built around this World Editor, and it possesses a host of configuration options for your scenes. The "Inspector" is a tool that I wasted many an hour playing with, as it can be used to bring your static 3D worlds to life and create some truly brilliant effects. Want to bump map that bit of grass you just dragged into the scene? Easy. Just select the objects, go to the Inspector, and select "Bump Map". Presto. OverTheEdge really went all out in creating a wide range of options to available right out of the box. Want to create reflective water? Simple. Sun flares? Easy as pie.
Lighting is another thing done very well in Unity. Good lighting is the key to a graphically superior game, and Unity delivers. Sticking a sun up in the sky requires about a minute's worth of effort. But while a nice virtual Sol hanging up in the sky is fine and dandy, its the secondary lights that truly make Unity a joy to work with. Need a flashlight for you character? Just drop in a spotlight, attach it to your object and have at it. Shadows are dynamic, and Unity fully supports per-pixel lighting (although this can be toggled in favor of a less processor-intensive generic lighting scheme).
Project management is also a breeze. When I was designing 2D games, I would tear my hair out looking for my assets (this was before Spotlight, people) because by nature I'm a very lazy person and leave stuff all over my hard drive. Within Unity, all of your assets, scripts, and assorted files are grouped into their respective folders (ie: textures, prefabs, meshes, etc). Drag and drop reordering is also a plus.
My Unity trial has since expired, and I'm really sorry that I haven't had more time to use it. If I didn't already own Torque, I would definitely purchase it and make it my primary development tool. It is truly an amazing development tool and in my opinion can't be beat on the Macintosh. AAA title here I come!
Ease of Use: 9/10
Great world editor coupled with a brilliant project manager. My only bone is the limited undo capabilities.
Graphical Capabilties: 10/10
Harnessing the latest in OpenGL effects, Unity ships with over a dozen premade graphical effects standard on even AAA titles of today. That, coupled with superior lighting capabilities warrant this a full score.
At $249 for an Indie license, Unity is a bit pricier than other solutions (more than double Torque's price) but delivers advanced features if you need them.
I didn't touch on this very much but the process of actually programming your games is very simple, and there are numerous ways to do it. You aren't limited to just one programming language. Unity is the melting pot of development.
Unity is nearly the perfect solution, but there is still room for improvement, like anything else.
Next week: Torque 2D.
P.S. -> Post or email me your comments! I want to hear your opinions not only on my articles but also on the subjects themselves. Want to sound off about Unity? Go ahead, and I'll probably post them up here.
Posted on November 26, 2006 at 10:22 pm