TYRANOFORCE Code Post-Mortem

tyranoforce screenshot

What Went Right

  • Having the best artist/roommate ever.
  • Flixel – I’d never used it before, but I knew it by reputation.  It’s definitely a Game-Jam Tool – not a tight, cogent application framework, but a giant box of features thrown together and made as available as possible.
  • Tight concept.  As soon as the idea of a reverse-schmup was well-articulated every design decision was easy.
  • Boids/Flocking-Based AI.  It creates a natural motion that’s still very easy to control and constrain.

What Went Wrong

  • FlxGroup Object Pools.  I was constantly leaking and spent too many cycles trying to puzzle it out.  I yanked it and replaced it with a linked-list solution in less time that I spent pointlessly poking variables in the debugger.
  • Alpha-Beta-Pruning-Based AI.  Before flocking, my first attempt was to create a “perfect” AI that would only get hit when cornered, never by mistake.  The code was very complex and didn’t work very well, and the motion was jerky and unaesthetic.
  • No threads or coroutines in ActionScript – lots of switches and ad hoc state variables.  What is this, the 90s???

Thanks for reading – now go play it!

Special thanks to my roommate Freddie “blob” T for the opportunity to make a sexy-looking game!

 

Tags: Flixel, postmortem