Drag[en]gine Game Engine  1.0
Drag[en]gine Game Engine Documentation


This is work in progress documentation. It will change a lot until the first public release is made. It is provided here to give interested people something to poke their nose into to see how it looks like before it is released.


The Drag[en]gine is a new game engine that I am currently developing as a side project to my game project. The aim on the engine is to create a game engine System and not simply yet another game engine. Game engines today are written most of the times with single usage in mind. This kind of engines allows a certain modability sometimes but large modifications or adaptions to new standards is a rather troublesome task to do. On the other hand there are a couple of open source engines which try to be as modifiable as possible. Most of them though tend to become such big behemots that they are a pain in the ass to use in the end. Also most of those engines are only modifiable at the game developer but not at the end user. This game engine goes a reasonable way providing as much flexibility as possible without making the engine too hard to use. Furthermore this engine is designed to allow the end user to modify his game to his liking instead of the game developer deciding upon the parts and workings of the game. This game engine is designed to be still around in many years ago from now due to the design allowing it to grow into any direction needed at the end users home computer instead of somewhere else.

Target Audience

The game engine itself is build in a way that it can be launched using a small launcher application you feed with an XML game file. This way the casual game developer and modder does not have to get in touch with the engine at all and only needs to know about the scripting language used by the game of his interest. This kind of users do not have to poke their nose into this documentation unless they are interested in the internals of what they work with. For all others considering the engine as a black box is enough to work with it efficiently. Interested in this documentation are especially module makers. Modules are the heart of this game engine and allow it to adopt any new standard or advanced technics that will come in the future. The best place to start for a module maker is to check out the deBase*Module class for his system of interest. Here a list where to start depending on what module you look for.

If you wish to modify the way this game engine works you should first consider creating a module for the engine system you want to modify. The engine itself should be only touched in the most desperate case as providing a common and stable base for all games based on this engine is one of the key ideas. This way the end user can also decide which modules suit his home computer the best. Who else than the end users know their home computers and particular configurations better than any game developer out there. More informations have to be written later on.

Game Launcher

Another group of people that are interested in this documentation are those who wish to create a better game launcher than the basic one provided by this project. For those people the deEngine and deOS are the classes to start looking for first. Game launchers are designed to first check the environment the user setup with his modules is working for the game he wants to launch and then to run the beast. More informations have to be written later on.

Web Pages of Interest

The following pages are related to this project and are worth a visit:

Authors and Contributors

Here are the people to praise ( and blame ) for this project.

  • Pl├╝ss Roland ( roland at rptd dot ch )