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.

Features

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.

Outlook

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

Media RSS Feed Latest Video
Games
Epsylon

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  (0 - 10 of 85)
SinKing
SinKing Apr 17 2014, 1:55pm says:

One question - is there any kind of lightmap baking involved for static meshes, such as in Unreal Engine? I recently used Unity, CrySDK and Unreal 4 and U4 needs different assets (convex/closed meshes are best), while Cry and Unity don't and light everything in realtime; or so it seems.

If the first is the case, would it be possible to bake lightmaps for the levels in Maya and use them in your editor? I've always found it annoying how you are forced to bake these lightmaps with UDK's crappy baking. I would always prefer to bake it in my 3D program, because then I can have some control.

+1 vote     reply to comment
Dragonlord
Dragonlord Apr 18 2014, 7:56pm replied:

The graphic modules are free to choose dynamic or static lighting as they see fit. The default is fully dynamic lighting. If a graphic module chooses to use static lighting it is responsible to build those on the fly itself.

The graphic module used here does fully dynamic lighting. I could add a pre-lighting texture property if the demand exists. In this case the light map could be done with any application able to export them to an image file.

I don't know about CE but as far as I know Unity works a lot with light maps while it though also supports dynamic lighting.

+1 vote     reply to comment
HeadClot
HeadClot Jan 3 2014, 2:54pm says:

When is this going to be released?

Just curious :)

+1 vote     reply to comment
Dragonlord
Dragonlord Jan 3 2014, 3:09pm replied:

When all the tickets for the first release are implemented. But the ticket tracker is not yet visible to the public so I can just say WID. I'm trying to steam it ahead to get it out this year (hopefully earlier than later).

+2 votes     reply to comment
HeadClot
HeadClot Jan 3 2014, 3:51pm replied:

So here goes a question - Should I start developing my game with Drag[en]gine in mind (Making assets, etc.) now or wait?

I really want to use this engine for my game. :)

+1 vote     reply to comment
Dragonlord
Dragonlord Jan 3 2014, 4:20pm replied:

In general there is no need to develop with the Drag[en]gine in mind. The concept is rather generic so if you use for example Blender you can easily export model, rig and animation resources with little problem. If required other file formats can be supported by creating additional resource loading modules. In general the Drag[en]gine separates resources into clearly defined sub-units you can easily export and combine.

The only part where you need to pay attention are the skins. The Drag[en]gine uses physically based rendering and a texture property oriented system. In contrary to other game engines you work there with a physically oriented system where the used texture maps differ quite a bit from those used by other engines.

Hence if you want to make already assets to be used later on in the Drag[en]gine avoid making texture maps apart from color, normal and transparency unless you use the artists chart provided on the Wiki. Otherwise you have to redo the textures. Color, normal and transparency though can be easily reused without problems.

+2 votes     reply to comment
HeadClot
HeadClot Jan 3 2014, 4:26pm replied:

Alright sounds good and Thanks for your detailed response. :)

I guess I should start getting my project together.

As for the asset pipeline what does dragon engine support in terms of 3D File formats?

+1 vote     reply to comment
Dragonlord
Dragonlord Jan 3 2014, 7:07pm replied:

Right now my own 3D file format but this is going to change in the future. The Drag[en]gine model format though is feature complete (supports all model features of the engine) and can be exported from Blender using the scripts coming with the engine. Other file formats like OBJ for example are not feature-complete and would prevent the use of certain features like multiple LOD meshes or fine tuned normals and tangents.

+1 vote     reply to comment
HeadClot
HeadClot Feb 18 2014, 3:08am replied:

Hey Dragonlord - What about support for 3D Studio Max or Maya with DragonEngine?

+1 vote     reply to comment
Dragonlord
Dragonlord Feb 18 2014, 12:33pm replied:

3DS is a proprietary format so as free software I have no legal right to load that file format. With Maya I don't know but I think it's proprietary too so the same should apply. In general I'm open to support new file formats if the file format definition is free to access and if there is no legal limitation preventing the use in a free software project.

+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

Platforms
Windows, Linux
Company
Team Epsylon
Contact
Send Message
Official Page
Dragengine.rptd.ch
Licence
L-GPL
Release Date
TBD
Engine Watch
Track this engine
Share
Embed Buttons

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

Drag[en]gine
Drag[en]gine
Statistics
Rank
19 of 621
Last Update
3 weeks ago
Watchers
170 members
Games
1
News
43
Features
7