Crab Attack 3 comes from a rich heritage of pure-blood crab-attacking games. You might recall seeing Crab Attack, my 5-minute-game challenge game… Or you might even remember the good ol’ times with Crab Attack 2, a feature-enhanced version of the original vision.
Crab Attack 3 brings in a whole new re-imagining of the game, with fresh visuals, unique gameplay improvements, and … uh, well, … hmm.
In truth, total development time for Crab Attack and Crab Attack 2 didn’t even top 20 minutes, so I thought it was safe to roll them right into the “trilogy” project as part of my 12G game challenge. I kinda liked where Crab Attack 2 was going, and decided to see if I could turn it into a viable product. The game also presented a bit of a hurdle: it contains a lot of moving on-screen bits, and keeping the framerate low would be a challenge!
Working from the existing codebase of crab-attack 2, I started adding some placeholder art and immediately noticed the game starting to slow down; my FPS was quartering. The game was also lacking pretty seriously in the “fun factor” department.
I addressed the latter issue by tossing in some fairly random risk/reward items. There are now golden crabs you can pick up (but it is dangerous to do so), the water now slows you down, and you can also get points for jumping on the grass (but golden crabs don’t appear there). Optimal gameplay is now to stay on the left side as much as you can, ducking out to get crabs and slowing things down in the waves, before heading back again.
To address the performance problems, I realized I was encountering problems as discovered in my Flash Performance Testing Posts (one, two, and three). I asked around and ended up finding the excellent Ginger bitmap animation API (It looks like the site is no longer updated and the download link is old – be sure to use the SVN link on the page).
The Ginger API does one thing particularly well – it will accept a multi-frame vectorized MovieClip object, and convert it to a variable-FPS bitmapped animation – complete with pre-rendered rotations. I was so happy to find this. Implementing this immediately brought my FPS back up to the levels of Crab Attack 2, where everything was simple square blocks.
Once the game was nearly complete, I teamed up with Ben Schlessman of Games Northwest (aka ShooterMG) to handle my art needs. He ended up working really fast and providing some neat art in the theme of the game; I say I’m pleased with his performance!
At the end, I slapped in some cheap epic music from DVGMusic. Thanks!
All in all, I put around 10 hours of work into the code. Ben Schlessman put in around 8 hours of work to the art. The rest of the 24 hours was spent on wrangling the game through FGL and Mochi.
The Game Itself
Enough words, let’s see this thing in action! Click here to play.
Well, the game did the rounds through FlashGameLicense and found no sponsors. Few people showed any interest at all, in fact! I could probably shop the game around to specific mouse-avoider-style sponsors, but I decided to use the game to test out Mochi’s Distribution platform. The game now features pre-roll ads through them, and might make me a few dollars as time goes on.
I’ll make a new post if I suddenly get a boatload of advertising money, but I think this is it. Crab Attack 3 is done!
One thing that I did note: Most people don’t like the game at first glance. It isn’t much of a challenge and it’s not entirely enjoyable. However, once somebody calls out their high score – people tend to get excited and start competing. I think CrabAttack3 is a good “Party Game” but not a good “video game.”
The biggest lesson I learned with the Crab Attack trilogy is proper handling and easy conversion of Vector Art to speedyQuick bitmap graphics. The entire game was built to be cluttered and fast to start with – and I know the easy-to-use .cacheAsBitmap flag built right into AS3 – but when things start getting complex, it’s nice to know there’s a pre-written API like Ginger that will quickly and easily convert all my data for me.
I think I’m pretty much done with Crab Attack. I’ve been itching to make a MouseAvoider-style game for a while (just to say I did it, not for any interesting reason), and this satisfies the urge quite nicely. I can’t see gameplay getting too much more interesting (though it could definitely improve).