Choose Your Game Engine…Wisely
There are a lot of choices out there for game engines. Each of them carries their own strengths and weaknesses, some more than others. Large game studios will often times end up creating their own gaming engines to specifically fit their needs. Take for instance Blizzard, and their StarCraft 2 engine, also known as SC2. Blizzard began development of the new game engine in 2005 and chronicled the development which took over five years to launch. During that time, Blizzard went through 16,130 engine builds to finally arrive at their Version 1 product that shipped in 2011. Shockingly, the last 3 years of development were spent in optimizing and debugging the engine.
Most game developers, and studios for that matter, don’t have the resources to create their own game engine from scratch. Some of them leverage open source engines and build their own tools for integration. While other studios, and independent developers, utilize one of the many 3rd party game engines available on the market. Each of the game engines available have their strengths and weaknesses. Depending on the type of game you are going to be building, the language you prefer to code in, and the amount of resources you have dedicated to the project, choosing the right game engine is an early and integral part in your production pipeline. Here are some of the most popular game engines available for developers.
Unity is one of the most popular choices of game engines for hobbyists and professionals in the gaming industry. It’s both a 2D and 3D game engine, which is quite rare in the industry. However, Unity was initially designed for 3D and had 2D support added in later. Initially the 2D features were for building the UI, HUD and menus to avoid having to do those things in a separate program. Because the features were somewhat generic, developers began using them to create actual game play. The soaring popularity of Angry Birds and Bad Piggies, which were built this way, gave Unity a reason to build a 2D production flow into their 4.3 release.
Pros: Unity has a huge community of creators which makes finding scripts and assets very easy and productive. The 3D engine is extremely powerful and creates high-quality AAA game graphics. The support of various platforms such as iOS, Android, Mac, PC and consoles makes deployment very simple and convenient. The free license includes the majority of the features and paid licenses are much more affordable than some of the other console engines.
Cons: Collaboration can be a little difficult because of Unity’s expensive asset server. The engine’s source code is not available, so if you find a bug in the engine, you have to wait for Unity to fix it in one of their updates.
Unreal Engine is one of the best 3D game engines for PC’s and console platforms like Xbox and Playstation. Mobile platform support was released in the 3rd generation of the engine, but it’s mostly used by hobbyist developers with a limited UDK or multi-million dollar licensees of the engine for porting their console games to high-end mobile devices. Unreal Engine 4 saw a change in their pricing model where users can pay $19/month and a 5% revenue share, for full use of their tools as well as access to their source code. The Unreal engine is written in C++ and it happens to be the only supported language in the engine. Blueprint, a visual programming environment in Unreal, makes it possible to do quite a bit of development without having to write any code at all. The Unreal Engine produces AAA game quality and some of the most advanced, realistic 3D graphics on the market. If not the best.
Pros: Unreal Engine has some of the best tools available to developers. Combine that with having access to their open source code, the flexibility and power of Unreal 4 is unsurpassed.
Cons: This engine is designed for studio development. Indy developers and small studios will find the tools cumbersome and overly complicated for most common uses. C++ is not considered to be the friendliest language to learn either.
Pros: Cocos2D is a free and open source engine licensed by MIT. It supports a massive amount of mobile platforms and has a large community of supporters online.
Cons: Because there’s not a commercial entity behind the engine, bug fixes are sometimes very difficult to take on.
While there are many more game engines available out there, like Corona SDK, Adobe AIR and CryENGINE, these three engines tend to be the most popular among their class of game engines. Hundreds of AAA titles have been released with these engines including hits like Angry Birds, Batman: Arkham City and Assassins Creed.
When choosing your game engine there are lots of things to consider when making your decision. Cost, platform distribution, size of team and goals are all important factors to consider. Make sure to choose an engine that does just enough for what you need. Avoid going with the most advanced engine if you’re goal is to just make another flappy bird clone. Determine very early on if you’ll be using 2D or 3D and what software pipeline you’ll be using for developing the game assets. Maya and Unity work extremely well together and there is tons of information on various workflows. 3DS Max and Unreal Engine are also great matches, especially for FPS (first person shooter) games. Most importantly, especially for beginners, play around with it a bit before you get married to it. It’s very possible that one gaming engine may appeal to you better than another one. That could be the different between success and failure.