5 Reasons I’m Excited to Develop Games for the Windows Phone

Microsoft's Windows Phone 7

1. Write games using C#

I don’t want to start any fiery debates about programming languages, as clearly many languages can get the job done when it comes to game development. That being said, after making games in many languages I hold a special place for C#. The language is strongly typed, which in my opinion helps catch certain kinds of errors and makes for more readable code. Even better, the language has seen a number of improvements over the years. Some stand outs include support for weak types, LINQ expressions, and lamba functions. As a result, I am more productive in this language than any of the alternatives.

2. Taking advantage of the XNA framework

XNA is a framework developed by Microsoft to accelerate game development. Like the Slick game engine, XNA is a glue framework. This means I can take the parts I want and leave the rest letting me code in my own style. It’s true that I sometimes find things missing, but more often than not there’s a code sample on MSDN to help fill the gap. Overall, I’ve found XNA to be a solid foundation to get a game up and running.

3. Target the Windows Phone, PC, Xbox, and the Web

Obviously I want people to play my games. So oftentimes the size of the audience is more important than the technical aspects of a given platform. In this case I feel like I can have my cake and eat it as it’s possible to target a large number of platforms with XNA. Microsoft supports running games written in XNA on the phone, PC, and Xbox and if you take advantage of the open source Silversprite library it’s also possible to target the web through Silverlight. With all of that said, I still think there’s an important space left for Flash to fill.

4. Release on the iPhone and Android

Today, Novell ships a product named MonoTouch which allows developers to create C# applications for the iPhone. Combine it with the XNA Touch library available on CodePlex and you can deploy your XNA based games on Apple’s platform. Novell is currently working on a similar library for Android called MonoDroid. I plan to try MonoTouch soon. If it all goes according to plan I believe C# will be able to target every mobile platform!

5. Great tools and documentation

Finally, I’d like to talk about the developer experience for the Windows Phone. First and foremost there is Visual Studio. As these things go I think Visual Studio is a pretty solid IDE. That being said, I have found it lacking in certain regards which is why I also use the ReSharper plug-in. Taken together, I find that writing code in C# is much faster and easier than anything I’ve found for Actionscript or Java. These two tools provide an amazing array of code completion and refactoring tools. In addition, there is great support for tasks such as unit testing, profiling, and static code analysis. Backing all of this is a wealth of documentation both from MSDN and the larger web.

Conclusion

I’m not going to try to lie or whitewash things, developing for the Windows Phone is certainly a gamble. That said, in my limited experience I’ve found that when it comes time to release a game and break through in the marketplace there’s always a high degree of luck involved. With that said, I’m excited to try my hand on this exciting new platform. I hope you’ll join me as I continue this experiment!

Comments

One Response to “5 Reasons I’m Excited to Develop Games for the Windows Phone”
  1. Gornova says:

    Hi! As always I’m following you in this new adventure :D good luck and share your experience! :D

Leave A Comment