First preview of DarkMotion and Character animation system

Here’s a video of the first preview of the character animation system in v0.5.0 (WIP), featuring DarkMotion Tool, still missing some features like root motion, and events. We are working on it …
Sorry for bad art and animations, It’s just for test and we don’t have any artists.

Direct link:

Posted on April 23, 2014 at 8:30 pm by sepul · Permalink
In: Animation, News, Tools · Tagged with: , , , ,

RaspberryPI experience

It’s been a while that I’m experimenting with RaspberryPI device.

I have also started a child project from darkHAMMER which is called darkHAMMER-lite. As the name suggests, it is a lite version of darkHAMMER engine which includes GL-ES only graphics API and runs on ARM devices (including RaspberryPI).

Currently I’m porting the engine’s 2D only stuff to it, and test it on raspberry, and so far it’s been a lot of fun. On this state, the engine supports 2D primitive drawing (2d canvas, rectangles, gradients, lines, alpha blending and bitmaps), multi-threaded texture loading (png, jpg, dds, gif, tga), Direct drawing (no need for X11), direct input device enumeration and usage.

I’ll open the repo on github as soon as It’s more polished

Running darkHAMMER-lite on RaspberryPI (2D graphics test). FPS is shown on seven-segment device, just for the fun of it.

Posted on April 7, 2014 at 5:32 pm by sepul · Permalink
In: Misc, News, RaspberryPI · Tagged with: , ,

Moving to GitHub

I have moved the project to github in order to benefit from greater community and also change the source control to git, so here is the link

Current version is 0.5.0 which brings up multiple improvements over previous one:

Here’s an example of what python code looks now, this snippet initializes the engine and a scene, and loads a camera and couple of objects (a ground and a soldier with animation controller) into the scene:

from dhcore import *
from dheng import *
Log().console_output = True
conf = Config()
conf.engine_flags |= EngFlags.DEV | EngFlags.CONSOLE
    Engine.init('test', conf)
    testdata_path = os.path.join(Engine.get_share_dir(), 'test-data')
    s = Scene('main')
    obj = s.create_object('main_cam', GameObject.Type.CAMERA)
    obj.add_behavior(OrbitCam(), 'cam') = True
    obj.transform.position = Vec3(0, 5, 0)
    obj.get_behavior('cam').target = Vec3(0, 1, 0)
   obj = s.create_object('ground', GameObject.Type.MODEL)
   obj.model.filepath = 'plane.h3dm'
   obj = s.create_object('soldier', GameObject.Type.MODEL)
   obj.model.filepath = 'soldier.h3dm'
   obj.animator.filepath = 'controller1.json'
del conf
Posted on April 7, 2014 at 5:08 pm by sepul · Permalink
In: Core Design, Gameplay, Misc, Tools · Tagged with: , , ,


Version 0.4.7 is finished and merged with the tip. The next milestone will be version 0.5

Here’s some changes from 0.4.0:

In the next version, I’ll be focusing on polishing and testing character animation controller, Physics joints, Initiating multi-threaded task manager and moving some workload (including loading resources) to other threads, A flexible GUI system and improving the lighting system.

Posted on December 17, 2013 at 8:01 pm by sepul · Permalink
In: News · Tagged with: , , , , , , ,

Progress news

It’s been a while that I haven’t updated the blog. For couple of months, we have been busy with other projects and bunch of other stuff, including me. But for the last 2 months we’ve been working on the engine again and it’s going pretty well.

I’m currently working on the branch 0.4.7, which brings alot of changes, the most important one is engine’s Character Animation System which we are reaching it’s first release. I’m developing the engine side coding and Amin is working on the Animation editor tool and .NET wrapper (Which is another open source project itself). The system roughly mimics the Unity’s awesome Mecanim tool.

I’m also preparing a wiki and couple of tutorials, and update the reference docs. Hopefully branch 0.4.7 will be finished within a week or two. So until then, so long …

Posted on December 6, 2013 at 9:37 pm by sepul · Permalink
In: News

It’s becoming ALIVE!

Good news, the project is rolling to version 0.4.6 and becoming more alive …

It’s no one man project anymore, we now have two more developers contributing to the project:

The new website for the engine is also up, check it out.

Animation editor prototype

dark-hammer running on OSX

Posted on August 1, 2013 at 5:37 pm by sepul · Permalink
In: Graphics, News

Initial physics test

Physics sub-system is setup and integrated in the engine, I have integrated nVIDIA’s physx 3.2 sdk into the engine. It is abstracted as phx_device, So in the future, 3rdparty physics could be replaced if necessary. Currently the basic rigid body is implemented. By importing Physx data files (RepX) (which can be used for other physics engines as well), all shapes including cooking of triangle/convex meshes with their transform, properties, etc. are supported.

In the video, you’ll see two scenes, first scene is rigid-body soup which dozen of rigid bodies are spawned and the script do random impulses to object (well, to make it look more chaotic).  Second one is a domino effect scene which simulates a spiral domino scene.

Posted on June 10, 2013 at 8:21 pm by sepul · Permalink
In: News, Physics · Tagged with: , ,


I’ve finished working version 0.4.0 of the engine, in this iteration, I mainly focused on rendering optimization methods.

Whats new ? :

In the current demo, I stress tested with a lua script by calculating path movement of 150 objects in the scene, which should be handled by engine’s animation system in the future.

v0.4.0 demo script

The binaries (for windows) can be downloaded at:

I have also uploaded a new video demonstrating web-based profiler and memory monitor tool:

Posted on May 19, 2013 at 2:38 pm by sepul · Permalink
In: News · Tagged with: , , , ,

Content creation and hot-loading

What this video demonstrating dark-hammer’s immediate content update and hot-loading capabilities.

Currently, resource manager implements hot-loading for all resource types like, models, textures,animations and scripts. h3dimport-gui tool is also updated with hot-loading. so there will be automatic mesh import/texture compression whenever anything changes in modeler/photoshop.

Direct link:

Posted on May 14, 2013 at 5:00 pm by sepul · Permalink
In: Core Design, News, Tools

First Documentation

I’ve published the first documentation for API reference:
It’s still very incomplete, I’ll improve it overtime, and right now, don’t have much time for docs.

Core library:

Engine Library:

Posted on April 29, 2013 at 8:38 pm by sepul · Permalink
In: News