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
IGDE Game Definition Class Hiding Solidity comparison Language Pack Editor Preview Image
Blog RSS Feed Report abuse Latest News: New Year goodies with Core and Skinning

2 comments by Dragonlord on Jan 9th, 2015

Going Core... and fast please!

To get closer to a first release the OpenGL module has been reworked in terms of context handling. Up to now a compatible profile has been used based on extensions. This is mostly due to the way how the engine grew up. To get things better defined the system has been reworked to operate strictly on a minimal Core profile with the option to use higher Cores if the GPU supports it. This allows now to define better the minimunm specs a GPU has to support to be able to run the Graphic Module while allowing to still take advantage of higher Core profile features if available. So the OpenGL Graphic Module is now officially set to require a minimum OpenGL 3.3 capable GPU to run. This covers GPUs of the last couple of years and should not be a problem for most people. Certain features up to Core 4.3 are supported and will be used if present.

Besides this the Debug Drawer System has been reworked. This is the main debug visualization system provided by the Drag[en]gine. Since all editors and some modules are using this extensively the existing implementation went a bit out of scale. The system is now more speedy, clenaer and more stable than before. Also the bindings to the game scripts have been improved to allow better debugging visualization while developing the game scripts.

Improved World Editing

The IGDE Game Definition received now support for custom defined Class Hiding and Class Partial Hiding. It is now possible to defined tag lists for classes to fully or partially hide them while editing. The world editor provides a list of all hidding tags found in the current game definition. If a class hiding tag is set all elements with the affected classes are fully hidden from the edited world. If a class partial hiding tag is set all elements with the affected classes have their visual representation hidden but not their effect. For example if the "light" tag is set all light classes hide their light bulp box and are not selectable any more but their effect (the lighting) remains active. This allows to switch on and off custom sets of objects while editing the world reducing the clutter. I'm using this also as a quick preview mode.

IGDE Game Definition Class Hiding

GPU Skinning Improvement

With this topic I would like to stay a little bit. GPU skinning is the process of transforming models to render on the GPU instead of the CPU. GPU skinning in general suffers from various limitations (limited animations, limited model parameters or tricky batching) and the result are inaccurate (incorrect normal/tangent calculation). For this reason the skinning had been opimized CPU side so far. Over the year change I've experimented with ways to get the skinning on the GPU without the existing problems if possible. Out of this resulted three ways to do skinning the player can choose from.

The first is CPU Skinning. This is the slowest solution to choose from but is 100% accurate and serves as reference implementation.

The second is Accurate GPU Skinning. This version does all the complex CPU skinning calculation on the GPU using a combination of Transform Feedback and TBO Rendering. The calculation is nearly as accurate as the CPU version but faster. Brings the calculation time down to estimated 35% of the CPU version. This is the second best choice for players and usually only an option if the accuracy is really required.

The third is the Approximate GPU Skinning. This version is a short-cut version of the Accurate GPU Skinning. The basic problem with skinning is that while transforming positions is accurate transforming normals and tangents is not. To get proper normals/tangents you have to calculate face normals/tangents (from transformed vertices) and then sum up the normals/tangents over all face corners. This is the correct way and what the accurate methods are using. The approximate version just uses the weight matrices to approximate the correct normals/tangents. This is faster but results in errors if weights have certain characteristics. For example if a triangle runs across two bones and they just translate not rotate transforming normals/tangents with them lacks rotation. This result produces incorrect normals/tangents which can negatively affect physical rendering. Most of the time though you have models not showing this problem that much. Compared to the CPU version the Approximate GPU Skinning reduces calculation time down to estimated 11% while supporting all kinds of complex and large models without any restrictions. In general this method is the best choice for players.

Using the improved GPU skinning the number of online NPCs can be raised to make the life of players more interesting. But this is not the end of optimizations. I'm going to crank out more online NPCs in the new couple of days.

Media RSS Feed Latest Video
Games
Epsylon

Epsylon Epsylon

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  (10 - 20 of 88)
HeadClot
HeadClot Jan 3 2014, 2:54pm says:

When is this going to be released?

Just curious :)

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

+3 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. :)

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

+3 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?

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

+2 votes   reply to comment
HeadClot
HeadClot Feb 18 2014, 3:08am replied:

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

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

+2 votes   reply to comment
Metalloid
Metalloid Feb 5 2012, 8:40am says:

This is a gem!
Many good features here, nice!
Another important feature of this engine is that you will be able to use it for linux game development too.

+2 votes     reply to comment
masternerdguy
masternerdguy Oct 9 2011, 6:29pm says:

"Open standards and free file formats ensure unrestricted and easy modding using free software applications"

Dragonlord, you're the man.

+3 votes     reply to comment
Cnaff
Cnaff Aug 12 2011, 2:47pm says:

I've said it before, but to me it seems like this engine is all about gameplay instead of graphics. And the gameplay looks like a lot of fun, love it!

+1 vote     reply to comment
CMDKeen
CMDKeen Jul 16 2011, 6:14am says:

Wow, I'm out for a while and suddenly a great update!

+1 vote     reply to comment
andy1318
andy1318 May 12 2011, 4:29pm says:

I have high hopes for your mod, I remember seeing it years ago. It looks great, keep it up!

+1 vote     reply to comment
Dragonlord Creator
Dragonlord May 15 2011, 9:10pm replied:

It's actually a game not a mod. It's not based on any existing game but is standalone.

+3 votes   reply to comment
Oktyabr
Oktyabr Apr 2 2011, 11:54pm says:

Nice looking so far! Hope to see something in the way of a beta someday :)

--fellow blender and linux user

+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 embed code provided (more).

Drag[en]gine
Drag[en]gine
Statistics
Rank
110 of 703
Last Update
3 months ago
Watchers
186 members
Games
1
News
56
Features
8