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.
What have dragons lost on a wake-board? Well... read on if you are curious to know :P
Posted by Dragonlord on Dec 18th, 2009
The last couple of weeks had been not in our favor especially not in my favor. I tried a couple of optimization tricks ghosting through my mind but hit a couple of brick walls shattering most of them. Some though stuck which gave at least some progress in these otherwise frustrating weeks. And one of them are dragons on a wake-board and dragon dolls which though I spare for later ( or you crawl over my youtube profile as you can find them there ).
The graphics module is one receiving a lot of work time since it consumes the most performance. It is therefore vital to squeeze as much speed out of this module as possible since graphics are not the only parts of an engine competing for the scarce frame time. I had a couple of ideas to optimize the speed and ended up disappointed with many of them. It seems as if I've hit the speed limit of what my card can junk out without reducing visual fidelity. This should buy us now enough time to push out the engine in a first release and to bother about further optimizations later on. Some stuff though still stuck and will be therefore mentioned here.
A couple of videos ago we showed the dragon locomotion system. This contained also tilting the body up and down to align the dragon with the ground below. This though worked only for the up-down case but not sidewards tilting. Furthermore testing such animations had been a chore as you had to walk around in simulation mode all time. This has been now changed.
First left-right tilting has been added to the animation code. This way now the dragon can tilt properly in up and down as well as leaning sidewards while on a left-right aligned slope. The feet have been modified too to align with the ground. This code is rather generic working for all 4-legged creatures where the 4 legs are located under the body like with a dragon. To test the animation better the Animator Editor received a new testing mode, the wake-board mode. If this mode is enabled a plan is placed under the character. This plane can be interactively tilted up and down as well as left and right up to 30 degrees. This way the reaction of the character to different underground slopes can be tested and improved. The first video shows the wakeboard mode in action ( youtube version ).
The results are not yet top notch since the inverse kinematic code is still rough around the edges and still fails at certain situations. Furthermore all the body tilting is done only using procedural animator rules. For optimal results animation sequences for different tilting situations have to be created and blended together. Using procedural animator rules though any kind of 4-legged creature can be quickly animated in a reasonable way without loosing time creating all the animations. Once the animator works properly the individual animations can be created and the result improved. The second video shows the dragon in action on a bumpy terrain ( youtube version ). Important to note is that although the body tilts around a lot the first person view is rock steady. Hence walking around on bumpy terrain your view stays where you want it to be and does not sway around. Yet if you use the chase or movie camera instead you get the results seen here.
There is still some work to be done on the graphic module. Not all shaders are changed to GLSL 1.3 yet. This is one of the next goals to modify them all. Another point of work is the sky light source. There are a couple of optimizations possible and required to improve speed. Another problematic point is the transparency. Currently a typical depth peeling approach is used but this is not the fasted solution on earth. I've got a quirky idea on how to deal with this but that requires some preparation work. This aside there is a lot of other work to be done before this engine is ready for a first release. So stay tuned.