Sunday, January 15, 2012

Current and future work on BlastZone 2

Welcome to another blog entry for BlastZone 2!  In this entry, I will go over some of the future plans for BlastZone 2 and my game development work in general.

As of the time of this writing, the latest v1.10.2 free update for the iOS version has been released, and the feedback has been great!  People really like the new relative touch control scheme and auto-fire option and achievements support.

The new relative touch iOS control scheme with movement cursor
Also, I recently completed the iOS 4.x compatibility update which will help bring BlastZone 2 to a much broader group of iOS users.  When I started working on the iOS version, I made sure I updated to the latest Apple development tools.  However, doing this created several dependencies on the latest iOS 5 and broke compatibility with iOS 4 and earlier.  For the initial release, I decided to require iOS 5 to play the game, as I briefly attempted to backport the code to iOS 4 and things broke apart rather quickly.  I didn't want to risk a broken game or buggy release.  However, this time I've spent a lot of extra time researching the differences between iOS versions from a technical perspective.

I've had to completely rewrite the OpenGL ES initialization code in a much more advanced way for it to work across multiple iOS versions. The iOS 5 development tools had some convenient built-in infrastructure that allowed me to complete the initial version quicker, but this broke compatibility with previous iOS versions so it wasn't a good long term solution.  I've also had to write code to enable certain features for people with higher iOS versions while maintaining compatibility with earlier versions.  I've tested and confirmed the new update to work for all iOS versions including 4.0 and above.

Since the compatibility update is done and waiting on Apple to push to the App Store, I have already moved onto the multiplayer update.  This one will take a bit longer than the previous updates as I have to port over all the PC multiplayer code and do the iOS Game Center integration for it.  Game Center is a great platform to develop support for server lists, friend challenges, and match making.  This will all help foster a great multiplayer community and help grow popularity for the game.  I will also be looking into bluetooth ad-hoc support.

I've done a lot of research for iOS multiplayer so far and it will be an interesting challenge for me.  I got the PC online multiplayer support to run very fast through some CPU-intensive delta detection and bit-level compression algorithms.  I was able to offset the additional CPU load by making the PC implementation multithreaded.  For iOS, I will be able to leverage a decent amount of multithreading, but the problem is only the latest iPhone 4S and iPad 2 have a multicore CPU to benefit from from that kind of design.  Crunching this down to perform well on the iPhone 3GS for example will be an interesting task, but if I make big efficiency improvements like I did for several other areas of the game, I will definitely release a patch for the PC version with them as well.

From there, I will move onto researching other platforms to port BlastZone 2 to.  First on the list will be Android.  I've been getting a lot of demand for an Android version and I did a lot of research on a possible Android version back in September of 2010.  The idea back then was to develop simultaneously on Android and PC, but I was having problems getting C++ code to compile at all.  I started spinning my wheels at that point, so I decided to refocus on the PC version and revisit Android later on.  It turned out compiling C++ code on iOS was much easier, so that's why I put off Android support a bit more.  Through all this, I can confirm that I will put effort into an Android version in the future, but I can't guarantee it will be released for the platform at this point.

I have ideas for entire new games in the future as well.  Some of these games are smaller in scope, and others are larger in gameplay scope, but will take significantly less time to develop due to their design.  Either way, I will be reusing a lot of code from the current BlastZone 2 game engine, so there won't be any more 5 year long development cycles.

The future looks exciting and I can't wait to get more content and updates out for everyone to enjoy!  I am totally committed to releasing all of these BlastZone 2 updates for free!  So keep the feedback coming and I'll be happy to comply!

No comments:

Post a Comment