The Drag[en]gine is an free software project with a highly modular structure based on the GLEM System. Its design is similar to an operating system. The entire functionality is provided by Modules comparable to device drivers. The engine itself acts like a system kernel managing modules, resources and abstracting the underlying system. Due to the loose coupling of the modules with the system and other modules it is very easy to exchange or improve them without interfering with the rest of the engine. As a result the modularity extends from the developer to the end user who can now choose the optimal module combination for his personal computer even down to per game setups ( and even while running a game ) if required. Developers do not have to worry anymore about low level concerns keeping them concentrated on their game. In contrary to other engines (including high-end commercial ones) the Drag[en]gine provides true 0-Day portability of games with no extra costs and no troubles neither for the developer nor the end user.

Advantages of the Drag[en]gine

... for the Game Designer:

  • Use your Scripting Language of choice.
  • Hardware is fully abstracted. You only have to know how your chosen Scripting Language works
  • Updating the engine and modules is handled by the respective teams. You only have to worry about updating your game
  • No need to write specific content for specific systems. The users choice of modules takes care of this for you

... for the Module Coder:

  • Play around with individual parts of the engine without disturbing any other part. Test easy and fast new algorithms or features
  • Various debugging features help to debug fast and easy modules even during run-time
  • Loose coupling and high encapsulation yields in a more stable game engine
  • Platform specific code is only handled in modules increasing portability

... for the Customer:

  • Choose the optimal combination of modules for your system. The Drag[en]gine adapts to match your system not the other way 'round!
  • Open standards and free file formats ensure unrestricted and easy modding using free software applications
  • Various Launchers allow you to use the Drag[en]gine for more than just gaming
  • The Crash Recovery System prevents a game from crashing to desktop. While CRS is running change parameters or entire modules and continue your game from where it went out for lunch.

For more information check out the Drag[en]gine Wiki.


Due to the modular nature a fixed list of engine features as other engines provide is not possible since it all depends on the customer's choices. To avoid cluttering the summary find the features list in this article:

Image RSS Feed Latest Screens
Solidity comparison Language Pack Editor Preview Image Font Editor Preview Image
Blog RSS Feed Report abuse Latest News: Of Heights, Solidity and EnvRooms

About Drag[en]gine with 2 comments by Dragonlord on Oct 1st, 2014

Height, Solidity and EnvRooms

This one here is now again a bit about graphics and engine work.

The most interesting parts of all the recent work are most probably the caching system as well as height and solidity addition. The game engine has now a proper caching system on the module layer. Every module obtains a per-game local and global cache area which it can work on. These are permanent caches the modules fill up with data to improve performance. The first time a game is loaded it takes somewhat longer to build up the caches but then things load fast. This also allows modules to improve quality and performance on game parts a player visits often. All of this though is under the hood so unless you want to you don't get in touch with it.

The other interest part is the addition of solidity and height texture properties. I'll add the Wiki entries later on but in general they add more possibilities to fake complex geometry in a simple and quick way.

The solidity texture property alters the physical solidity of materials. So what is solidity for if you have transparency already? The answer is quite simple. If you have physically based rendering you have view dependent transparency due to fresnel. Hence if you have a fully transparent sphere it still turns into a mirror at grazing angles. This is physically correct since transparency is actual just the ratio between transmitted/refracted and reflected subsurface light rays not how much it actually interacts with the material at all. This is where solidity comes into play. It defines the chance of a light ray actually interacting with the material at all. The images below show why this is required. You can use this for holes in geometry or ghost like objects or fading out/in objects. Both solidity and transparency can be used at the same time.

Solidity comparison

Last but not least the height texture properties. They are used in conjunction with normal maps and tell the graphic module about height difference on the material surface. Graphic modules can use this information for different kinds of algorithms (for example tesselation). Right now the graphic module uses it to create an image-space illusion of depth as shown in the video. Even more interesting it becomes if height and environment rooms are combined. By just defining a couple of texture properties you can get nifty materials in no time that work out of the box for all kind of objects (components, decals, particles, height terrains, asf) in all kinds of situations. Try doing that with UE4 ;)

The video shows the various texture properties in action on different object types including perspective Blender rendered environment room maps. (YouTube higher quality)

The possibilites are quite endless here. Combine height, solidity and envrooms and you can even slap windows and doors on walls with decals in no time to spice up your maps without messing with geometry. It can't beat true geometry but especially for games with lower polygon count it matters a lot.

More to come next time.

Media RSS Feed Latest Video

Epsylon Epsylon

Updated 2 months ago TBD Single Player Adventure

Epsylon - The Guardians of Xendron takes the player on a journey to a futuristic world investigating a very special Science-Fiction setup. With a team...

Post comment Comments  (60 - 70 of 88)
Ragora Jul 3 2010, 6:41pm says:

Would it be possible to code your own scripting module? Although the answer doesn't really matter to me now (I plan on learning cpp).

+1 vote     reply to comment
Dragonlord Creator
Dragonlord Jul 3 2010, 9:19pm replied:

Yes you can. They just have to be open and available on the net so launchers can download them to run your game. Otherwise more script languages are welcome.

+2 votes   reply to comment
Ichiman94 Jun 19 2010, 1:36pm says:

good engine, when will be released?

+1 vote     reply to comment
Dragonlord Creator
Dragonlord Jun 19 2010, 2:15pm replied:

I know people hate this answer but "when it's done" :P . I aim for a release this year if everything works out as it should.

+3 votes   reply to comment
Ichiman94 Jul 4 2010, 4:58am replied:

"this year"
okay, this engine getting better and better, dont give up ;)
and no problem if "when its done", good engine takes lot time to develop...

+2 votes     reply to comment
slayersarge Jan 3 2010, 5:44pm says:

Would be funny if there was a vore video of the dragon eating a human whole with both views

+2 votes     reply to comment
Robots! Feb 7 2010, 5:10pm replied:

What the ***** is wrong with you?

0 votes     reply to comment
Dragonlord Creator
Dragonlord Jan 3 2010, 6:01pm replied:

I have the bad feeling that one of the first mods is going to do exactly that...

+2 votes   reply to comment
Robots! Feb 7 2010, 6:00pm replied:

The project must end.

+1 vote     reply to comment
Dragonlord Creator
Dragonlord Feb 7 2010, 8:53pm replied:

In fact not. I can imagine what one of the first mods are going to be. They will take on time frames in the story which I leave out on purpose as they would be too much to included in the game. They are written but require additional worlds to travel too which would be a bit too much for a first time project. Can imagine people are going to fill them in with their own ideas which should be interesting to watch unfold.

+1 vote   reply to comment
Post a Comment
click to sign in

You are not logged in, your comment will be anonymous unless you join the community today (totally free - or sign in with your social account on the right) which we encourage all contributors to do.

2000 characters limit; HTML formatting and smileys are not supported - text only

Windows, Linux
Team Epsylon
Send Message
Official Page
Release Date
Engine Watch
Track this engine
Embed Buttons

Promote Drag[en]gine on your homepage or blog by selecting a button and using the HTML code provided (more).

185 of 666
Last Update
1 month ago
185 members