These days making games is easier than ever (don’t read that as easy at all) because of the availability of third-party solutions to traditionally difficult game development problems. The off-the-shelf solutions are called middleware and can save time and effort in exchange for cost. One of the core middleware pieces to the puzzle is the game rendering engine. I’ve been researching and seriously looking into the leading high-end game rendering engines to power O-Zone Games going forward, including Unreal Engine 3 from Epic Games (seen in almost every major hit game in 2007), CryEngine 2 from CryTek (seen in the recent release Crysis) , and watching the development progress of both ID Tech 5 from ID Software, and C4 from Terathon Software. I am a very satisfied licensee of SpeedTreeRT middleware technology from a previous title so I was predisposed to select to the Unreal Engine 3. Then, in November of 2007, I found out about the Unity 3D engine.
Why conisder Unity? The Unity 3D engine is potentially revolutionary for gaming. I don’t say that lightly. It doesn’t have quite the same visual quality out of the box as some of the engines I mentioned above, but that isn’t the point (In the hands of an experienced content creator the visual quality is darn close, and definitely capable of creating the breath-taking epic game moments we all know and love). The three things that differentiate the Unity engine enough to get my attention are:
- Web Player: A truly 3D game experience can be embedded right into a web page as easily as Flash content. I don’t mean the typically very-low-quality that you see in almost every Flash game I’ve ever played (I’m yet to find one I enjoyed), but content that is starting to rival a console game, similar to games on the Nintendo Wii console.
- Scalability: The engineers at Unity Technologies have gone to great lengths to design and test their engine for scalability. This means you don’t need the latest graphics card to run a game on the Unity engine, like you do with a couple of the other engines listed above. Having written a commercially released engine from scratch I can appreciate the value and effort involved with scalability.
- Multiplatform: The game authoring tools from unity are Mac OS only. That said, the game package can be delivered in many ways, including a standalone executable program on a Mac (universal binary), and standalone on a PC with Microsoft Windows XP or Vista. The game can be embedded in a web page (to be played on the page or full-screen) on Mac OS or Windows on every major browser, specifically Internet Explorer, Firefox, and Safari. Last but definitely not least, Unity is working with Nintendo to make it possible to deploy games on the phenomenally successful Nintendo Wii console (for Nintendo licensed developers). That is an impressive list.
Those three points are all marketing equalizers which help drive the revolution for independent developers. As if that wasn't enough of a reason to select Unity, the Unity user community is second to none. It is hands down one of the most helpful and friendly online product-specific communities I’ve ever experienced.
The only Unity issue for me is the lack of compatibility with other professional middleware solutions. For example, I cannot gain the same benefit by licensing SpeedTreeRT for a game being created in the Unity authoring environment. That kind of issue may change over time but one simple rule I’ve learned developing software and technology is, “You have the features you have. Don’t plan on features you don’t have.” I'm coming at this with very high game quality requirements, hoping Unity becomes known as the web-embedded version of a high-end game rendering engine (like Unreal), not the answer for 3D version of flash games. In the end the content creators Unity attracts may determine that.
Back To The Game:
So far the asset pipeline using my favorite Windows-based 3D authoring tools (Z-Brush for sculpting and Softimage XSI for additional modeling, reduction, and animation), and the Mac-based game-authoring tools from Unity, are playing nice together. There were of course quirks and issues, but most of game development is problem solving. So far, there aren’t any show-stoppers. I’ll add another screen capture of our player characters (penguins) linked to this blog post, and I’ll post more news soon.