As far as I can assess, any game requires the following basic elements.
- Graphics Engine
- Sound Engine
- Communications Engine
- AI Engine
Should you like to add to this list, please post in the forums
Graphics Engine
The graphics engine will deal with all rendering of the game. These graphics engines can be broken up into logical modules:
- Terrain rendering
- Environment rendering. (Clouds, Sky, Water, Fog....)
- Effects rendering (Fire, Rain, Sunflairs, Reflections, Shadows....)
- Actor rendering
Graphics engine should be:
- Not platforms specific: Allow rendering on both Windows and Linux platforms.
- Flexible: Allow for a multitude of graphics cards to be used.
- Effects and other resource dependant rendering should be configurable to allow weaker cards to be used.
- Plug and play. Graphics engine should not be game title specific, rater allow it to be used on multiple game titles.
Sound Engine
Requirements for sound engine is:
- The sound engine should be multi platform
- Should handle background sound and effects sound
- Must handle compressed audio such as MP3 and compressed streams
- Stereo enabled, but can be made mono
- Plug and play. (Reusable for any other purpose)
Communications Engine
As one can write a whole book about this topic, only some prudent notes. Requirements:
- Client / Server based.
- Plug and playable
.
- Packets must be compressed.
- Platform independent.
- Be able to use multiple protocols. Main one would be TCP/IP.
- WAN enabled.
- Distributed server able. (Will still chat about this requirement, useful to limit server overload.)
AI Engine
Well, need once say more than reliable and intuitive
|