views:

3788

answers:

9

For an experienced application programmer (C++, C#, Ruby) getting into game programming, what are the best toolkits to use for creating a commercial indie game? Unity, GarageGames, and The Game Creators have interesting products, but I don't have enough experience to judge them.

Or should I be looking at something more low-level, like XNA, SDL, OpenGL and DirectX?

+1  A: 

I think XNA is a great choice as it is backed by Microsoft (can take that as good or bad). However, I am unsure whether it allows you to distribute a game commercially under license.

JTA
As of XNA 3.0 you can publish your games commercially on Xbox LIVE: http://creators.xna.com/en-us/xnags_islive
Kurt
XNA doesn't have a proper level design tool, but is great technology indeed.
Seth Illgard
+15  A: 

Definitely GarageGames in my opinion. They have top notch engines for both 3D and 2D games, great tools, full source code, relatively cheap flexible licenses; only a couple hundred bucks for indies who make less than $250,000 a year in revenues will get you a near-AAA level game engine with full source code.

You could go the low level route but it will take you a lot longer to complete anything. These engines have full graphics, audio, physics and networking support (the TorqueNet library which is integrated with all of them is one of the best game-centric network libraries there is), full-featured scripting language, and some basic facilities for game AI.

Gerald
Torque is hard (long learning curve) and it's really old technology constantly patched up.
Seth Illgard
+3  A: 

Couple of months ago I found unity3d which looks pretty nice to me. And its cheap :D

Can anyone compare/contrast Unity with Torque and other engines/toolkits?
Kurt
It's free now! Unity indie has become freeware
Seth Illgard
+5  A: 

I just mentioned this elsewhere. I've recently become aware of a new game development environment called ShiVa. I've not dug deep enuf to give it my stamp of approval but it looks pretty cool from a distance so far.

I've been a big GarageGames/Torque user, and I have enjoy3d TorqueScript especially. But I think there may be better options out there now, including C4, Unity (currently Mac only, but poss. PC version has been mentioned), and Blender Game Engine. If rendering is all you need Ogre3D and

DevMaster has a pretty good comparison of all current engines out there.

Scott Evernden
+10  A: 

Unity a Danish start-up is probably the best platform for an independent game developer. Unity is a multiplatform game development tool, designed from the start to ease creation. A fully integrated professional application. You can develop games for Web, Wii, PC/Mac and iPhone.

Some of the key features are:

Integrated Editor Wii Publishing iPhone Publishing Networking - Easy multiplayer support One-Click Deployment and many more

check out http://unity3d.com/

ianj
If only they supported Linux (they already use Mono) then I would use it. +1 anyways
Zifre
Unity FTW! I cannot agree more with this answer.
Seth Illgard
+4  A: 

I have used both Unity3D and Torque. I highly recommend Unity3D. My students prefer Unity over Torque unanimously. The development workflow is cleaner, the online support is organized and comprehensive, and it is just a fun tool to make really great games! I found Torque to be somewhat incomplete and the support resources rarely helpful.

I hope this helps. . .

Good luck with your projects.

bowditch
+1  A: 

Unity is a great choice for a game engine. It's a visual development environment allowing you to place your assets and add code components to add the logic. I's able to make desktop games for Windows and Mc as well as for the iPhone and for the Wii. The indie license is only $200 bucks and there's a lot of web documentations.

diamondTearz
Welcome to stackoverflow man :P
Seth Illgard
+3  A: 

I have been looking around for a game engine myself for a while , and I have played with Unity3D and now testing out Shiva .

A couple of things i have not seen people address is this

                                 **Lincencing**

Unity3D licences is not the most friendliest out there, 149€ (indie lincence) for a watermarked deployment, another 299€ (stripped down version) for iphone development (again indie with no multitouch,accelerometer,GPS, and anything that makes the IPhone the Iphone).

Shiva , pay 169€ once, and deploy everywhere , how cool is that? for someone with a tight budget.

                                  ** Technical Features ***

I think its safe to say they are both equal in technical features, again one thing i like about Shiva is that it has a HUD (head up display) editor, in Unity3D you will have to code up yourself. Documentation for Shiva suck in my opinion and Unity3D is miles ahead in that area.

Do no get me wrong, I like bought software, just that Shiva will be my choice at the moment.

sayjava
+6  A: 

It really depends on the level your programming skills are at, what platforms you are targeting, and how much customisation of the engine you're planning to do. So there are a number of 'right' answers to this question. My recommendations would read roughly like this:

  • For windows, mac and web development, and you've got basic coding skills: unity3d

Unity3d is winning this one hands down - professional, not expensive, it has a full-featured editor, with scripting support via JavaScript or C# (on Mono), good documentation and a very helpful community. Nice GUI system too. The one-click build-and-deploy is great, and it has source control integration for assets for medium-sized teams. Also has an iPhone version.

  • For windows and mac, and you want C++ engine source: C4 engine

This has a lot of tools, a strong feature set, with some decent graphics algorithms especially, and every license includes the full C++ source code, which makes it great for people with advanced coding skills. It has some features that you'd normally only expect in full commercial engines - a graphical scripting language, and live editing support for example. Its weakest point is probably the lack of good light-mapping. It's also a little more expensive and developed by a smaller team than Unity.

  • For enthusiasts with C# skills, or people who HAVE to work on console: XNA

I've tried XNA at various times, but have found it to be more a hobyist's playtool than anything else. You can write complete games in it, but you can say the same thing about C++. As far as I'm concerned, the goal of an indie engine should be supplying you with as many completed tools and features as possible, to allow you to be as fast and efficient as possible, and XNA is still too much a coding environment and not enough a complete engine with tools to be a serious contender if you want to make an indie game which you expect to sell. But at least it does get you onto the Xbox 360.

Honourable mentions: DarkBASIC, The Nebula Device

I've tried Torque as well, and found it to be a 'decaying' product. It's no longer as clean in terms of architecture as it should be, and I found it sufficiently annoying that I went back to my own half-completed engine after a week or two of trying to struggle through it.

Also, you might want to keep an eye on the GameBryo website - they've announced that a 'casual' license is coming, which may be appropriate for indie development.