Post-mortem

This Ludum Dare was far more frustrating than the previous one.

My game idea was somewhat more ambitious than SEEK*TOR, but what really killed my progress was trying to use flixel for something it’s not suited for. I spent most of Friday and Saturday trying to bend and hammer flixel into doing what I wanted it to. I managed to code some work-arounds, but I felt like I was doing twice as much work as I should have been.

The game I wanted to make had you swimming around a world as an aspidochelone, or asp-turtle. You would start out small and eat fish and other sea creatures, slowly growing bigger. There would be ships and sea monsters floating around, which you could ram to make them drop their stuff if you were big enough. Once you got big enough, you could start picking up rocks to build an island on your back. With an island, you could pick up people and have them build a village on your back to help you out. There would be different resources that would encourage your villagers to specialize and give you different bonuses, like faster movement, stronger weapons, faster growth, etc.

The two features that I really had trouble doing in flixel were scaling and rotation (specifically, collision detection while scaled and rotated). Given that I had a turtle swimming around in a top-down view, growing as the game progressed, this made things pretty difficult. Also, I kept needing groups of things to move and rotate together, which FlxGroup isn’t quite set up to do. (FlxGroup is very good for pooling objects so you can re-use them. It’s not so good for moving multiple objects as a big chunk.) A minor annoyance that I kept encountering was the fact that it’s difficult to create an object that’s only for display and doesn’t have all the physics-y stuff attached.

With about 18 hours left, I finally decided to toss out flixel and write my own engine from scratch. That consumed the rest of Saturday and a big chunk of Sunday. Getting movement to work was no problem. Switching over didn’t take me too long either, since I tried to match flixel’s organization as I coded my engine. The real headache was getting collision detection and handling to work. I have variously had islands shoot off behind the turtle when touched, trap the turtle and prevent further movement, and stick to the turtle like glue.

So, I didn’t manage to finish my game. On the other hand, I now have a half-way decent first version of my very own game engine!