Occasionally, I get asked by aspiring game developers what engine they should use to make their game.
Personally, we use C# and XNA to make our games. It’s the only way to make games for Xbox Live Indie Games (which is where we started out), it’s free, and well, it works really well for the types of games we make. I’m not sure I should recommend it to others since Microsoft is no longer actively supporting it, but it worked out well for us.
However, early on, it really doesn’t matter that much which engine you choose to make your game with. The important thing is to just make a game. Once you’ve made a game, you can always port it to a different engine if necessary but the difficult part is making the game in the first place. So with that said, I’d say pick something that…
A) Can handle the gameplay you want to do.
B) Is not too far above your skill level.
C) Is free or cheap.
The first point should go without saying – there’s no point in picking an engine that will require extensive workarounds to make the game you want to make. The other two are pretty self-explanatory as well – you can get the best engine in the world but if you can’t figure out how to use its features, that power does you no good. Likewise, there’s no point in spending thousands of dollars on an engine and tools when you’re just starting out and for all you know, you might change your mind and decide you don’t even want to make games.
And well, let’s be honest. Most indie games don’t push the technological envelope. If you really wanted to, you could get most indie games running on most game engines. Again, the important thing is to just start making games.