New Game: TrackSurfer

April 29, 2013

Over the last weekend I participated in the 26th Ludum Dare Compo. The theme this time was “Minimalism” and I ended up creating TrackSurfer.

Here are some screenshots:
gameplay1 menu gameplay0





You can download the game from the TrackSurfer page:

That reminds me that I should create a page to our Global Game Jam 2013 game!

Blender animation: So What?!?

July 2, 2012

Last weekend I was working on the “Baker Animation Series” from to get some more insight how to do animations with blender. I worked through through parts 1 – 5 when I got distracted of making an animation myself. But see for yourself:



The basic idea for the “plot” was to have someone flying around until he realizes that someone is watching. He then stops flying and pretends as if nothing had happened.


code snippet: luatables simple access to lua tables from C/C++

June 5, 2012

The last two gamejams definitely convinced me that Lua is a very elegant, fast and easy to learn scripting language. Combined with the amazing LÖVE engine really cool things can happen.

When I created on my simple skeletal animation tool MeshUp, I thought that using JSON as a fileformat would be way better than XML as it is not as verbose and therefore easier to read. Also there is a nice C++ library for reading and writing JSON files.

However the syntax of JSON is actually fairly similar to Lua so I thought it would be a nice thing to have scripting powers in the model description files as it empowers you to even … script repetitive tasks!!!

The only problem was that the interface to get values from Lua into C can be a little counter intuitive as one has to interact with Lua through its stack. I do have to not here that the Lua stack is – just as the language itself – a very elegant way for passing data in and out of Lua’s virtual machine. But as said before it is not as intuitive when one wants to do simple things.

For this I hacked together a small set of functions, called luatables, that should simplify using Lua as a fileformat. There are of course various libraries already available, but I wanted a) get to know Lua a bit better and b) have a lightweight solution that does not add bloat or dependencies.

I published it under the (very permissive) zlib open-source license. You can grab it from:



New Game: Spaceship In The Sky With Colors

May 5, 2012

It’s been already about two weeks that the Ludum Dare 23 Game Jam is over and it is therefore also about two weeks that our game Spaceship In The Sky With Colors is finished. It is about a spaceship in the sky with colors.

It was created by michi and me and we are very happy with it. We have been wanting to make a game together for more than 15 years and we finally got something done.

I created a page with information and further links here: Spaceship In the Sky With Colors



April 23, 2012

I just composed my first piece using Milkytracker. Yay! The song is going to be used in our #LD48 entry.

And here it is: [audio:|titles=flowerplant]
Here is a link for the download: flowerplant.ogg


RBDL logo and online documentation

March 20, 2012

Some days ago I created a logo for my dynamics library, a.k.a. RBDL – the Rigid Body Dynamics Library. Here it is:

The official website is now: (so far only online documentation)
The official repository is now:



Realistic Asteroid done in Blender

March 18, 2012

I just finished a tutorial that I always wanted to do from, called “how to make a realistic asteroid” made by Andrew Price. You can find it here: And this is my result: I am very happy with the outcome and I learned a lot! Blender is absolutely amazing! The tutorial was a bit quick at some parts, but was also a very nice introduction to the compositor in blender. Just as a reference, here is the image without any compositing: and the actual compositor looks something like this: The final .blend file can be downloaded here:


I Hate Myself Love

January 30, 2012

Last weekend, I participated in the Global Game Jam 2012. Together with Jonathan Wehrle, Tilmann Hars I made this game within 48 hours. We are very happy with our submission and you should definitely have a look at it. Also, feel free to vote for our game at

We used LÖVE a super awesome 2D game engine that lets you make games extremely easy. It was wonderful to work with it.


The original submission can be found at:

An updated version with smaller bugfixes can be downloaded here:

*Please note you need LÖVE version 7.0 (at least) to run the game under Linux/Mac/Ubuntu/Whateverix. It can be downloaded here:


Source code and assets can be accessed through github at


Jonathan Wehrle – Code | Martin Felis – Code, Art | Tilmann Hars – Code, Music


January 11, 2012

Last week I started working on a small, yet powerful visualization tool for animations or more generally spoken for any multi-body simulations. It is based on skeletal animation and magic and is called MeshUp!.

The frames for the skeleton are defined in a JSON file (thanks to jsoncpp this was relatively easy to implement). In the same file meshes can be attached to the frames (e.g. some random monkey head to the “Head” frame, etc.) and are then moved with the head bone.

The meshes themselves are Wavefront OBJ files that can be exported by nearly every 3d content creation package. I wrote the importer in about 2 hours which surprised me. I feared that to be a lot more of a hassle.

Furthermore it finally made me play around with Quaternions a bit more. Turns out that they are not as hard and are actually quite efficient. Before that I used some matrix calculations for the rotations but with the Quaternions I basically have the same usage but about 10% performance gain (not that it would matter, but it surprised me a little). The biggest problems I had, was that in my computer animation reference book a formula for a conversion had a typo. Thanks to test driven development this was easy to debug and will not occur in the future! Yay!

Oh, also it is coordinate system agnostic. Meaning you can use whatever angle convention you like! ZYX Euler? Sure! YZX Euler? Why not? Just define the proper coordinate system and rotation order in the model file and that’s it!

I published MeshUp! at bitbucket account. You can download the source at:

So far I havent’t decided on a license. Any suggestions?



Android Programming – First Try

December 30, 2011

Today I felt a bit daring and thought I’d try programming for android.

Here is the result: the NerdRomanceHelper.apk.

Here is a screenshot:

I’ve tried it, it works!