I wanted to start with a providing a summary of the technologies I'm using for the different parts of Infinite Zero. At some point I hope to expand on this to provide more details, and possibably some examples.
Programming Language
Technology: C++
Description: Infinite Zero is going to be a realtime high performace application so it needs to be written in Native Code. There is lots of programming languages out there, C, C#, Java, the list goes on...If you are not familiar with C++ its the most commonly used language for writing any native appliction. C has the same native low level power as C++ but lacks the object orientation that will be needed to represent object in the game easly. C# or Java have much stronger inforcement of the object orientation and are easyer to write applications in than C++, but without direct access to the computer hardware it makes them unsuitable to use to write the base of the game engine.
Graphics
Technology Used: Microsoft DirectX 9.0c
Description: Why DirectX 9.0c? For compatibility with Windows XP. I have structured the interface to the graphics subsystem in Infinite Zero in such a way as the rendering layer can be switch for a different system easly, after I have completed a playable demo of the game and I'm happy with the gameplay elements I'll add a DirectX 10 or 11 rendering layer that can be used on system that have DirectX 10 or 11 support.
Physics
Technology: nVidia PhysX
Description: I started out writing my own physics engine (never intending it to be quite as extensive as a comersial engine). After about 6 months of using my own collision detection however I found that it did not scale well, and would require extensive work to optimise it further. However around this time nVidia bought over PhysX and made the SDK available for free. So I switched to using it instead, and have been happy with the results it give. It also has the advantage now that it is accelerated on nVidia graphics cards.
Artificial Intelligence
Technology: FSMs and lots of maths
Description: This part of the engine is not based on any available software technology and is being built from the ground up.
Networking
Technology: Winsock
Description: I have yet to start this part of the engine. My intention is write a network synchronisation engine from the ground up using Winsock.
3D Modelling
Technology: TrueSpace 7
Description: I choose to use TrueSpace as the preferred 3D Modelling tool for Infinite Zero for two main reasons: one I like it, and two it is currently in a unique situation. Normally you would have to pay big money for it, but after Microsoft bought it, and then they quickly decided they could not afford to support and maintain it (around the time of the credit crunch). Kindly they have released the latest version for free, which is now community supported! I did have a look at some open source software, but felt the learning curve involved in TrueSpace made it a better choice for providing editing accessiblity to Infinite Zero.