Archive for the ‘Bachelor’ Category

Bachelor thesis finished

Saturday, April 30th, 2011

I am proud to anounce, that I have finished my bachelor thesis on april 11th. In the practical part now I developed a simulation of a crowded marketplace with autonomous agents that follow the behaviors: Wander, Idle, Sit, Buy something and dynamically start a dialog.

The simulation mainly uses the AI community solutions: Behave (AngryAnt), UnitySteer (Arges Systems) and A* Pathfinding (Aron Granberg). On top of these librarys I developed some extensions.

The main feature behind the scenes is a new Containment Behavior for UnitySteer, that now can handle Obstacles of any shape. I extended the original idea of the steering inventor Craig Reynolds to handle concave corners in the obstacle shape too. In addition to that it is now possible to define the container line for this behavior via the A* grid that is used by the A* pathfinding module. This way there can be made any changes in the world geometry while the container automatically adjustes its position.

I will give more insights of my work in the following weeks and intent to make a stable release of the Containment Behavior to share with the community.

MoCap for the Crowdsimulation

Tuesday, July 20th, 2010

In the past time I studied the workflow of recording, preparation and usage of motion capture data in the gameengine environment. Related to the planning and organisation of mocap-recordings this article seemed to me as the most informative as it covers the most subjects from conception up to working with actors.

At the moment I have to reduce the amount of necessary work for my bachelor thesis to get it finished soon enough. Because of that my last discovery came very situated.

The Carnegie Mellon University (CMU) hosts a big online MoCap database. The quality of the recordings mostly is really good.

I also found a version of this MoCap database that has been optimized for Motionbuilder on

After I had downloaded the files and tested some animations in Motionbuilder I had to find a way to optimize the animations for the gameengine:

That means:

  • positioning of the character on the origin
  • view of the character in negative z-direction
  • The movement of the hip-joint has to be fixed to the y-axis
  • The movement has to be cutted, so that it can be repeated in a cycle
  • The jitter between the last and the first frame has to be removed

For this requirements and a lot of more there is a very handy tool out there: bvhacker. Though its just for BVH-Files its exactly the right tool for the format I wanted to use.

After the loop has been created, the animation has to be allocated to the character. This is done fast now in Motionbuilder.

Bachelor Thesis Crowdsimulation

Monday, April 19th, 2010

I have explored the basics of artificial intelligence since the past few months. My interest in this area has lead to the subject of my bachelor thesis at the highschool Ansbach. Now I research the aspects of creating believable behavior in a game crowdsimulation. This work will be done in the context of the game production “Timekeepers”.

At first I will try to do the trick using the established AI-methods. Those are a hierarchical state machine to control the reactive behavior, behavior trees to control the behavior according to a plan and pathfinding and steering algorithms for a believable movement through the virtual world. My creative and technical challenge is to develop a concept that combines all the theoretic aspects in a way that lead to the goal of believable behavior in the context of of the gamedesign.

Beside the theoretical planning of the concept I want to develop a prototype of the simulation which proofs the functional capability of my concept or which could uncover possible weaknesses of the simulation. The animations used by the project will be recorded in the motion capturing studio of the highschool Ansbach.

For the whole project I will use the following tools:

  • Gameengine: Unity
  • Modeling: MAXON Cinema 4D
  • Image Editing: Adobe Photoshop
  • Animation: Autodesk MotionBuilder
  • Programming: Microsoft Visual Studio