Spirit Aerie

Spirit Aerie is my second competition entry in the Ludum Dare game competition.

In this game you star as a friendly ghost, whose task is to gather animal spirit from the harsh desert and nurture them in your Aerie. If you nurture them good, you will make the desert green, and when the entire desert is green you win the game!

Press the screen to play!

SpiritAerie Flash Game

Source code and assets

In the zip file you will find the complete project with source code and art assets (gfx and music). You will need HaXe, OpenFL and HaxeFlixel (and also probably FlashDevelop) to compile from the source. Follow the getting started guide at HaxeFlixel to get the setup working.

Download .zip (2.7 MB) 2014-08-24 (Competition Version)

Ludum Dare Theme

The theme for the 30th Ludum Dare Competition was "Connected Worlds".

This time I was a bit more prepared than the last time, so I made up a list of game ideas that could work for the different themes on late Friday night. My connected world theme was pretty basic: I wanted to make two puzzle games that were connected somehow, so what you do in one 'world' affects the other.

Here's a list of my other ideas for the other themes:

As one can see that last two themes sort of inspired the "ghost" of the connected worlds theme. Also I wanted to interpret the 'world' as something less literally a world (like Ice World, Fire World, ... , Demon World).


This entry had a lot more code than the last one. Haxe and HaxeFlixel served me good, delivering a fast compilation-run cycle as promised.

I tried to incorporate Spine in the beginning, but the current FlxSpine implementation seems to lag by a few version numbers and can't load the current files. So I had to scrap the Spine workflow I had anticipated and had to resort to classic sprite sheets. Maybe I'll try that one the next time, or switch to libgdx.

Content creation

During the last hours I just laughed in desperation as saw an unrecognisable pear-shaped blob that looked like melted black scribble - and that was meant to resemble the time keeping hourglass! I took that as a sign that I ran on fumes and perspiration alone ... and maybe, just maybe it was time to take a break and venture out into the outside world and get some real food.

This time I did not bother to record any sounds and samples, I spent way too much time making the 3 songs. Also it would be nice to try a more silent game with less fx. Well I guess the future me will tell if I miss that part. But then again: it is really tough to create so much different content in such a few hours.

Also this was the first time I could try out my newly purchased copy of Filter Forge, and I must say it was a HUGE time saver. It turned out some very hasty 3D-location scribbles in SketchUp into some more usuable graphics. Sadly it was a bit hard to do anything more polished in less than 48 hours. I guess I'll incorporate this software more closely in my workflow in the future.

Further Reflections

I took this competition a bit more seriously than the previous one. I tried to work a bit more on the game balance and the game logic, but the puzzles need a bit more obstacles and limitations than now. And I am a bit bummed that you really can't 'Game Over' in this game. It seems like you have to choose one or the other when you have such a short time: either you focus on content creation or on game logic/balance. Another solution is probably to borrow the entire mechanics/balance from some other system/game and focus on content "skinning".

Doing it a bit more seriously was way more stressful, and I am not sure how I will tackle the next competition. Anyway, it is really nice to have done something more complete yet again, and that is well worth it.

Reflections after voting and results

Now, a few months later, it is nice to revisit the project with a fresh mind and less emotional attachment. I did spend way to much time on content creation (gfx/music) and ran out of time/steam/geist to make the game rewarding and well balanced. For the next competition I think I will try to do something more abstract and more focused on game mechanics.