More face palming ensues.
When we last left our plucky developer, he was being assaulted by game engines!
A important issue you have to deal with in the development of the any game is the all important game engine and its a tricky one to figure out. You could always program your own game engine, but that takes a lot of time and effort. Especially if you want all the bells and whistles of DX9 and/or DX10. You can easily fall back on pre-made game engines but those aren't without their own pitfalls.
One of the biggest pitfalls would be price. The biggest indie dilemma would be money or the lack thereof.
Unreal3D is a really nice engine to work with but i don't exactly
350k kicking around to get one. Of course there are game engines priced for indie developers, like torque, but more on that later.
The second biggest issue is programming the damn thing. Now whenever possible try to program in C++. Anyone in the tech field can tell you its weird, since more often than not programming happens in Java. But like some weird force of nature the gaming industry is chugging along on the C++ train. I could geek out and explain in detail but it has mostly to do with memory and CPU management, and when the code hits the processor the way java works it gets very inefficient. Java is fine for smaller more casual games but for something larger it just doesn't work.
Torque works around this by being a
WYSIWYG (What You See Is What You Get) Game creator. In the same vain of you could program a webpage in pure code or just use a program like Microsoft Frontpage (also WYSIWYG) and tell it where all the webpage elements should go and it will generate the code for you. In general you should always try to program it yourself. The code that is generated by these programs can sometimes be cluttered and you can't prevent them from integrating junk code especially evidenced by Frontpage... Though Torques biggest problem is the documentation. With the lack of it one wonders how people develop for it. The 2D version is caught up but the 3D is far behind.
All these issues led us to
Ogre3D. Its a open source (free!) community project that has been developed for 7 years and is a very feature full game engine. Its coded in C++ and is completely modifiable, which can be a problem for some, but we have capable programmers to do the C++ work. Besides full DX9 support and development for DX10, it also has a fully documented API and a huge community with many tutorials to get you started.
When next we meet the developer,
Developing a game idea, and those damn "political" considerations.
So Want to be a Game Developer (Part 1)