Kind of a strange title I know, but I started to the write a long blog entry about project systems (which I will post at some stage) but I wanted to get to the heart of a matter that members of the team are currently talking about.

The issue we are discussing is how important building a game that is guaranteed to run on both Windows and Xbox is to you. We expect many people to fall into the following working styles:

  • Develop primarily for Windows, at some stage build the game for Xbox 360.
  • Develop primarily for Xbox 360, at some stage build the game for Windows.

We are debating adding a third option to the list above - something like "develop for both platforms at the same time".  Essentially this means making sure that as you program we modify the experience to make sure that you don't accidentally start using platform specific functionality (e.g. a mouse on the Xbox 360, reference a platform specific assembly etc).

To enable this option we would have to add a fair bit of functionality to the IDE - Intellisense filters, referenced assembly checks, perhaps some FxCop type post processing to get this right etc. It certainly is technically viable and it would be easy for us to dive into this work but I wanted to get people's reaction to this idea.

Is the third option a priority for you, or is it more of a nicety? The XNA Game Studio Express team is focused on making sure that games run on the platforms we support, so our natural tendency is to build out the third option, but I'm not sure that our customers will value it as highly as we do (or perhaps prefer us to work on other features).

We do want to address the current issue of having to have two projects (one for each platform), but how far do we go towards making sure that you "stay on the rails" if you want to build a game that runs on both Windows and Xbox 360?

I love to get any feedback on this issue - thanks.