MS Shows Same Game Running on Windows, Phone, Xbox

Dust off your he’s-a-Microsoft-fanboy complaints, people, because here’s yet another story praising the Redmond software giant (sorry). In case you were wondering what the Xbox Live integration on Windows Phone 7 Series (inhale, signified by a comma), meant, then Eric Rudder (what’s in a name), Microsoft’s Senior Vice President of Technical Strategy, has the answer for you – and it’s pretty impressive.

In the run-up to MIX, a lot of Windows Phone 7 Series stuff appears on the web, and this one is indeed related to that. Speaking at TechEd Middle East, Rudder showed off the same game running on a PC, Windows Phone 7 Series phone (this is getting ridiculous), and an Xbox 360. This might not sound impressive, but it actually is if you know the details.

It’s the same code running on all three platforms. That is, it’s a single project in Visual Studio, and the three platforms share 90% of the code, with each platform having input-specific code. In other words, the same game can run on an Xbox 360 and be controlled by a controller, on a Windows PC by a keyboard, and on a phone using the touch screen and accelerometer.

To add to the impressiveness factor: the game saves state between the platforms, meaning you can pick up any device and start playing – you can play the game on the bus using your phone, then power up your Xbox 360, and continue where you left off when you turned off your phone.

This is of course a major boon for developers, to be able to create a single project in Visual Studio, where 90% of the code is shared between the three platforms (in this particular case, at least), with three sub-projects covering the platform-specific bits (in this case, input). I can especially see how this would be good for small game studios: they can make a clever game, and with relatively little effort, have it run on three platforms – two of which already have a massive reach (PC and Xbox).

It’s not just games, though; Rudder mentions it can also be used in other scenarios for other types of programs. I’m not entirely sure which ones, but I assume many a developer can see the potential of this stuff. I also hope that this allows programmers to combine the devices – for instance, displaying in-game information from a game on the Xbox on your phone.

It also comes appealingly close to my vision. Scary.

124 Comments

  1. Nelson 2010-03-06 7:50 pm EST
    • kragil 2010-03-06 8:25 pm EST
      • Kroc 2010-03-06 9:08 pm EST
        • kragil 2010-03-06 9:23 pm EST
          • NeoX 2010-03-06 9:37 pm EST
          • kragil 2010-03-06 9:57 pm EST
          • n0xx 2010-03-06 9:58 pm EST
          • Nelson 2010-03-07 2:13 am EST
          • n0xx 2010-03-07 7:03 am EST
          • tyrione 2010-03-07 8:22 pm EST
          • Nelson 2010-03-08 3:07 am EST
          • cerbie 2010-03-07 4:48 pm EST
          • NeoX 2010-03-08 6:50 am EST
          • KermitTheFragger 2010-03-07 12:13 am EST
          • MysterMask 2010-03-07 12:34 pm EST
          • NeoX 2010-03-08 7:11 am EST
          • KermitTheFragger 2010-03-09 8:57 pm EST
          • NeoX 2010-03-10 12:41 am EST
          • BluenoseJake 2010-03-07 2:35 am EST
          • google_ninja 2010-03-08 5:14 pm EST
        • Nelson 2010-03-07 12:46 am EST
        • kaiwai 2010-03-07 3:24 am EST
          • emilsedgh 2010-03-07 7:23 am EST
          • Bill Shooter of Bul 2010-03-07 8:22 am EST
          • digiassn 2010-03-07 10:30 am EST
          • Aragorn992 2010-03-08 9:24 am EST
          • kaiwai 2010-03-10 10:43 pm EST
          • KMDF 2010-03-08 3:22 pm EST
        • google_ninja 2010-03-08 5:09 pm EST
        • xmv_ 2010-03-08 5:16 pm EST
      • Yamin 2010-03-06 9:12 pm EST
        • vivainio 2010-03-06 9:43 pm EST
          • Yamin 2010-03-06 9:56 pm EST
          • nt_jerkface 2010-03-07 2:42 am EST
        • riha 2010-03-06 9:59 pm EST
        • KMDF 2010-03-08 3:25 pm EST
      • n0xx 2010-03-06 9:37 pm EST
        • jabbotts 2010-03-06 10:35 pm EST
        • tomcat 2010-03-07 12:06 am EST
        • Nelson 2010-03-07 12:52 am EST
          • n0xx 2010-03-07 6:42 am EST
          • Nelson 2010-03-07 7:01 am EST
          • MollyC 2010-03-07 9:10 am EST
      • flanque 2010-03-06 10:13 pm EST
      • Nelson 2010-03-07 12:43 am EST
        • kragil 2010-03-07 1:53 am EST
          • Nelson 2010-03-07 2:06 am EST
          • n4cer 2010-03-07 3:09 am EST
          • Nelson 2010-03-07 3:31 am EST
          • vivainio 2010-03-07 7:17 am EST
          • vivainio 2010-03-07 10:22 am EST
          • n4cer 2010-03-07 8:11 pm EST
          • r_a_trip 2010-03-07 7:13 pm EST
          • KMDF 2010-03-08 3:35 pm EST
          • Nelson 2010-03-08 7:13 pm EST
          • nt_jerkface 2010-03-07 2:12 am EST
      • nt_jerkface 2010-03-07 1:59 am EST
        • kragil 2010-03-07 2:49 am EST
          • nt_jerkface 2010-03-07 3:26 am EST
      • rstat1 2010-03-07 9:26 pm EST
        • kragil 2010-03-08 12:50 am EST
    • MollyC 2010-03-07 9:18 am EST
  2. vivainio 2010-03-06 9:17 pm EST
    • Yamin 2010-03-06 9:19 pm EST
    • kragil 2010-03-06 9:26 pm EST
      • vivainio 2010-03-06 9:27 pm EST
        • kragil 2010-03-06 9:51 pm EST
      • Nelson 2010-03-07 2:09 am EST
        • kragil 2010-03-07 2:33 am EST
          • Nelson 2010-03-07 2:42 am EST
    • Bill Shooter of Bul 2010-03-07 8:34 am EST
      • vivainio 2010-03-07 9:18 am EST
    • Soulbender 2010-03-08 5:05 am EST
  3. dpJudas 2010-03-06 9:31 pm EST
  4. mrhasbean 2010-03-06 9:38 pm EST
  5. reduz 2010-03-06 9:48 pm EST
    • Thom Holwerda 2010-03-07 12:34 am EST
      • WereCatf 2010-03-07 1:25 am EST
      • kragil 2010-03-07 2:14 am EST
        • Alex Forster 2010-03-07 9:25 pm EST
      • reduz 2010-03-07 9:56 pm EST
      • Fettarme H-Milch 2010-03-09 1:47 am EST
    • nt_jerkface 2010-03-07 2:57 am EST
  6. merkoth 2010-03-06 10:35 pm EST
    • vivainio 2010-03-06 11:00 pm EST
    • tomcat 2010-03-07 12:09 am EST
      • reduz 2010-03-07 10:02 pm EST
        • tomcat 2010-03-08 12:35 am EST
          • reduz 2010-03-08 6:40 am EST
    • reduz 2010-03-07 9:59 pm EST
    • Fettarme H-Milch 2010-03-09 1:49 am EST
  7. nbensa 2010-03-06 11:14 pm EST
  8. leos 2010-03-07 12:41 am EST
  9. 3rdalbum 2010-03-07 1:05 am EST
    • Thom Holwerda 2010-03-07 1:09 am EST
      • 3rdalbum 2010-03-07 6:39 am EST
        • adkilla 2010-03-07 7:12 am EST
        • StarDelight 2010-03-08 11:38 am EST
          • KMDF 2010-03-08 3:46 pm EST
      • adkilla 2010-03-07 7:01 am EST
      • reduz 2010-03-08 6:44 am EST
        • Thom Holwerda 2010-03-08 7:19 am EST
          • adkilla 2010-03-08 4:40 pm EST
          • MORB 2010-03-08 5:36 pm EST
          • Fettarme H-Milch 2010-03-09 1:54 am EST
    • nt_jerkface 2010-03-07 3:07 am EST
      • Fettarme H-Milch 2010-03-09 1:57 am EST
    • adkilla 2010-03-07 7:16 am EST
  10. abraxas 2010-03-07 3:43 am EST
  11. Tuishimi 2010-03-07 6:55 am EST
  12. ParadoxUncreated 2010-03-07 8:36 am EST
    • NeoX 2010-03-08 7:28 am EST
      • KMDF 2010-03-08 3:49 pm EST
        • NeoX 2010-03-09 5:23 pm EST
  13. frood 2010-03-07 3:37 pm EST
  14. MysterMask 2010-03-07 3:46 pm EST
  15. MORB 2010-03-07 6:18 pm EST
    • Jokel 2010-03-07 10:25 pm EST
  16. jabjoe 2010-03-07 11:03 pm EST
    • kragil 2010-03-08 12:57 am EST
    • strcpy 2010-03-08 7:34 am EST
      • jabjoe 2010-03-08 10:33 am EST
  17. yopmaster 2010-03-11 2:20 pm EST