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."
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.
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.
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.
The headline should read "Microsoft Demos Three Microsoft Platforms Running the Same Game".
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.
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.