The Indie Infrastructure: Game Engines

While it’s possible to roll your own engine, if you are looking to create a 3D game you probably will want to work with 3D middleware.  If you are new to indie development, take a gander at this list:

Torque - Torque comes in several flavors, the two 3D versions are Torque Game Engine and Torque Game Engine Advanced.  TGEA adds shaders, a large terrain rendering system, material stuff.  To be honest, it’s not that huge of a leap over TGE basic.  In fact, GarageGames recently announced that the TGE branch is essentially dead and TGEA would be receiving all their attention for the forseeable future.

Torque is often difficult to work with, and I hate the scripting language (boy do I wish they would build support for a standard scripting language).  The engine is also a bit messy and buggy — it’s poorly documented and if you don’t use it in exactly the way it was intended, it’s really easy to break things.  It also has a fairly large memory footprint and distribution file size.

That said, Torque is hands-down the most powerful, most feature rich engine available at indie prices.  Torque has strong networking, and tons of ugly but useful hobbiest-written third party code.  And the best thing about Torque is that it has a very strong future: subsequent to the IAC buyout of GarageGames last year, they have been putting some really solid attention into the engine and it’s made a ton of progress.  A few big-name games like the Penny Arcade series are built on Torque.  Various versions of Torque can build on iPhone, Xbox360, Wii, PC and Mac.

If you are capable and willing to put the work in, Torque probably provides the highest cieling amonst all the indie engines.  If you are a weekend coder, you might want to go with something simpler, even 2D.

Unity - I have not personally used Unity, but it is starting to gain a solid reputation in indie circles.  Notably, the games on Blurst are built with Unity.  Unity’s strongest selling point in my opinion is in-browser support.  However, you don’t get source code, and as of this post, you have to develop on a Mac (PC dev support is in the works).  Their physics is miles ahead of GarageGames.  However, I have yet to see a “large-scale” game made with Unity, meaning anything beyond a mini-game.  That’s not to say it can’t be done, just saying I haven’t seen it.  It also seems to be a cleaner engine than Torque.  Unity can build for Wii, iPhone, PC and Mac.

Bottom line, if in-browser support or physics are your thing, or if you really want to use a 3D engine but you dont want the trouble that Torque offers (and you don’t mind developing on a Mac), Unity is the way to go.

XNA – XNA is used for the XBox 360 Creator’s Club, allowing anyone to publish their game on the 360.  The only cost is for an XBox Live Gold membership, which is 10 bucks a month.  XNA uses C#, which may make production easier, but leaves it somewhat underpowered as compared to other game engines.  However, as long as your game isn’t too graphics intensive, this may actually be the easiest way to go.  This is more of an API rather than a game engine, but many people prefer a cleaner, smaller architecture to the monolithic, tools-laden 3D game engines.

If you want to get going on the 360 quickly, this is the way to go.

Unreal, Source – In a few cases, indies and students have made deals with Epic and Valveto license their game engines.  I don’t honestly know the details of these deals, but I suspect they arose from personal connections within those companies.  I probably wouldn’t consider using these unless youve got experience with them, and if you do, well then, you probably don’t need this list.  The best choice is usually whatever you are most familiar and comfortable with.

2D Engines

I have less experience with 2D engines (despite a fair amount of work with Flash), but here are my thoughts for what they are worth:

Flash - Flash/Flex is becoming incredibly powerful.  It’s everywhere, it’s powerful, and CS3 offers true object-oriented coding.  It now offers standalone executable support.  Sprite rendering is fast now.  Unless another engine or API offers very specific tools that are perfect for your project, there’s really no reason to use anything but Flash.  You can practically make an MMO out of the box using SmartfoxServer, Electrotank, or Multiverse, and Box2D offers great 2D physics  with a 3 hour setup time.  By the way, if you are confused about the difference between Flash and Flex, they both use Actionscript, but Flash is built around the concept of movies and the timeline, whereas Flex is a cleaner coder’s environment.

GameMaker, RPGMaker - Simple engines for non-coders.  These are probably the way to go if you just have no interest in trying to wrap your head around coding.

PTK – PTK has a good reputation amongst casual game development crowd.  If I were making a 2D casual game for the PC, I’d probably want to evaluate this one.

Popcap Framework – Same as PTK.

Torque - Torque2D is essentially the same engine as TGEA, but does not include the 3D stuff, and includes some extra toolsets that are supposed to make creating 2d games extremely quickly out-of-the-box.  The whole thing is a bit too overblown for my taste – a 2D engine should be simple and clean.  This probably has the strongest toolset of any of the 2D engines, but it also comes with many of the same problems of the 3D engine.

XNA – If you want on the 360 and quickly, this is the way to go!

Blitzmax – An API, not an engine, but I’ve heard good things.


You can follow any responses to this entry through the RSS 2.0 feed. Both comments and pings are currently closed.

Bookmark and Share

Comments are closed.