Microsoft Demos Three Platforms Running the Same Game 196
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."
Not Cross Platform (Score:5, Insightful)
We expect them to be pushing studd across their own platforms. Not news.
Re:90% shared code? (Score:2, Insightful)
Re:Not Cross Platform (Score:3, 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.
Meanwhile... (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.
So now pc games will be dumbed down to phone level (Score:3, 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.
Re:90% shared code? so what? (Score:2, Insightful)
If you have platform specific bits, you merely have very high code reuse, not 100% code reuse.
Re:Cross-platform? (Score:3, Insightful)
Cross platform? (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.
Re:90% shared code? (Score:3, 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.
Re:Cross platform? (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...
Re:"Cross Platform" (Score:5, Insightful)
Virtual Machine? (Score:2, Insightful)
Re:Cross-platform? (Score:5, 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?
Re:Cross platform? (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.
Re:90% shared code? (Score:1, Insightful)
Re:Meanwhile... (Score:5, Insightful)
Re:They've got their head in the sand (Score:4, 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.