First Peek: “Squadron Leader” for iOS7

Now that iOS7 has been released, I can show you what I’ve been up to the last couple of weeks.

It’s a space shooter I first started working on last year after releasing version 1.2 of Sol: Sun Clock. I basically wrote it the hard way, not using any of the 2-D platforms like Cocos2D, thinking that my code would suit my needs better without the bulk. Plus, I wanted to simulate the glow of old vector arcade games, like Tempest, Asteroids, or Star Wars.

I was pretty proud of the code, which for the technically-inclined used Quartz 2D drawing in Objective C, with lots of transforms, way easier than straight up OpenGL, but as it turns out, way too slow. I was getting 15FPS until planets started moving onscreen, and it plummeted to a measly 7FPS. I set the project aside and went to work on Sol: Sun Clock 2.0, while researching other 2D engines for this and Conqueror.

This past June Apple announced Sprite Kit for iOS7, and I knew this was the natural fit for this game. I rewrote the code from scratch (well actually, using Apple sample code as a template), and am getting 30-60FPS easily, even with each star being its own sprite, which is something I’d normally never do, but hey, I’ve got the overhead so why not?

Some of the crappiness of this video is my attempt at vector hardware emulation, but most of it is the YouTube encoding, so lower your expectations.

Disclaimer: programmer graphics! Trekkies relax: I doubt that NCC-1701 will be your ship in the final game.

I have a title screen, basic flight paths and missiles (not shown). Amusingly, you can see the aliens leech onto the player like parasites… this is the result of them trying to execute their flight paths, but getting stuck on SpriteKit’s physics collision engine. Of course in the real game, you will die… unless I make Space Leeches!

Hmm, maybe that will be the game’s title….

 

 

This entry was posted in Games, iPhone Apps, Vector-Z: Space Ranger and tagged , , , , , , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *