The composition of the game engine: runtime components + tool suite.
Runtime components:
- hardware, drivers, operating systems,
- Third-party software development kits (SDKs) and middleware: data structures and algorithms (STL, STLport, Boost, Loki), graphics (OpenGL, DirectX), collision and physics (PhysX, Havok, ODE), character animation, artificial intelligence, biomechanical role model),
- Platform independent layer: wraps common standard C language libraries, operating system calls, and basic APIs
- Core systems: assertions, memory management (custom memory allocation system), math libraries, custom data structures and algorithms, asynchronous file I/O, object handles/unique identifiers, module startup and termination, strings and hashed strings Flags, call printing and logging, parser (CVS, XML...)
- resource manager
Tool kit:
- Version Control (SVN, Perforce)
- vs