The aftermath

Download InterSceptre from the Marketplace now!

Download InterSceptre from the Marketplace now!

So, InterSceptre has been published for over a month now – what’s been going on?

A lot has happened since I last wrote. Ben and I put some work into creating a press pack for our games, and Ben produced a brilliant promotional video to put on YouTube. We approached and were publicised in some of the major Windows Phone 7 blogs such as WPCentral, BestWP7Games, WP7Lab, and the XNAUK User Group. We also got some bad publicity, but maybe no publicity is truly bad as it caused a spike in interest, and more importantly gave birth to Ben’s new project: TrollWhacker.

Ben and I also had a good session at the London-based Windows Phone User Group, where we presented our efforts, and feedback from those guys helped refine the latest update to InterSceptre with improved feedback options, particularly an in-app suggestion to rate the game.

The publishing process itself has proved somewhat frustrating… it takes several days for each update to be tested and made available for review, and you have to be very careful how you actually release the game; publishing from the main menu (rather than the individual project page) can cause delays.

A few weeks in, and the results are disappointing. At the time of writing InterSceptre has had just 10 paid downloads, which is not a lot to show for a year’s work. However, the latest update also opened it up for trial mode, and so the game itself has been downloaded 43 times. More rewarding than the paid downloads is seeing the reviews come in. After that first initial bad review, InterSceptre was updated with better alternative controls and a nicer looking front page, which seems to have gone down well in the marketplace (the user who posted the scathing initial 1* review updating it to 3*, and several more positive reviews have followed from a worldwide audience).

Are these the ‘droids I’m looking for?

This left me in a bit of a quandry. Was it InterSceptre itself that wasn’t liked? Or is this all that can be expected of the Windows Phone platform? It is after all a much smaller target audience than the other platforms. Releasing a different game for WP7 would not be a controlled experiment, and therefore I decided to try porting InterSceptre to Android. Since then, I’ve been in contact with other developers who have similar poor sales figures, so I feel vindicated in this approach. Maybe if I ever make $99, I’ll consider porting to iOS…

Fortunately I could already code in Java, and it’s not radically different from C# in any case. It’s basically a case of finding out what the equivalent “hooks” are (how to draw on the screen, read the input devices, and play sounds) and watch out for the gotchas. I’ve been building a mock XNA framework to help me move XNA projects over to Android without too much reworking… most of my class hierarchy already abstracts away from XNA anyway, but the base levels of that needed some replumbing. You also need to take care as Android is multi-threaded, which can raise some unexpected issues for the unwary.

Android development is frustrating. The emulator is slow. As in a frame every 5 seconds slow. That’s because it’s written in Java, and is emulating an entire hardware device from the BIOS up through the Android OS stack, and then running Java on top. It’s several layers of emulation deep. This makes developing a game almost impossible without access to a physical device. Fortunately there is no “unlocking” required, unlike for Windows Phones, so you can test before handing your cash ($25) over to Google to get a developer account. But even on the device itself, InterSceptre is getting a disappointing 10fps or so, compared to 30+ on the Windows Phone. This significantly affects the gameplay.

The other issue you have to be aware of is that Android phones all have different screen sizes, unlike Windows Phones which are all 800×480. Android phones mostly have smaller screens too – typically 400×240, or smaller. This is a problem if your game, like mine, is full of pre-rendered graphics, and particularly pre-rendered text, that wants to be a certain size. You have to do all your own resizing and rescaling at run time, or rewrite everything. InterSceptre’s main game can adjust to the screen size available, but the title screen and options pages needed to be dynamically rescaled at draw-time… which also raises interesting issues around touch mapping because nothing is actually where your original code drew it 😉

So it’s been an adventure. I hope to have the Android port done before the holidays – I’ve got another 4 weeks or so – so that when I next go to the XNA UK User Group at the start of September, I’ll be there not just as a published WP7 games developer, but as a published Android developer too.

Maybe if I keep saying that, I’ll start believing it. I’m a published games developer. Nah, still not sunk in yet.

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: