The Drag[en]gine is a fully customizable game engine and game development environment designed with modularity and extensibility in mind not requiring expensive licenses.

Report article RSS Feed OpenGL 3, Holo-Comps and Demo-World

Lots of code work for OpenGL 3 usage and nifty holo-computers as well as the demo-world.

Posted by Dragonlord on Nov 28th, 2009

The last couple of weeks had been marked by reworking the OpenGL Graphic Module to bring it up to OpenGL 3 level. Besides the demo-world got worked one. More about this though later and like always one topic at the time.

OpenGL 3

OpenGL 3 is the new standard of OpenGL rendering and is marked especially by a tremendous breakage with old traditions. Many projects claim to use OpenGL 3 but in truth they are not. There exists a compatibility profile which makes OpenGL 3 look and feel like the older version. While this is fast to do and gives you news mileage it's a damn lie straight into the face of your watchers. Here this is different. A lot of time has been spend to rework the rendering system and the shaders to be truly OpenGL 3 taking advantage of what it has to offer. This especially means that the current OpenGL module will be only compatible with OpenGL 3 and not below. For this a different module will be made later on. This guarantees proper code and rendering instead of half-baked solutions. Not all shaders are reworked but a large part is. One of the nice effects of this rework process is clearer and faster code.

In the wake of this rework all light sources have been reworked too. This means that all light sources cast now shadows with noise-pcf and work with improved shaders. Also the occlusion culling of lights has been improved to cull invisible lights more aggressive. Since aggressive culling is required to keep a steady framerate additional world occluders have been added which the mapper can place explicitly to block visibility between geometry on a large scale. They are optionally and are not required to be used. With all these added culling facilities the speed is more constant inside complex geometry. More optimizations are being worked on.

In addition render targets as they are used for dynamic skins have been improved to allow different color component counts ( 1 to 4 color components ) as well as different bit count ( 8, 16 and 32 for float rendering ). With this the new holographic computer displays have been implemented for testing purpose. An image can be found in the image gallery as well as in some web directory ( see image comment ).

Holographic Display Computer Terminal

Demo World

The demo world has been a topic since a couple of news posts but got delayed by various bugs which had to be fixed first. The demo world serves as a showcase of the possibilities of the game engine as well as a for benchmarking and reference purpose. Reference purpose means so module makers have something to test their modules with as well as game developers having some samples to help them on their way. This demo world constains currently just a few rooms with some demonstration parts inside. More will be added one by one to get a concise representation. The demo video thereof became a bit large ( 105MB and 16 minutes playtime ) so it is unsure if it can be posted ( too large for my video host and ModDB doesn't seem to take it either :( ) . Once it somehow works out it will be available here. Otherwise you can find some images of the demo world including some additional information's by clicking on the overview image below.

Demo-World video ( should work now... hopefully ):

Smalltalk Module

An old rule says that a programmer who doesn't know Smalltalk can never be a true hacker... and this is true. Smalltalk is the mother of all object oriented programming languages and has influenced the existing programming languages in a way like no other language has. Hence I could not resist to make a Scripting Module which allows you to program games using Smalltalk. The modules contains only the barebone right now as a proof of concept but a sample hello-game could be already implemented with it. Adding the rest to make it complete is just a matter of time. This way you have, once all are fully finished, 3 languages at your displosal showing well the flexibility of the game engine: DragonScript, Python and Smalltalk.

IGDE and Epsylon Game related changes

The IGDE obtained some changes so object properties altering the model, skin or rig show in real-time in the editor. This allows to work faster with user created content not covered by the game definition file. Furthermore the Element Classes in the Epsylon Game have been modified to expose model, skin and rig properties. This way a mapper can place objects in the scene from existing game classes and can change the model, skin or rig using a mere text property referencing the user created files in the file system. This makes modding very simple and fast and allows prototyping since new stuff can be tested on the fly with full game code without having to touch code or introducing new object classes.

To deal with the holographic computer shown in the demo world the script classes for computer handling have been improved. Gui Themes ( as they are used on in-game computers ) can now be defined using XML files. Also new properties have been added to computers to allow customize them in a simple way. Furthermore all GUI related Gui Themes ( main menu, in-game menu and many others ) can now be defined and customized using a game-modification XML file. Hence as long as you do not have to alter game mechanics you can mod the game just using a bunch of XML files. This has been done to allow also non-coders to quickly test new ideas, models and maps without having to dive into code.


With the demo world up and kicking we can eventually move on to implement the rest of the features not fully included or coded yet. Upcoming is improving the 2D rendering part. So far this is handled without shaders as this is the oldest code in the engine. Once this is done the shader system receives an overhaul to allow defining more custom skins. Another big work place now will be the renderables. The old code is not as flexible as we want it to be so a little overhaul will be done. As a result dynamic skins will be possible everywhere through the game engine so developers can unleash their full creative potential. Once these graphic parts are done for we can hopefully give the audio system some push. It's still rather juvenile and while working there's room for a lot more. So stay tuned.

Post comment Comments
Croco15 Nov 28 2009 says:


+1 vote     reply to comment
Metalspy Nov 29 2009 replied:

Lol.. dude..

+1 vote     reply to comment
SinKing Nov 29 2009 says:

Technically this is getting really good. Great thing with the tranlucency and dynamic shadow. However, I'd be looking for an artist to give the game more character. Right now it is unique in its idea, but not in the looks.
Of course this is still early, but if you get a good artist on board he might create a much better scenery to fit with the mood of the game. It can all get a bit clinical at times.
However, Gutta cavat lapidem, you're doing impressive work here.

+1 vote     reply to comment
Dragonlord Author
Dragonlord Nov 29 2009 replied:

In fact getting artists is the biggest problem I'm facing. It's next to impossible to find somebody who is willing and flexible enough to work with an entire new engine.

+1 vote   reply to comment
Jokerme Nov 29 2009 says:

There is a problem with the sound in the video, I'll wait for you to fix it (if you will) to watch the video. I really want to hear what you are saying there.

Everything else looks good though.

+2 votes     reply to comment
TKAzA Staff
TKAzA Nov 29 2009 says:

yeah video sound is screwy dl

+1 vote   reply to comment
Dragonlord Author
Dragonlord Nov 29 2009 replied:

Sorry for the sound but I can not test the video on ModDB since their player is again broken showing no video so I had to hope it worked. I'll try to fully re-encode the video. Quality will most probably degenerate in this but hopefully it works. Maybe the encoding on ModDB messed it up since the original video works with proper sound.

+1 vote   reply to comment
Betelgeuze Nov 29 2009 replied:

Maybe you could upload it to youtube and add a link to your newspost :)

+1 vote     reply to comment
Dragonlord Author
Dragonlord Nov 29 2009 replied:

Unfortunately I can't. YouTube hates me. To create an account I need a google account which I have but when I try to attach youtube to it it tells me I don't have a google account... yet if I try to register it tells the account exists. So it's a no-go. I'm using MyVideo instead but more than 100MB videos are not allowed so I'm blocked there again.

I did now re-encode the video and am uploading it right now. Let's see if it works this time.

+1 vote   reply to comment
Betelgeuze Nov 29 2009 replied:

its works now, great!

+1 vote     reply to comment
Kamikazi[Uk] Nov 29 2009 says:

Looking good. Nice engine it's starting to take some shape. I think you guys are putting a lot of work in to compete with other bigger indies like overgrowth and natural selection.

+1 vote     reply to comment
Ark_ Nov 29 2009 says:

Nice work, im liking the look of this engine. Also its nice to see a game that features dragons, and playing as a dragon is great. So keep up the great work :) . Needless to say im tracking.

+1 vote     reply to comment
awesomepossum Nov 29 2009 says:

Very impressive

+1 vote     reply to comment
AJ_Quick Nov 29 2009 says:

Very cool!

the computer screens at the end were especially awesome :)

+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
Report Abuse
Report article
Related Engines
Drag[en]gine L-GPL TBD
Related Groups
Indie Devs
Indie Devs Hobbies & Interests group with 1,231 members
Team Epsylon
Team Epsylon Developer & Publisher with 2 members