Slashdot Mirror


Microsoft Demos Three Platforms Running the Same Game

suraj.sun writes with this excerpt from Engadget: "Microsoft's Eric Rudder, speaking at TechEd Middle East, showed off a game developed in Visual Studio as a singular project (with 90% shared code) that plays on Windows with a keyboard, a Windows Phone 7 Series prototype device with accelerometer and touch controls, and the Xbox 360 with the Xbox gamepad. Interestingly, not only is the development cross-platform friendly, but the game itself (a simple Indiana Jones platformer was demoed) saves its place and lets you resume from that spot on whichever platform you happen to pick up."

16 of 196 comments (clear)

  1. Not Cross Platform by Foofoobar · · Score: 5, Insightful

    Technically thats same platform, different devices. Cross platform would be if they had the running on iPhone, Windows 7, Playstation and Linux. THAT would have been impressive (not to mention newsworthy).

    We expect them to be pushing studd across their own platforms. Not news.

    --
    This is my sig. There are many like it but this one is mine.
    1. Re:Not Cross Platform by UnknowingFool · · Score: 5, Interesting

      Funny thing about the "cross-platform" comment is the employee is admitting something that MS has tried to obscure from consumers: Their different product lines are not using the same OS. Techies have long known that Windows Mobile isn't anything like Windows desktop or their Xbox 360 OS. Whereas their competitor Apple is using OS X variants for their computers, iPhone/iPod Touch, and now the iPad, MS has tried to leverage the "Windows" name brand by putting it on different software in name only.

      --
      Well, there's spam egg sausage and spam, that's not got much spam in it.
  2. Meanwhile... by Sarten-X · · Score: 4, Insightful

    A simple demo game written on a Fedora system runs perfectly on Ubuntu, Debian, Mandriva, Mint, Arch, and a few dozen others, but nobody paid for a press conference.

    --
    You do not have a moral or legal right to do absolutely anything you want.
    1. Re:Meanwhile... by tepples · · Score: 3, Informative

      A simple demo game written on a Fedora system runs perfectly on [other Linux operating systems], but nobody paid for a press conference.

      Unless the game was developed using the Allegro library. Distributions that switched to PulseAudio broke sound in Allegro games because PulseAudio does not like unsigned 16-bit PCM.

    2. Re:Meanwhile... by dave562 · · Score: 3, Funny

      And the 0.02% of the global video game playing market rejoiced!

    3. Re:Meanwhile... by jim_v2000 · · Score: 4, Insightful

      You fail. All of those distributions are still Linux. Windows XP/7, Windows Mobile, and Xbox are not all running Windows. They are all entirely independent code-bases that were developed separately.

      --
      Don't take life so seriously. No one makes it out alive.
  3. Re:90% shared code? so what? by Karlt1 · · Score: 3, Informative

    i've been writing code across many platforms with 100% code reuse - more importantly, not using a runtime - all my applications are native. just write a few basic entry points; put the platform specific points in a library and then all your applications link against this. you then end up with native binaries for each platform - just distribute. this is not news - most developers have been able to do this for years (including myself). i can build applications for windows, linux, macosx, iphone, windows mobile, symbian series 60/uiq, palmos, moblin, maemo et al by doing this and i've been doing it since 2003.

    Let's see where to start....

    1. If you are writing different libraries for each platform -- that's not 100% code re-use
    2. You're not "just distributing" the same binary for each platform.
    3. What are you using for graphics, sounds, storage, etc. on each platform?
    4. You're doing this without a bunch of #ifdef's?
    5. How are you accounting for different screen resolutions, graphics hardware, touch capabilities, and other hardware difference?

    I've never programmed games for either the PC or mobile but I do write boring old business apps for Windows Mobile industrial devices. I'm able to target Windows Mobile and take the same app and run it flawlessly on the desktop -- without a recompile.

  4. Cross platform? by owlstead · · Score: 5, Insightful

    Oh, my god, he's displaying this and he has all these #ifdefs and "copies of projects" within his workspace and a "shared resources" folder for the game. Is that the future of cross platform? That's more like the PAST of cross platform. The way to do this is to create interfaces for the same object and implement that using different devices. What you don't want, ever, is to have all this different execution paths through your code using #ifdefs to instruct the compiler to compile each and every one of them separately.

    1. Re:Cross platform? by pitdingo · · Score: 4, Insightful

      Yeah, i do not get it. What is so special about this? Looks primitive to me, and you still do not have a cross platform solution yet. I can make that game even easier and truly cross platform....HTML, Javascript and CSS. Sure there needs to be some hacks to support broken browsers like IE, and yeah it will run in a slow browser like IE, but it the same code runs on Windows, OSX, GNU Linux, Iphone OS (touch, ipad, iphone), Blackberry, Windows BMW 7 Series (sorry could not resist), Solaris, Palm Web OS, etc...

    2. Re:Cross platform? by Anonymous Coward · · Score: 5, Insightful

      I guess you've never actually used XNA, but feel qualified to talk about it regardless.

      The reason you have ifdefs in XNA projects are not because you need to ifdef everything from the graphics API to the networking API and so on. The ifdefs exist, because the different platforms it works across have different capabilities. You do not have an XBox 360 controller on Windows 7 phones, and you do not have a touch screen or keyboard on the XBox 360, the fact is the platforms DO have differences and they simply have to be catered to one way or another, the method used really works just fine and has no disadvantages- go and actually have a play with XNA rather than just whining about it.

      The doesn't detract from the fact though, that all your rendering, networking, audio, concurrency, IO, physics, game code and so forth are shared between them.

      A lot of people are talking it down as been there done that, but has it really? Well no, it hasn't. The great thing about Xbox live is the profile system and how everything connects back to it- they're just taking that across other platforms, you should be able to buy a game on XBox live arcade and play it wherever you are and that's the goal, simply put this hasn't really been done yet. The closest we've had are flash games and other web based games, but they're limited in performance, and are limited in ability. Even the likes of Steam hasn't stepped away from Windows yet, and only just seems to be creeping across to the Mac, there's no sign of it going to Linux, or phones, or media players, or consoles any time soon, if ever. This is a big deal, because it means you can continue to play your games wherever you are, and it makes it piss easy for developers to do it, you no longer need graphics abstraction layers and so forth like you used to.

      Really, if this is not cross platform, and if this is the way of doing things in the past then tell me, where can I find a phone, console, and computer that let me play the same game and move between them without having to manually copy saves, without having to buy a different copy of the game for each platform, without having to care about anything technical, and which makes full use of graphics hardware and isn't some crippled web implementation of something.

      What's that you murmured? no such thing currently exists. So this IS in fact a major step forward? thought so.

      I love how Slashdot goes idiotic about things when Microsoft is involved, but if this was Apple they'd be masturbating all over the screen because Apple has created something else that "just works" even though when it's Apple it's inherently crippled, and uses a dated horrible language like Objective C.

  5. Just make it happen for Civilization 5 by FunkSoulBrother · · Score: 3, Funny

    Make it happen for Civ 5, so I can play the same game on the TV at home, switch to the laptop when the wife wants to watch TV, then switch to the phone in the bathroom at work! My life would be complete.

  6. Re:"Cross Platform" by Simon80 · · Score: 4, Insightful

    The headline should read "Microsoft Demos Three Microsoft Platforms Running the Same Game".

  7. Re:Cross-platform? by v1 · · Score: 4, Insightful

    and lets you resume from that spot on whichever platform you happen to pick

    My take was a little different. "oh, so they finally got it to work the way it's expected to work? Congrats.

    1) use the same save game format
    2) use the same controller layout
    3) be network gaming compatible

    is this soooo much to ask?

    --
    I work for the Department of Redundancy Department.
  8. Only 90% of the code in common? by argent · · Score: 4, Interesting

    God almighty, their code base is more fragmented than I ever imagined.

    Even at the worst of the "UNIX wars", if you had to rewrite as much as 10% of your code to get it to run on (say) AIX, SunOS, and System V that meant you'd done a really bad job of isolating the platform-specific parts of your code. If Microsoft can't keep their code bases in sync when they control all of them and they have incentive to do so, they're really slipping.

  9. Re:Cross platform - maybe not so awesome by pcolaman · · Score: 3, Interesting

    There are a good number of people I know (including a few riflemen in the Marine Corps) who would most definitely disagree with your first statement. It's more of a matter of the ability of the shooter, not the accuracy of the rifle. The US Military has some highly accurate rifles, when put in the hands of the right shooter.

  10. Re:They've got their head in the sand by PaladinAlpha · · Score: 3, Insightful

    I'm going to ignore the mostly inflammatory content of your post, because there is a valid point in there -- that the complexity of a lot of operations are underestimated by those unfamiliar when they are heavily exposed to the end product. On that count, I agree.

    However, in this instance, at least, the concern is misplaced. I do have experience with cross-platform development, including any game-related subsystem you care to name (video, audio, mouse/kb/controller input, networking, file/data access, et cetera). The problem IS a trivial one if it is planned and accounted for, rather than a last-minute decision.

    For 99% of development studios, it goes something like this: use DirectX, porting is a nightmare. Use SDL/OpenGL, porting is changing less than 5% of your code (and for non-'exotic' applications, 0%). Some things are -designed- to allow portability; it should be no surprise that they enable it. This is quite simply a field that UNIX-alikes have been dealing with for a long time, and Windows applications have not.