Saturday, May 28, 2011

iDevelopment vs The Alternatives

Today is the day once again to be my turn for #iDevBlogADay (the new schedule is on each 2 Saturday, so next week they wont be one and it will be the week after).  They have been a topic that I would like to openly discuss and show you what the Quebarium crew has been up to beside working on Mythlound but I can't for now...  Well one the reasons is that we're working on a demo that will be part of the competition for the upcoming @party one of the few remaining demoscene party in North America on 17th - 19th.

So this week topics will cover something that I wanted to talk for a while which is "The Alternatives" of iDevelopment.  Yes they are other interesting platforms out there for fellow indie game dev. that want to try something different the do iOS development in Objective-C.  So one of the first alternative that could come to my mind is Mac development especially with the recently opened Mac AppStore and that to convert an app from iOS to Mac is relatively easy (Objective-C, similar API, etc...).  Nope not this one, then you might think the arch-nemesis of iOS which is Android right?  No wrong again... then what it is then?


XNA
Yes it's the less known of the alternatives but which imho provide some very interesting possibility and yes I am talking about XNA from Microsoft.  And one very interesting fact for people who doesn't know, XNA was released in 2006 as a preview released which allowed developer to develop game on windows but to also run them on their Xbox 360 if they were paying their creator membership (a 99$ annual fee).  But it's in 2008 that everything changed, with the released of XNA Game Studio 3.0 and the creation of Xbox Live Community Games (now known as Xbox Live Indie Games).  Strangely or coincidentally this was released just a few month after the AppStore has been launch.  Another interesting fact is that due to the popularity of iOS development in recent years some adventurous devs have decided to bridge the gaps between the 2 technologies by created MonoTouch which allow you to use the XNA framework but on iDevices (this would have been frown upon by Apple last year before their change their policy about using non Apple API/SDK).  So if you're interested in both platforms this is definitely something to check out.

To get you started on exploring this alternative the first thing you need to know is that it will require you to learn yet another language... you said what??? Of course did you really expected to be doing Objective-C on Microsoft platforms?  Then it should be C/C++ right?  Guess again, you will have to become fluent in C# the language develop/used mostly on Microsoft platform... sound familiar?  Yes similar to what happen when you became an iOS developer and had to learn that obscure language known as Objective-C. A good starting point for your lecture would be to read the freely available C# Yellow Book from @robmiles which I found easy to read/follow.  Another book in my library for learning C# is C# 3.0 In a Nutshell publish by O'Reilly (a new version for C# 4.0 is also available now). 

Once you have a good grasp of the language then of course it will be time to take a look at the actual API/Framework of XNA itself.  They are plenty of ressources on Microsoft website now called AppHub (which was formerly known as Creators Club).  If you want a more traditional book you can take a look at Learning XNA 3.0 publish by O'Reilly (a new version covering XNA 4.0 is also available now).  And you would also be a good ideas to brush up your skills with DirectX, as XNA is based around this.

Another important note, as of XNA 4.0 it's possible to develop for Windows Phone 7, but for this the SDK required you to have Windows 7.  If you're still with a Windows XP machine you can still use XNA 4.0 but you will be limited to Windows and Xbox 360 game development (a separate Windows XP of the SDK tools set is available).

Xbox Live Indie Games/Windows Phone Marketplace
Now that we talked about the basic technology of this alternative, you're probably now interested to know if you can sell your ware.  Yes you can!  By paying the same fees as you would with Apple, which is $99/annually, you can develop/submit your game to either Xbox Live Indie Game or Windows Phone Marketplace which imho is great as you pay the fees once and have access to both market (I wish Apple would do the same and let us iOS developer to also have access to the Mac AppStore and not having to pay another $99).  Of course your game will be convert/adapt if you want to release on both platform same as you would with doing game for both iPhone & Mac.

Similar to the AppStore from Apple both marketplace (Xbox + Windows Phone 7) let you decide on your pricing based on tiers, the biggest difference is that on Xbox it's based on Microsoft Points instead of real $ and you have a rather limited number of choice, 3 actually which are 80 MS Points, 240 MS Points and 400 MS Points.  Another odd thing about the pricing on the Xbox is that if your game is above 50 meg you're required to choose between 240 and 400 MS Points and ohhh did I mention that you're limited to 150 meg game on Xbox and can't choose your pricing for 90 days (those are quite some serious limitation that you need to consider before trying to publish your game).

Another difference with the way of doing thing is with reviewing of your game before it get put on the marketplace.  If you develop for Windows Phone 7 then it will be familiar as it's very similar to what Apple does, which mean you sent your game for review and some MS employes will review it following some "guideline" and if you don't follow them properly... well you know... it get rejected.  Yes so we heard similar story as on the AppStore where developer got upset to have their game rejected for some obscure reasons while similar game went thru.

But if you're developing for the Xbox 360 then thing get let say interesting and sometime entertaining ;-), instead of having of having game reviewed by MS employees, it get done by your peer.  Yup you read this right, fellow indie game developer are the one who are going to review your game for the better or the worst...  Microsoft had set up originally some vague guideline on the way developer were supposed to do review, which of course led to many heated debated in the past on the forums between developer arguing about why they FAIL or PASS a certain games.  So after many long discussions the community of developer came out with the infamous Evil Check List and the Not So Evil Check List.  The intention of those guidelines were good, as it was to provide crash free game, but even then some of those rules are still debated and some people interpret them differently.  This whole peer review process can become lengthy and painful, as it first need people interested in reviewing your game (hint : if you're an active community member chance are that people will take their game to review your game.  If you're new, inactive or made enemy in the community prepare to wait...), if you were unable to get enough reviews on time (which is 30 days) then your game is automatically rejected (and you need to resubmit again).  So how long does it take to pass peer review?  Well it depend on how long it take you to get 8 peer review to PASS your game (note if you submit your game to be available in other language then just English, you're required extra reviews from developer knowing those language).  And it's doesn't need as much FAIL to get your game rejected, it's 2 strikes and you're out, to make this whole thing more painful is that you can't resubmit before 7 days into review (hint : review your game thoroughly yourself and put it in play test to iron out bugs before put in peer review) .  I could continue to write an entire blog dedicated to that particular topic ;-), but now let move on.

After passing the different hurdles, your game is finally on the marketplace and start to bring the riches for you!  Well not quite yet... this is not the AppStore, where some developer made millions quickly.  First thing that you need to know is that for the Windows Phone Marketplace it's relatively new and they aren't as many customers with Windows Phone 7 (well Microsoft was late to the party, and the other large customer base is on Android, for now they are just eating the few bread crumb left on the market).  Knowing it's Microsoft behind they are still chance that it will grow a definitely larger and reasonable user base in the future, the Nokia agreement should definitely help and is a foot in the right direction (on that note Microsoft should have bought Nokia instead of Skype imho).  To give you an ideas on the low sale can look like, you can take a look at what happen for Smile from fellow iOS game dev. @mikekasprzak :-( (btw it really need your help to stay there, buy a copy!).  On another hand some developer were able to find some decent income, so they are still some hope.

As for the Xbox marketplace, it usually fare better as it's have been available for a few years and they are already several dozens of millions Xbox gamers around the world.  But sales in general generally have been around counted in hundred of dollars, for the more popular one in thousand of dollars and for a few rare case in hundred of thousands of dollars.  Why is that?  Well they have been many theory, first the channel for Indie Games on the Xbox 360 dashboard isn't in the most prominent place (it even got worst at some point, but now it's not bad but not the best either).  Second is that they are a lot of competition from other type of Xbox game, either Xbox Live Arcade, disc based games, etc... Third is that they are many restriction for those game, such as no achievement or official leader board, 150 meg max for the game, 8 minutes trial mode, etc...  Fourth surround by shovel ware and other poor quality app/game (a lot of people suspect that most gamers went there once and got a bad impression and never went there to see again).  If you want to get an ideas on the sales of game can look like they are an interesting thread on AppHub forums where fellow indie game dev. share their sales numbers (the most impressive one has been the the Minecraft alike call FortressCraft which already have more than 170k copies at 240 MS Points).

And to conclude, what is the cost of entry for all of this alternative, well I would say the same price as doing iDevelopment.  Which mean paying the annual $99 to Microsoft as you would to Apple, then getting a computer (preferably a recent computer with Windows 7 and something a bit better then a GMA for graphics ;-)), the device you going to work on either a Windows Phone 7 (think this as an iPhone) or an Xbox 360 with HDD which you can get for $299 (think this as an iPod touch).  And for me the most priceless thing is to have my game working on the Xbox 360 and playing it on the HDTV in the family room ;-).

Little note, we at Quebarium have experiment/dable with XNA soon after it was announced that they were going to be the Xbox Live Community Games, at that time we though iOS development on a tiny mobile device wont be as hot... ohhh boy did we got it wrong! 1 year later we realize that iOS was very interesting/growing rapidly and provided a place where indie game dev. can have a chance to bring a game to the market quickly.
 

This post is part of iDevBlogADay, a group of indie iPhone development blogs featuring two posts per day. You can keep up with iDevBlogADay through the web site, RSS feed, or Twitter.

No comments:

Post a Comment