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.
Long overdue news post mostly about editor features.
Posted by Dragonlord on Sep 8th, 2009
The update this time has been delayed by a significant time especially due to personal reasons which We're not going to talk about further here. See the blog post for more informations ( will be deleted 1 week later ). But no matter what hard blows smack you down you have to keep going and we keep on working on this project. Eventually we got around to put together another news post with informations about what is going on. And here it goes in no particular order.
Culling is always a hard job and especially in the Drag[en]gine with the open design aggressive culling is required to keep the frame rates at an acceptable level. Many engines can only handle one scene type well either indoors or outdoors but not well both at the same time. The Drag[en]gine has though the goal to seamlessly blend outdoors and indoors scenes without transitions or other hacks. For this more culling tricks have been mustered up improving indoor rendering a great deal. The improved culling removes outdoor scenery a lot more aggressive than before. You can therefore place highly occluded indoor scenes next into detailed outdoor scenes without slowing down. The transition areas are still a bit more tricky but we keep working on it.
Decals have been part of the Drag[en]gine since quite some time now but handling them in the world editor has been a chore so far. This has been now remedied by reworking the decal system on the level of the game. Like many other parts the decals are handled on two levels. On the engine level the decal support stays the same as before. On the level of the game scripts as well as the world editor the system has been changed. Now decals are world placeable objects. This makes them easier to use since they now automatically spawn across all the faces in their area of effect not just one particular terrain element. For this the editing mode has been changed as you can see in the image below. Decals are now handled like any other object with a position, orientation and size. The decal is automatically projected by the Graphic and Physics Module onto the geometry below they way the can use it best. While adding decals they align automatically with the surface below or you can force them to face to the camera pressing the shift key. Furthermore while moving decals you can press the control key to keep them sticking on the underlaying surface. This way of handling decals is better suited than surface oriented techniques since in the Drag[en]gine terrains are allowed to have holes and inside holes surface oriented techniques fail to work. This system here does work always.
Object dropping by itself is nothing new but not every editor has a usable implementation for this task which can be a nuisance. The World Editor now supports dropping multipe objects on the ground below. While doing so any terrain element or object in the scene serves as surface to drop upon. As an additional twist automatic stacking is supported. Dropping multiple objects residing above or below each other stacks them properly while dropping them to the ground. Creating scenes with a lot of stuff littering around on the ground is very easy this way. Certain object classes act as ghost objects so they will not get objects stacked on top of themselves. Physical dropping will be added later on. The image below shows the new system in action.
In addition the adding of objects has been improved. Using a separate Add Mode objects can be placed in the scene by simply clicking on the right spot. Objects are then placed where the ray through the clicked at point intersects terrain geometry or other objects. Furthermore pressing shift while clicking aligns the object with the hit surface which can be pointing anyways including downwards to stick objects to the ceiling or walls. You can also duplicate already created objects to quickly fill a scene with props.
So far the world editor had a textual element browsing feature. Since though many requested a graphical browser we mustered up some time to do a proper and useful graphical browsing. The main goal in the IGDE is not to be a graphical monster like some AAA editors are but to be professional meaning with a clean UI designed for fast and efficient working. After all huge graphics can't make your mapping live easier but a clever UI can. One major design guideline to achieve this goal is to use native OS resources where possible for the UI instead of rendering everything with the game engine. This allows mappers to work with their native OS UI instead of having to deal with often chaotic game engine UIs which are inadequate for efficient editing.
The new graphical browser follows this guidelines and uses native OS tools but combines them with engine rendering. The preview of the individual elements is rendered using the game engine itself which is easy to do since the Drag[en]gine supports multiple worlds rendered and manipulated at the same time. The result is cached on disk once rendered. Therefore you do not have to pack preview images into your game SDK blowing up the file size as the preview is build dynamically on the mappers computer on demand. Multiple preview resolutions are supported including the old text only listing for those looking for efficiency. In contrary to the dialog based text browser the new graphical browser sits now in the side panel alongside the other editing panels embedding it neatly into the overall workflow.
Currently the browser supports showing Object Classes, Terrains, Skins, Skies and Decals. The same filtering possibilities as with the dialog based browser can be used. Hence you can filter objects by selecting a category or filtering them by selecting from a list of tags. Especially the tags based filtering is very powerful since you do not have to know which category an element resides in but only its traits. The image below shows the new browser in action with a few states.
The browser can be used in various ways. Double clicking on an element assigns this to the current selection. To add new objects of a given type just switch to the Add Mode and click into the world. An object with the class of the selection in the browser is added. You can also right click on an element in the browser to obtain a list of actions you can do with this type of element. This allows also to edit it in another editor once this feature is fully implemented. All in all this graphical browser is a very powerful tool. If you know something which other browsers can do which you think is important let us know so we can add it. After all we do this product for you, the mappers out there, not for our piggy bank ;)
There are always smaller changes which are not worth an own topic or even a news post itself so they get grouped here. The Semi Point Lights obtained a few tweaks to make them fully usable now. They can be now oriented into any direction as well as their shadow parameters tweaked. On the code side a first code clean-up batch has been done to get more code into a releasable shape. With the first release the code will not stop from evolving but at some places there are still code relicts lingering around.
Good stuff is ahead of you. We decided to make a Special for the next news post if everything goes according to plans. The idea is to cook up a demonstration world showcasing the features of the engine where possible. This will be recorded into a video for your viewing an informational pleasure. So stay tuned for the next news post.