Input
Rendering
- Resource management
- Scene management - statement management, LOD, game updates, optimizing assets, geometry culling, etc.
- Game update - AI characters update, physics and collision detection, etc.
- Optimizing assets - compressing textures, reducing texture resolution, index geometry, dynamic branching for early-out execution, etc
- Geometry culling - occlusion culling, view frustum culling, geometry partitioning, etc
Sound
- Sound effects, ambient sounds, musics tracks, speech
- AI - situation-based audio
Scripting
- AI - animation paths, situational animations, etc
- Level editor
- Material editor
Physics
- Geometry collisions - point, rigid, soft masses
- Friction / drag / lift / buoyancy support for various objects
Cinematic System
- Real-time cut-scenes - move objects and the camera along predefined paths to tell part of a story
- key-frame animation, skeleton animation, etc.
Networking
- Multiplayer gaming
- Downloading game fixes, additional contents, or entire game, etc.
- Statistics tracking
Core
- Various data structures - geometry partitioning (octrees, quad trees, BSP trees, portals, scene graphs, etc), arrays, link lists, stacks, queues, hash tables, trees (binary, k-dimensionals, etc), graphs, etc.
- Common game math such as vectors, matrices, quaternions, bounding volumes, rays, and planes.
- Timers
- Memory management
- Resource management - keep track of shared resource, e.g. sound, textures, etc
- Journaling services
- File logging
- Application profilers
- Depreciation facilities
- Compression / decompression algorithms
- Encryption / decryption algorithms