Viral Post Mortem
Viral – Entry
Viral represents my first entry into the Ludum Dare. I’m quite pleased to have actually finished it. I’m not entirely pleased with the results, but I will bring that up in the What Went Wrong section of my post mortem. The objective of Viral is that the player is a Virus and has to run away from the big scary anti-virus programs. To assist with the virus’ flight, the player has the ability to lay two traps which hinder the pursuing anti-virus programs.
I chose to complete the Ludum Dare in AS3, using Adobe Flash CS4 as my IDE. I ran into some rather annoying issues during development, including the debugger no longer attaching itself to my game when I tried to debug. Unfortunately, I didn’t really have the time to figure out why. This particularly was painful, as many bugs that could have been caught much more quickly relied on the ‘ole debugging standard of dumping trace messages to the screen.
I have plans to clean up and further develop the game. I feel as if it has a strong base and a good potential to be fun with (much) more polish.
What Went Right
Planning
Surprisingly enough, within 30 minutes of the theme being announced in IRC, I had already determined what the game play was generally going to be. I was able to get a significant amount of code done Friday evening before going to bed. This was instrumental to being finished on time.
Productivity
This sounds funny, but I started from scratch. No base code or libraries were used. This meant I had a lot of work to do. A lot. I was able to get it all done. I ended up writing just a silly amount of code on Saturday. I had generally high productivity through-out the entire 48 hour period. This was the sole reason as to why I was able to actually finish on time.
What Went Wrong
IDE
Maybe I’m just spoiled by Visual Assist X and Eclipse. I just feel that Adobe Flash CS4 is just not up to the task of heavy duty Actionscript development. I’ll be trying out other Flash IDEs for any future projects in Actionscript.
Just-one-more-featureitus
Before the compo, I decided that I would feature freeze on Sunday morning and spend all day Sunday polishing. Of course when Sunday rolled around and I was behind in my envisioned complete feature set, I decided to just add one more feature and then one more, and then one more. My third anti-virus was implemented about 30 minutes before the end of the compo. In fact, I had almost no time to play test. I had other people do my play testing while I was busy implementing features, composing a 4 second loop of music, etc. Next time compo, I will definitely enforce a hard feature cutoff, which allow me to polish and play test more.
Wasting time on things that should have not happened in the first place
I wasted around a total of 3-4 hours on things that should have not happened in the first place. I spent a significant amount of time trying to debug a chunk of code. I eventually just got fed up re-coded the whole chunk. Surprise surprise, it worked nearly perfectly. Additionally, I lost a significant amount of time on a character encoding issue. Flash was treating my text file as Unicode locally when I would parse it. However, my FTP program uploaded the text file in ASCII. As a result, Flash would treat the file after upload as ASCII, which resulted in my game not loading properly at all.
Tools going wrong, that happened to me too! It’s really annoying to try fixing a bug you didn’t cause by any means, and after having lost a few hours, you decide to use something else and it just works directly. Then you realize you should have done this from the beginning, but I guess that’s what happens under tile pressure: you don’t want to try something else when what you have seems right!
I strongly recommend FlashDevelop for writing AS3 code, it’s one of the best tools around, and it is free.
I’ll check it out. Thanks for the suggestion.
+1 FlashDevelop