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."

30 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 Vermyndax · · Score: 2, Insightful

      Yep, you beat me to it. I was going to comment... how is this cross-platform? It's all Windows technologies and .NET. That's hardly cross-platform. Show it to me on Windows, Linux, Mac, Wii, Xbox and PS3 and that'll be something to post an article about.

    2. Re:Not Cross Platform by DeKO · · Score: 2, Funny

      Remember, one of the definitions of cross platform is that it still works after a system restart.

    3. 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. Re:90% shared code? by inputdev · · Score: 2, Insightful

    I agree, There is nothing special about running with or without a game controller. It sounds like the only thing "new" here is Windows Phone 7 Series. So they got the game to compile for the phone? Whoohoo! Good for them, I never imagined it to be possible.

  3. 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.
    4. Re:Meanwhile... by drsmithy · · Score: 2, Informative

      Windows XP/7, Windows Mobile, and Xbox are not all running Windows. They are all entirely independent code-bases that were developed separately.

      This is not correct. The XBox [360] OS is a Windows NT fork (from Windows 2000, IIRC, or maybe XP).

  4. So now pc games will be dumbed down to phone level by Joe+The+Dragon · · Score: 2, Insightful

    So now pc games will be Dumbing down to the phone level.
    And If you think that deus ex 2 was bad with that then this may even worse.

    And will this lock out user maps and mods.

  5. Re:90% shared code? by sourcerror · · Score: 2, Interesting

    Actions script is a dynamic interpreted, and it significantly limits its performance. Writing cross platform c++ code is significantly harder.* (Although, if you use a compilers by the same vendor it makes things easier.)
    I guess this demo was about to showcase their cross-platform gaming libraries. I guess 10% non-shared parts were responsible for the different user-interface controls.

    * I guess it's more likely some c++ libraries with .net bindings.

  6. 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.

  7. Re:90% shared code? so what? by maxume · · Score: 2, Insightful

    If you have platform specific bits, you merely have very high code reuse, not 100% code reuse.

    --
    Nerd rage is the funniest rage.
  8. Re:Cross-platform? by thePowerOfGrayskull · · Score: 2, Insightful

    Indeed. "Cross-platform" for an extremely narrow definition of "platform".

  9. 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.

  10. Re:90% shared code? by Anonymous Coward · · Score: 2, Interesting

    Have you ever played a Flash game with a joystick or a gamepad? On any machine without a keyboard or mouse? How about a Flash game that makes use of 3D hardware?

    Yeah, that's what I thought.

    dom

  11. 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.

  12. Re:90% shared code? by drinkypoo · · Score: 2, Insightful

    Flash is the platform. It's not a particularly efficient one on Windows, let alone any of the places where an inferior knockoff is provided. You can get halfway decent performance on OSX (from what I hear) and you get almost that good of an experience with Linux on x86_64... Or in other words, ugh.

    --
    "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  13. They've got their head in the sand by PaladinAlpha · · Score: 2, Interesting

    I can see where this is news for Microsoft, king of platform-specific APIs. For those of us accustomed to developing using, say, SDL and OpenGL, this isn't news at all, as a properly written program using said libraries will need literally zero changes between several platforms. The input bit is tricky, but 90% reuse is low, I would think.

    1. 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.

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

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

  15. Virtual Machine? by wmspider · · Score: 2, Insightful

    Wow, they actually got a .NET program working on several different microsoft operating systems! Now, seriously, where's the news? .NET runs on a virtual machine. It's just like showing a Java game that "magically" works on several differnet PLATFORMS (and with Java they can be called platforms, a program running on several different microsoft products can hardly be called cross-platform).

  16. 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.
  17. Re:90% shared code? by gbjbaanb · · Score: 2, Interesting

    Nothing is going to be native C++ on Windows anymore. Microsoft is only interested in using .NET, probably C#, for *everything*.

    Its their new lock-in. Developers write in C# and find their code only works on Microsoft platforms. Then they look at their developer tools and features MS has packed in there and think "I don't know/not interested in writing code that works on alternative platforms", as Ballmer grins and rubs his hands together.

    I know the 'real' game studios all use C++, so I understand where you're coming from, but this is MS. This is their new strategy for even more dominance.

  18. 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.

  19. Re:Cross platform - maybe not so awesome by mobby_6kl · · Score: 2, Informative

    Rifles in the real world are more accurate than they are made to be in the games. For instance, IRL it's possible to hit a person-sized target at 300 meters with a simple M-16, while in a game, you'd be happy to do that at 100m, and might even need some optics to pull that off. So yeah, it's already hard to hit a moving target a at a long distance, there's no need to also have to fight an inferior input device while doing this.

    Also, in any "realistic" game like Rainbow Six or SWAT two people bumping into each other at close range will almost instantly result in at least one corpse, not a prolonged gunfight. I'm sorry if that's not something your console allows you to experience, it's great fun and leads to very tense and exciting matches :D

  20. 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.