Developing & Publishing Games For Windows Phone 7

Windows Phone 7 Xbox LIVE Games Hub

I wrote about some pointers regarding getting your Windows Phone 7 apps on the marketplace when it opens, in this post I’ll talk about games.

One of the biggest announcement is the Xbox LIVE integration with Windows Phone 7. With Windows Phone 7, Microsoft is stream lining game development on the phone, desktop and Xbox. The idea is to make available a common library that makes it easy for developers code games for either of the platforms.

Before I talk about developing the games, I’ll talk about submitting a game to the Marketplace. Microsoft has a program called Xbox Game Publisher where companies are registered as game providers, obviously this registration comes at a cost.

For Windows Phone 7, Microsoft will allow developers who aren’t registered Xbox Publishers to submit their games to the market. There’s a catch though, well two actually:

  • the games won’t be listed in the LIVE Games Hub.
  • no access to Xbox LIVE services (this is a bit disappointing.)

The tools that Microsoft is offering for game development are:

  • Visual Studio 2010
  • XNA Game Studio 4 – Hardware Acceleration for WP7 and VS2010 integration

The Xbox LIVE integration will allow developers access the following features:

  • Gamer tag
  • Achievements
  • Leaderboards
  • Trial Mode

We’ve seen the demo showing a game being started on the PC, continued on the WP7 device and completed on the Xbox 360. For this the game must be coded using the Reach profile in XNA’s framework. XNA Framework has two profiles for game development:

  • Reach – Windows Phone 7 Series, Xbox 360, and any Windows PC with a DirectX 9 GPU that supports at least shader model 2.0
  • Hi Def – those that run on desktops and Xbox 360 with DX 10

More technical differences between Hi-Def and Reach are here.

Inputs for games across different platforms is quite easy to configure sing the Cross-Platform Input API allowing you configure Xbox 360 controllers, WP7 devices and desktop keyboards. The Touch API allows for 4 input points on the Windows Phone devices and Windows, these points are both orientation an resolution aware.

The games developed can be done in two resolutions:

  • 800×480 = 384,000 pixels (WVGA)
  • 480×320 = 153,600 pixels (HVGA) [1. Part of a future update, currently not planned for launch.]

One good thing for developers is that rotation and scale changes are handled automatically and from what I understand don’t require any extra coding effort. At the same time talking about effects, there are 5 predefined ones that can be used. No custom effects available. The ones that can be used are:

Talking about media within games, developers have the following options:

  • API to play back WAV data
  • Modify pitch, volume, pan audio
  • Ability to play synthesized/buffered audio
  • Ability to play songs from URI/URL
  • Image editing, publishing (screen shots perhaps?)
  • Standard Video API

As for the sensors, location, Vibration alert and Accelerometer are available for the developers.

Disclaimer: The information comes from a Microsoft slide deck and is subject to change.

More information is available on: