Tuesday, May 22, 2012

Riding with Bullet Engines

As you probably may know, I'm currently riding my way across the USA with my friend Clinton. You can read about it here: Crazy Guy on a Bike Blog

So riding 6 or so hours a day gives me plenty of time to think about what needs to be done with our next project, the SHMUP. For those of you who don't know, SHMUPs are a classic genre that have been around for nearly as long as gaming itself. They generally involve a ship or character flying up or across the screen as enemies fly in and shoot at you. So essentially it started with games like Space Invaders and over the years the mechanics behind the games grew more complicated and the genre expanded to include titles such as DoDonPachi and the Radian series among many others.


It's a very niche genre but one with a strong and large group of followers who are rewarded every now and then by a new game or a rerelease of a classic, like the DoDonPachi games on the iPhone. We're both big fans of SHMUPs and have been wanting to make one for a while. There's quite a few already on the iPhone but I find that each one is generally quite flawed in at least one area whether that's controls or graphics or something else. There's a couple of really solid ones and we hope to join those ranks whilst standing out with some interesting (and hopefully fun) mechanics.

The cool thing about SHMUPs is that they have a tonne of feedback at all times. There's ships exploding and points displays and bullets and enemies flying about, it's all very cool. One of the issues with Call Connect is that it was very static so it was pretty hard to sell in screenshots and trailers. I don't think we'll have that problem with this game.

So what I've been thinking about at the moment, and what is undoubtably one of the most important aspects of the SHMUP game, is creating the bullet engine. The system that will handle all of the player bullets and enemies with their own bullets. I want to make a system that allows for complex bullet patterns that can fill the screen or just be simple with not many bullets. I also want it to be easy to create and define different patterns so I think it will be XML based, or at least that kind of file.

I have a good idea of how to do it and have tested Cocos2d for particles and it seems to be able to handle a lot. We'll just need to see how it goes with enemy AI and everything else going on. I'll be using the Action system to move the bullet particles so hopefully that comes through for me.

Now I just need to get cracking.

- Shaun