There are many aspects to developing a game. Most games consist of the following:
1) The rendering engine. This is the presentation layer and provides scene graphics, math, particle effects, post-processing effects, and a host of other things. Unreal is such an engine. Good free Ogre rendering engine
2) Sound engine. This allows you to process sound effects (usually processing them in 3D space) and streaming audio. An excellent free sound layer is OpenAL .
3) Compress / play video (e.g. BINK ) if your game requires it. Free version of Theora .
4) Network. This is something that may well be written in the house or left the shelf, like other components, for example. Raknet
5) Scenarios. It does not always make sense to have the whole game written in C / C ++ / Java. Sometimes logic and level flow are easier to describe in a scripting language, which greatly facilitates its change on the fly without recompilation. Good candidates are LUA , Python, and even Squirrel . For example, LUA is used by World of Warcraft and is easily attached to C ++. Civ4 uses Python.
Obviously, some or all of them can be written on their own, but it makes sense in terms of cost, that if it's already done well, why bother? You also need some software to edit your assets ( 3D Studio Max for 3D, such as Blender , if you need a good, reliable, free package).
Moo juice
source share