You developed the engine, and all the tools that come with. I even read on an interview you’ve done (with peer Indie Retro News — Ed.) you had developed a bot to play the game for you!

In an era where dev. environments as Unity or Unreal Engine make the task easier, you wanted it all tailor-made. That’s no small feat!

What are the perks from building your own engine, and what were the difficulties you’ve encountered?

We used LÖVE as groundlayer. It’s an open source game engine, handling drawing, sound aso. But that’s it. There is no game engine inside…not even a gui-system or any editor.

When we started, Unity was still very young and not really stable. We could have switched after maybe three years, but the engine was already complete at this time.

As the game is really big (thrice Legend of Grimrock) and every change could possibly add new bugs, we needed to test the game over and over again. We did this for 1–2 years but I realized that it’s very inefficient and we don’t find bugs like …opening this door 1000 times may crash the game. You know, these tests people just don’t do. So I wrote a small unintelligent bot who plays the game randomly. This is called fuzzy test. The bot can play the game from start to end…the only thing where I need to help it is the puzzles. Randomly it would take too long to solve them. The bot also doesn’t play the game very intelligently. In the end, It is dumb. It plays the same things over and over again and it cannot die.

But what it tests is the stability of the game, making sure that it’s completely without crashes. It is also 10,000 times faster than a human, but takes a lot more time to complete the game (about 44 hours).

But all this is no problem, as we can run it on different pcs than those we use for development.

I also wrote statistical tools to analyse our levels and spawned npcs, because in such a big game you have to do a lot of balancing and analyses. Really…a lot!

In addition, I wrote my own parser for twine and enhanced twine for conditions and results which are used to do choices in our story.