The port to C++ for Win32 and then iOS took about 60 hours. As with Zombie Outhouse, I used Instant C++ to port the C# to C++ which took about a minute. The rest was all manual labor. Monstercraft runs on the same bioroid enhanced version of the bork3d engine that was used for Zombie Outhouse so it uses a custom C++ XNA style layer to ease the process.
There were a few parts of the port which I felt took too long and need to be optimized for the future.
The game that eventually mutated into Monstercraft was first targeting Xbox360 when development started in 2008. We’ll go into the nitty gritty in a future post, but for now we’ll focus on the final few months of development. Sometime around spring/summer of 2010 after Windows Phone 7 was announced, I decided to switch the focus to touch based input with the plans of supporting WP7, iOS and possibly other touch devices.
I took what I learned from porting Zombie Outhouse between the various platforms and created a system that would automatically scale the game to the various resolutions. Specifically, the supported resolutions were 480×320 for original iOS, 960×640 for iOS Retina Display devices (iPhone 4 and iPod Touch 4G) and an in-between resolution of 720×480 for Windows Phone 7. The WP7 resolution is perfectly in between the two iOS resolutions.
Zombie Outhouse Development Part 7: Back to the XNA Arrrr!
[Bonus points to whoever gets the title reference. Okay, maybe not.]
Porting Zombie Outhouse to Windows Phone 7 was a fairly easy process since the game was developed using XNA and already running on the Xbox 360 & Zune HD. But Windows Phone 7 is a new mobile platform with its own set of challenges.
After searching for the non-existent official XBLIG badge, I decided to create my own. While Microsoft quickly released a set of badges for Windows Phone 7, there still isn’t an official one for XBLIG. 😦
So here is my attempt at one. Feel free to use it on your website, etc.
Here is a video showcasing the new eye candy in the upcoming Cyborg Mice Arena 1.5 update for Xbox Live Indie Games:
Zombie Outhouse Development Part 3: Converting from C# to C++
While the official programming language for the iPhone is Objective-C, you can use C/C++ within it. I prefer to work in C++ and try to avoid Objective-C at all costs.
Zombie Outhouse Development Part 1: Overview, design and development (Xbox360 & Windows)
This is the first part of a multi-part series which will document the development of Zombie Outhouse for Windows, Xbox 360, Zune HD and iPhone platforms. I’ll be talking about the various issues and decisions that came up during the development process including details on porting the game from XNA/C# to C++.
Check out the video of the Xbox 360 version below to get an idea of what the game is like and make sure to have your audio on to get the full experience.