Start Page » Module System

Modules provide the core functionality of the Drag[en]gine game engine. Every module handles a specific task in the game engine. Graphic Modules for example, render the game to the screen while Physics Modules provide physical simulations and collision detection.

All these modules can load file resources such as meshes, images and others. Multiple modules of the same category can operate at the same time without interference. The launchers ensure that all required modules are ready to be used. The user has to choose the optimal module configuration only once. From there on every game based on this game engine just works, a feature which most if not all AAA class game engines are lacking.

Single Instance Modules

Single Instance modules provide functionality that can not coexist with other modules of the same category. For example you can not run an OpenGL module and a DirectX module at the same time as both need full access to the hardware and there is only one game screen to render to.

For each of these module categories the user has to choose the preferred module to run. Launchers provide a way to select the single type modules optionally providing convenient profiles if required. The table below shows all existing single instance module categories. Click on category name to learn more.

Module Type (category)Description
AIAI handling and navigation
AnimatorAnimates components using animator definitions
AudioHandling audio devices, mixing and playing back sound and music in a 3D environment
Crash RecoveryAnalyze a crashed game engine instance and getting it back running where it crashed if possible
GraphicHandling windows, screens and rendering to them
InputProcess input from the user
NetworkingNetwork communication between servers, clients and other network components if required
PhysicsSupport for physical simulations and collision detection
ScriptingRun game logic

Multiple Instance Modules

Multiple Instance modules provide functionality that can coexist with other modules of the same category. These are typically all modules loading resources such as models or images in different formats. Multiple instances of such modules can be loaded at the same time without interference. Game logic states (via a launcher) what file formats are needed to run. The launchers then make sure the right modules are up and running to handle the requested files. Hence not all modules are required to be functional for every game.

The table below shows all existing multiple instance module categories. Click on category name to learn more.

Module Type (category) Description
Animation Animation file I/O containing baked animation sequences for use with animators
Font Font files containing colored or colorable bitmap fonts
Image Image files to be used directly or for “skin” resources
Language Pack Language pack text files containing language translations to be used with translator resources
Model 3D model files with static or deformable meshes optionally including LOD meshes
Occlusion Mesh Occlusion mesh files containing low polygon meshes used for occlusion testing
Rig Rig files defining physical simulation properties as well as collision shapes
Skin Skin files containing named textures for use with components
Sound Sound files containing sound effect or looped or non-looped music
Video Video files containing videos with or without sound to be played back with video players

Drag[en]gine Module Listing

There is no fixed list of modules the game engine has since users can download and install modules on their own. Furthermore on different platforms not all modules are available in the same way. This listing here contains all the default modules the Drag[en]gine ships with and individual module pages contain also in depth technical information.

OpenGLGraphicOpenGL based rendering for high-end graphic cardsLinux, Windows

( pages for other modules will be added later on )

You could leave a comment if you were logged in.
dragengine/modules/main.txt · 2020/05/18 20:22 thanos