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
Skin-like translucency Skin-like material with SSS Jade-like material with SSS and translucency
Blog RSS Feed Report abuse Latest News: This update goes under the skin

About Drag[en]gine with 6 comments by Dragonlord on Mar 30th, 2014

This update contains not that much text which is good for you. Most work happended under the engine hood which is not that interesting to the outside world. This time around I had more ZPOC related experiments going on which produced a couple of bug and enhancement tickets to be added (bad for me as this means more work but good for you as these are problems fixed before the first release). Just read the descriptions in the videos ZPOC2 and ZPOC3 . Now on to to what is really important.

Skin system enhancement

   First things first I wrenched around in the shader system adding shader inclusion support. This helps me to make more optimized shaders with more abilities that are more stable and easier to maintain. The power of the skin system bases a lot on this system there. Nothing for the game developer to get in contact with but nevertheless a very important piece of software, without which all this magic (which in some parts could even beat AAA engines) would not exist.

   Besides this I've added also a video texture property. This has been requested since the current system requires artists to rely on the coders to provide a dynamic skin with a video attached to it. In some cases though you just want to play a video or animation on a texture (for example a monitor) without requiring to deal with dynamic skins. This is now possible.

   Furthermore I've modified the behavior of renderables. Up to now you had to choose between static property content (value, color, image, video) and a renderable. This imposed not required limitations. Now the two are separated. Every property can have now an optional renderable name assigned. The static content (value, color, image, video) is used until a dynamic skin is assigned to a component holding a renderable with the matching name. A renderable is now a true extension to a skin property. If dynamic content is present it overrules the static content. If not the static content is used. I've tested this system in the ZPOC using "zoid paints".

   There have been also other smaller changes not worth nothing here. Now on to the big one.

Sub Surface Scattering and Translucency

   SSS is a buzzword but getting it working is a problem. Papers about this topic are mixed and the results are mixed as well. I don't want to talk long about SSS since I'm sure many know what it is and what it helps so see the new absorption and absorption.range texture property for a description. As always I've spent time to figure out how to add simple and easy to use texture properties to handle this case. So I've reduced it to absorption and absorption.range to provide both SSS and translucency.

   I've taken the liberity to use the algorithm from my SSAO implementation since I've noticed an interesting behavior it exposes. This behavior I used for the SSS implementation. This implementation allows me to do SSS and translucency with only one single shader pass with no multi-pass blurring or texture space blurring hacks as typically employed. Furthermore this implementation is physically inspired which means it's not just blur-without-a-reason and not just a pseudo-SSS as some recent AAA engines like to use. This especially means the SSS and translucency implementation used in the Drag[en]gine runs in average 0.25ms . This makes SSS and translucency rather cheap and usable everywhere it's of use. So I'll let you off the hook for now with some images.

Jade-like material with SSS and translucency  Skin-like material with SSS

Skin-like translucency

   And yes, the Stanford test models (dragon, armadillo, buddha) are included in the editor so you can easily and quickly test your materials with them.


   More tickets to work down. Next tickets are about the game editor. All in all working off more tickets.

Media RSS Feed Latest Video

Epsylon Epsylon Indie

Updated 4 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  (50 - 60 of 85)
Gen.Kenobi Nov 8 2010, 4:18pm says:

Amazing particles! Keep it up dude! They look really great!

Hmm...just a suggestion... but... do you plan you make refraction levels? The glass...the water...

+1 vote     reply to comment
Medevila Oct 17 2010, 1:15am says:

Amazing engine, but skyboxes could be improved. How are you doing them right now? It might just be the material is low res, but it seems a bit dull.

+1 vote     reply to comment
Dragonlord Oct 17 2010, 1:00pm replied:

It is a texture problem. It's an image (Mercator mapped) I obtained from the Internet for testing purpose and the resolution is not optimal (1024 for 360° is not much). I've done some additional photo shooting of real sky around my home place but I have not got around so far to process the images for actual use.

Concerning the how it is done in general you can use multiple layers with each layer containing an image, optional any number of bodies (sun/moon for example), lighting properties and own color/transparency/orientation. Images can be spherical (Mercator mapped), box (cube map) or planar (typical for clouds, I'll show that some time later). So you have various ways to make static and dynamic skies.

+1 vote     reply to comment
Gen.Kenobi Oct 1 2010, 6:52pm says:

About "SG HQ - Blender Portal System"

It's amazing, but i have a question...if the models are do plan to solve this probleman?

The engine is looking great! I can't wait for it! Keep it up!

+1 vote     reply to comment
Dragonlord Oct 1 2010, 8:36pm replied:

The rendered mesh and the portal system are two different meshes/objects. The rendered mesh is a "Model" resource (and exported as .model file). The portal system is a "Portal System" resource (and exported as .posys file). They are independent so the model is as you expect it while the portal system mesh just requires two textures to indicate which face is a wall and which a portal. So you can edit the two individually at any time.

+2 votes     reply to comment
Ragora Jul 4 2010, 5:12am says:

Ah, I was wondering because I am accustomed to Torque. I was thinking of writing a similiar language module when I learn CPP (I have 0% experience in cpp, so not anytime soon)

+1 vote     reply to comment
Dragonlord Jul 4 2010, 8:55am replied:

That would be nice. The idea behind having different script modules is that different people are accustomed to different languages so they can choose what suits them best.

+2 votes     reply to comment
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 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 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
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).

28 of 621
Last Update
3 weeks ago
170 members