Invader Zurp

September 12th, 2011
Spencer Nielsen Follow snielsen42 on Twitter

So for those of you on my Cannonade TestFlight profile, you might have noticed that I havn’t seeded a build for about two months. I have a good explanation for this.

Lets rewind back to right after my last Cannonade seed build. I was on vacation at the time and had the opportunity to stand back from Cannonade and evaluate things from a different perspective. Sometimes I don’t think I seek out those opportunities to just sit and think as much as I should (just thinking sometimes makes me feel a bit lazy for not doing). At one family gathering I observed my older son playing Fruit Ninja on his aunt’s iPhone. I was aware of Fruit Ninja and knew that it was a definite App Store success. As I watched him play I thought to myself “That just one play mechanic. One. Repeated, millions of times over and over and over.” This is the typical MO of most games that are successful on the App Store. Simple, easy to pick up and well implemented with good production values. With Cannonade I am trying to break new ground on the App Store. I still believe that there could be a place for deep multi-player experiences on the App Store and I think that Cannonade is on the right track. But watching Fruit Ninja got me thinking. Did I have a single, fun gameplay mechanic that I could repeat millions of times? The core fun mechanic of Cannonade is “Knock Your Friend’s Castles Down.” Maybe I could modify that to just “Knock Castles Down.” Even knocking down dumb castles was fun in and of itself. Maybe I could repeat that experience millions of times and put out a more limitedly scoped single player experience? I decided that it would be a really fun exercise and that I would put Cannonade on hold for a few months while I brought this new single player game to market. I call it “Invader Zurp“.

First Things First

The first two things I did before I even started any work on Invader Zurp was to re-write Cannonade’s graphics engine in OpenGL ES 2 and then violently rip the engine out of Cannonade for more general use. I had been planning on doing an OpenGL ES 2 re-write eventually but this new development accelerated the schedule for that because I plan on getting Invader Zurp to market fairly quickly. I must say that after getting used to doing everything in shaders in OpenGL ES 2 I can’t imagine going back to fixed function. With this new game I obviously wasn’t going to start from scratch. I was going to leverage the engine and a fair amount of the existing assets from Cannonade that I had already worked so hard on. Up until that point I hadn’t made much of an effort to modularize the Cannonade engine at all but the time had come when I needed to generalize things so that I could use it for Invader Zurp. It was a painful, weeklong progress (I thought of it like I was pulling two siamese twins apart) but I eventually got things around 95% modularized so I could finally start work on Invader Zurp.

I had a prototype up and running in about a day and immediately it was way more approachable and easy to play than Cannonade. There was a moment when I was testing some of my changes and I realized that I kept on “testing” the game even after I had already verified my changes. These prolonged “testing” sessions were the first indicator to me that I truly had a mechanic that was fun.

What’s It Like?

To explain the basic gist of the game, the view is first-person as you fly on a rail above the surface of a planet (ala Star Fox or Rez). You can’t steer in any fashion but you can do one thing: rain mighty destruction on all the buildings that get in your way. You see a block that you want to shoot? Just touch it. Incoming missile? Just touch it. One simple mechanic: touch to shoot, destroy everything in front of you. I took a week and designed 100 castles/buildings/structures/whatever and the game is basically blowing through those 100 “levels” in rapid succession (takes about 20 minutes). There are enemy missiles that can kill you and there is an advanced play technique that you can use to rack up big points but you can quickly figure out the finer points after taking a stab at it.

Thematically the game is about a cute little alien critter named “Zurp” (or more formally “Zurp, Destroyer of Worlds“). Zurp has an assignment to invade planets and lay destruction with extreme prejudice. His arsenal consists of super-intelligent smart bombs that home in to every target Zurp dictates and can also recite Shakespeare if so desired. You play as Zurp, directing what targets his weapons should hunt for. Although the scope of the characters and story is fairly limited in this game I am pretty excited to have other opportunities to flesh out this universe.

You Wanna Play It?

The time has come to start public alpha testing so I can get some wider feedback and perform fine tuning on the difficulty curve. If you have already signed up for my Cannonade alpha builds then you should already have an email in your inbox for the first public Invader Zurp alpha 🙂 Not on my list? Would you like to help me test Invader Zurp? Send an email to: [email protected] and I will reply with instructions on how to get onto the Trac server, Testflight list and tester forums.

Leave a Reply

Entries (RSS) and Comments (RSS).