User Tools

Site Tools


dragengine:modules:main

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
dragengine:modules:main [2012/12/03 19:24] – created dragonlorddragengine:modules:main [2020/05/18 20:22] (current) – [Table] thanos
Line 1: Line 1:
 +{{tag>module}}
 <WRAP youarehere> <WRAP youarehere>
 [[:start|Start Page]] >> **Module System** [[:start|Start Page]] >> **Module System**
 </WRAP> </WRAP>
  
-Modules provide the core functionality for the Drag[en]gine game engine. Every module takes over a specific task in the game engine. Graphic Modules for example take over the job to render the game to the screen while Physics Modules for example take over the job to provide physical simulations and collision detection.  These are typically all modules loading resources from file like models, images and so forth. Multiple modules of the same category can be loaded at the same time without interference. This is logic as modules able to load different file formats can (and have to) be used at the same time in a game. The launchers are responsible to ensure 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 direly lacking.+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 examplerender the game to the screen while Physics Modules provide physical simulations and collision detection.
  
-====== Single Type Modules ====== +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 interferenceThe launchers ensure that all required modules are ready to be usedThe user has to choose the optimal module configuration only onceFrom there on every game based on this game engine just works, feature which most if not all AAA class game engines are lacking.
-Single type 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 hardwareBesides you have only one game screen to render to. For each cathegory the user has thus to choose his favorite module to runLaunchers provide the user with way to select the single type modules optionally providing convenient profiles if required. The table below shows all existing single type module categories. Click on category name to learn more.+
  
-^Module Category^Description^ +====== Single Instance Modules ======
-|Graphic|Handling windows, screens and rendering to them| +
-|Physics|Support for physical simulations and collision detection| +
-|Audio|Handling audio devices, mixing and playing back sound and music in a 3D environment| +
-|Networking|Network communication between servers, clients and other network components if required| +
-|Crash Recovery|Analyze a crashed game engine instance and getting it back running where it crashed if possible| +
-|Animator|Animates components using animator definitions|+
  
-====== Multiple Type 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. 
-Multiple type modules provide functionality that can coexist with other modules of the same category. These are typically all modules loading resources from file like models or images. Modules of the same category can be loaded at the same time without interference. This is logic as modules able to load different file formats can (and have to) be used at the same time in a game. Games state towards the launcher what files formats they need to run. The launchers then make sure the right modules are loaded and running to handle the requested files. Hence not all modules are required to be functional for every game. The launcher is responsible to ensure everything is ready to run a game. The table below shows all existing multiple type module categories. Click on category name to learn more.+
  
-^Module Category^Description^ +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.
-|Model|Handle model files with static or deformable meshes with optional LOD meshes| +
-|Skin|handle skin files with an unlimited number of named textures| +
-|Rig|Handle rig files defining physical simulation properties as well as collision shapes| +
-|Animation|Handle animation files containing precanned animations for use by animators|+
  
-====== Module Listing ====== +^Module Type (category)^Description^ 
-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 exist or are usable in the same way. This listing here contains all the default modules the Drag[en]gine can ship with. The module pages contain also in depth technical information if existing.+|[[dragengine:modules:ai|AI]]|AI handling and navigation| 
 +|[[dragengine:modules:animator|Animator]]|Animates components using animator definitions| 
 +|[[dragengine:modules:audio|Audio]]|Handling audio devices, mixing and playing back sound and music in a 3D environment| 
 +|[[dragengine:modules:crashrecovery|Crash Recovery]]|Analyze a crashed game engine instance and getting it back running where it crashed if possible| 
 +|[[dragengine:modules:graphic|Graphic]]|Handling windows, screens and rendering to them| 
 +|[[dragengine:modules:input|Input]]|Process input from the user| 
 +|[[dragengine:modules:network|Networking]]|Network communication between servers, clients and other network components if required| 
 +|[[dragengine:modules:physics|Physics]]|Support for physical simulations and collision detection| 
 +|[[dragengine:modules:scripting|Scripting]]|Run 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                                                                                     ^ 
 +| [[dragengine:modules:animation|Animation]]     | Animation file I/O containing baked animation sequences for use with animators                  | 
 +| [[dragengine:modules:font|Font]]               | Font files containing colored or colorable bitmap fonts                                         | 
 +| [[dragengine:modules:image|Image]]             | Image files to be used directly or for "skin" resources                                         | 
 +| [[dragengine:modules:langpack|Language Pack]]  | Language pack text files containing language translations to be used with translator resources 
 +| [[dragengine:modules:model|Model]]             | 3D model files with static or deformable meshes optionally including LOD meshes                 | 
 +| [[dragengine:modules:occmesh|Occlusion Mesh]]  | Occlusion mesh files containing low polygon meshes used for occlusion testing                   | 
 +| [[dragengine:modules:rig|Rig]]                 | Rig files defining physical simulation properties as well as collision shapes                   | 
 +| [[dragengine:modules:skin|Skin]]               | Skin files containing named textures for use with components                                    | 
 +| [[dragengine:modules:sound|Sound]]             | Sound files containing sound effect or looped or non-looped music                               | 
 +| [[dragengine:modules:video|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.
  
 ^Module^Type^Description^Platform^ ^Module^Type^Description^Platform^
-|OpenGL|Graphic|OpenGL based rendering for high-end graphic cards|Linux, Windows|+|[[dragengine:modules:opengl:main|OpenGL]]|[[dragengine:modules:graphic|Graphic]]|OpenGL based rendering for high-end graphic cards|Linux, Windows| 
 +( pages for other modules will be added later on )
  
dragengine/modules/main.1354562658.txt.gz · Last modified: 2012/12/03 19:24 by dragonlord