PDA

View Full Version : MS Prepares PC Game Demos to Run on the Xbox 360


SymetriX
03-19-2006, 10:45 PM
Back in 2004 Microsoft announced XNA (http://www.microsoft.com/xna/), which aimed to make cross-platform game development easier (assuming, of course, that you are targeting Microsoft platforms).

Several Microsoft employees have begun confirming that XNA will soon be available for public testing (http://blogs.msdn.com/mklucher/archive/2006/03/16/552355.aspx) and suggest that a GDC (http://www.gdconf.com/) announcement is scheduled which would demonstrate an Xbox 360 running games which were initially developed for Windows.

Mike Zintel (http://blogs.msdn.com/mikezintel/default.aspx) from the Windows Mobile team had this (http://blogs.msdn.com/mikezintel/archive/2006/03/14/550958.aspx) to say:

...my team and the XNA team within Xbox, have been burning the midnight oil to allow us to demonstrate the feasibility of games written in managed code running on a .NET CLR on a final 360 dev kit. And I know that we’ve demonstrated the same game binary (almost the same; oh so close) running on the 360 kit, Windows and on Windows Mobile.
David Weller (http://www.inkblog.com/default.aspx) from the Xbox team confirmed this statement (http://www.inkblog.com/2006/03/15/Managed+DirectX+And+XNA.aspx):

Speaking of XNA....we have some wicked cool stuff to announce and demonstrate at the GDC. We even have a prototype of a CLR-based graphics app running on a 360 dev kit! Drool-tastic :P
It should be noted that the samples mentioned all seem to be written for the .NET framework, which is curious since .NET game development, althrough fully supported (http://www.developerfusion.co.uk/show/4387/) and even free (http://msdn.microsoft.com/vstudio/express/default.aspx) in some cases, has typically been solely in the domain of the hobbyist community.

Update: Press Release Here (http://www.evilavatar.com/forums/showthread.php?p=227528#post227528)

One can only dream if Microsoft would ever counter Sony by embracing homebrew development. Sadly, it is probably merely an effort to get commercial developers to begin switching to .NET.

outontheporch
03-20-2006, 12:26 AM
Super Nintendo is the best!

xanthome
03-20-2006, 12:47 AM
switch to .net? PASS

Vandenh
03-20-2006, 12:55 AM
This is mainly for Live Arcade stuff. Developing Live Arcade games in .Net will be much quicker and easier and they might run on PCs/handhelds and phones.

Actually... this is what I am doing right now :) Good to see the 360 being made available for me as a client platform :)

MrMeatshake
03-20-2006, 03:44 AM
woo! i wanna check out some games dev. in .NET.

coding in .NET: type two letters - dev. env. suggests a number of completions for the rest of the line, choose one, and it adds the rest of the function too...

Vandenh
03-20-2006, 04:04 AM
coding in .NET: type two letters - dev. env. suggests a number of completions for the rest of the line, choose one, and it adds the rest of the function too...

Errr?? The C++ editor does the same thing dude....

Ha I guess you were talking about assembler. My bad.

bapenguin
03-20-2006, 04:22 AM
This is a goldmine for developers. Develop the title once and it's available on 3 platforms? Awesome.

StGeorge
03-20-2006, 04:30 AM
Yeah 3 platforms, excluding PS3. This is why it'll never happen (at least for non MS Studio games). Most companies already have a custom code library that abstracts out Xbox, PS2 and PC (which is why EA and Ubi can crank out the same game for different platforms easily). That abstraction has been extended to XBox 360 and eventually PS3. XNA is just another lame MS attempt to lock-in developers to a Windows-only mentality because .NET will never be ported to PS3.

emjoi
03-20-2006, 04:57 AM
.NET is Microsofts equivalent to Java.
The CLR is like the Java Virtual Machine.
Code is compiled down to Pseudo-Machine Code, then properly compiled "Just In Time" down to true machine code as the program is run.

That's well and good for general desktop apps, but for heavy duty cutting edge 3D games? No sir.

But maybe for things like online casino games or cards etc...

noxa
03-20-2006, 05:13 AM
There will always be a small place where managed code can't get in terms of performance, however that is not where the money is (Doom3, although entirely possible from managed code, would run ~75-80% slower, but doom3 and it's licenses is a small part of the market). And even then, Moore’s law lets us wait a year or two and get that performance ‘for free’ (well, maybe not with consoles – that’s ever few years). For the games that make money and the ones that break barriers, .NET is a great choice. Katamari Damacy, any Xbox Arcade game, Smash Brothers Melee - none are based on Doom3 or Source. What matters in those games is not the hand optimization of every routine, but the ease and speed at which it can be developed. In the game industry, that’s what matters. I see this being a good thing, and only opening doors.

Note: I’m a .NET developer, and do have experience writing games in .NET and C++.

koorb
03-20-2006, 05:32 AM
.NET is Microsofts equivalent to Java.
The CLR is like the Java Virtual Machine.
Code is compiled down to Pseudo-Machine Code, then properly compiled "Just In Time" down to true machine code as the program is run.

That's well and good for general desktop apps, but for heavy duty cutting edge 3D games? No sir.

But maybe for things like online casino games or cards etc...
It's people like you who slowdown the takeup of .Net because that is false and Microsoft will be dispelling these and other myths at the GDC presentations.

AniAko
03-20-2006, 05:52 AM
This is a goldmine for developers. Develop the title once and it's available on 3 platforms? Awesome.

Plus I'm sure it would be compatible with the newly "claimed" *** portable system they're coming up with. So that might total up to 4 platforms. Righteous

KhitomerRouge
03-20-2006, 05:55 AM
I'd rather they focused on full backwards compatibility instead. And .NET can suck it.

Norse
03-20-2006, 06:11 AM
Yeah backwards compatibility is the future...

kokyunage
03-20-2006, 06:22 AM
Didn't they say this about Java when it first came out? Develop once and release it on every platform. Too bad it never works as advertised. This at most will be for cheesy low-graphics Arcade type of games.

Move on.

bapenguin
03-20-2006, 06:30 AM
Press Release for this:

Microsoft Unveils XNA Framework and Delivers First of New XNA Tools to Inspire Game Innovation
Company also opens Xbox Live services, giving developers the freedom to further customize in-game online experiences.

SAN JOSE, Calif. — March 20, 2006 — In the face of escalating game development costs, expanding teams and ever more complex hardware technologies, Microsoft Corp. today delivered a pre-release version of the first XNA™ Studio tools and unveiled the XNA Framework to attendees of the Game Developers Conference 2006 in San Jose. Microsoft also announced that the company is opening its Xbox Live® Server Platform to game developers and publishers, allowing them to innovate and extend the Xbox Live experience in their titles.

XNA Studio Eases Game Production Challenges
XNA Studio represents a set of tools and technologies Microsoft is building to help streamline and optimize the game development process.

“Developers need a better way to make games and manage the production process,” said Chris Satchell, general manager of the Game Developer Group at Microsoft. “XNA Studio enables all developers — from major development studios to the two guys moonlighting on a dream project in their garage or dorm room — to create games in new, more efficient ways.”

This community technology preview (CTP) represents the first public opportunity for game developers to get their hands on key components of XNA Studio. Included in the CTP is a pre-release version of XNA Build, which delivers mechanisms for orchestrating, debugging and optimizing the game build pipeline. XNA Build also provides studios with a foundation that helps them easily identify game asset relationships and dependency information to unlock a wealth of benefits, ranging from incremental content builds to assistance in identifying orphaned or unused content. Tools such as XNA Build enable game developers to spend less time building and maintaining their internal tools infrastructure, and more time creating great game experiences.

“Creativity is the core of Ubisoft’s success. Since the very early days of Windows® and Xbox®, and now with Xbox 360™, XNA and soon Windows Vista ™, Microsoft has provided us with excellent developer tools, support and online services in addition to great hardware,” said Martin Sevigny, director of production technology at Ubisoft Entertainment SA. “With this collaboration, our developers can focus on their creation instead of being constrained by the platform.”

XNA Framework Simplifies Cross-Platform Game Development
The XNA Framework contains a custom implementation of the Microsoft® .NET Framework and new game-development-specific libraries designed to help game developers more easily create cross-platform games on Windows and Xbox 360 using the highly productive C# programming language. Using the XNA Framework, game developers will benefit from the ability to re-use code and game assets in developing multiplatform titles, without sacrificing performance or flexibility.

“We’ve been writing games for the last 15 years as monolithic, single code bases that are growing unwieldy and complex,” said Chris Butcher, lead developer at Bungie Studios. “C# on Xbox 360 lets us think about new modes of programming. It lets us get back to creating a game rather than wresting with code, while maintaining the real-time performance that we need.”

With millions of developers worldwide proficient in C#, the XNA Framework is designed to make game development significantly more approachable for independent and aspiring game developers, while enabling rapid prototyping and concept iteration.

“We were proud to be a launch partner with Microsoft for Xbox 360 Live Arcade, and we’ve been pleased with its success so far,” said James Gwertzman, director of Business Development at PopCap Games Inc. “Anything that simplifies the process of creating great casual games and lowers the development complexity for Windows and Xbox 360 is something we’re happy to support.”

Xbox Live Services Open In-Game Innovation
In addition to XNA Studio, Microsoft today announced further enhancements for extending Xbox Live services with the Xbox Live Server Platform. Using this platform, developers can create their own back-end servers to run alongside Xbox Live. Developers will get firsthand experience with this update — which provides easier-to-manage and more scalable technology on Xbox Live — in the next Xbox Development Kit, expected in May. Microsoft Game Studios’ blockbuster Xbox 360 game, “Project Gotham Racing® 3,” offers an early example of how these services can work; up to 30,000 gamers can easily watch other racers play in real time through Spectator Mode. More recently, in the stunning “Burnout: Revenge” from Electronic Arts Inc., the Live Revenge feature and the Save and Share feature were made possible by functionality that will now be distributed through the Xbox Live Server Platform.

By opening the Xbox Live Server Platform, Microsoft provides developers and publishers with the tools and environments they need to create all-new online game experiences, and delivers the benefits of an open platform for innovation while providing the solid foundation of the full-featured Xbox Live service. Developers will be able to tap into real-time Extensible Markup Language (XML) feeds to update things such as weather, rosters or other changing information. The Xbox Live Server Platform can also be used to support the creation of massively multiplayer online game worlds. In addition, it will serve as the enabling technology for game developers to unleash their creativity to bring a steady stream of fresh ideas to the Xbox Live gamer community.

With XNA Studio, XNA Framework and Xbox Live services, Microsoft provides a trio of technologies that enable game developers to manage the escalating demands of game production, effectively deliver game experiences across multiple platforms and provide innovative experiences for casual to hard-core gamers in the rapidly expanding online market.

About Microsoft
Founded in 1975, Microsoft (Nasdaq “MSFT”) is the worldwide leader in software, services and solutions that help people and businesses realize their full potential.

#########


Microsoft, XNA, Xbox Live, Windows, Xbox, Xbox 360, Windows Vista and Project Gotham Racing are either registered trademarks or trademarks of Microsoft Corp. in the United States and/or other countries.
The names of actual companies and products mentioned herein may be the trademarks of their respective owners.

Roc Ingersol
03-20-2006, 06:38 AM
It's people like you who slowdown the takeup of .Net because that is false and Microsoft will be dispelling these and other myths at the GDC presentations
While he's wrong in implying that all of .Net is like java, he's right about the CLR. It is a virtual machine. And more to the point: this presentation is about .net apps that use the CLR.

my team and the XNA team within Xbox, have been burning the midnight oil to allow us to demonstrate the feasibility of games written in managed code running on a .NET CLR on a final 360 dev kit

You definitely can write code to the metal with .net, but this whole demonstration only applies to the apps that don't.

This is 'nice' for XBLArcade devs. That's about it.

Serapth
03-20-2006, 07:12 AM
Ok, as a developer, even after reading the press release, I still cant figure out what the fuck XNA actually is.

Is it middle ware like the Unreal engine?

Is it a common asset file format?

Is it a repackaging of the new MSBuild?

Is it a glorified source code versioning system?

Is it .net for games?

Or is it all of these things???

Karmakaze
03-20-2006, 09:51 AM
There will always be a small place where managed code can't get in terms of performance, however that is not where the money is (Doom3, although entirely possible from managed code, would run ~75-80% slower, but doom3 and it's licenses is a small part of the market). And even then, Moore’s law lets us wait a year or two and get that performance ‘for free’ (well, maybe not with consoles – that’s ever few years). For the games that make money and the ones that break barriers, .NET is a great choice. Katamari Damacy, any Xbox Arcade game, Smash Brothers Melee - none are based on Doom3 or Source. What matters in those games is not the hand optimization of every routine, but the ease and speed at which it can be developed. In the game industry, that’s what matters. I see this being a good thing, and only opening doors.

Note: I’m a .NET developer, and do have experience writing games in .NET and C++.

Even for the high-end high-performance mutli-million dollar engines, .NET is becoming more viable. Why? Because all the new gfx features, where you really need to optimize things, are being implemented in HLSL on the GPU. .Net wouldn't replace that.

Then there's all the game logic, AI, and 'game loop' stuff. Think about of the Q3 engine. Id wrote their own scripting language based off an open source compiler and the Java VM. Why not use .net instead, where you get access to all the different languages (IronPython, C#, etc.) as a choice for scripting, scripting that would be compiled and strongly type checked?

And besides, P/Invoking is easy. If you really need to write, say, your physics lib in C++, you can. .NET is great for the "glue" holding your various engine pieces and your GPU interfaces together, and can gradually replace more and more of your legacy code as technologies like XNA advance.

The big problem, I see, is true cross-platform development. You won't see .net on the Rev or PS3, so you are locking yourselves into the 360 and the PC (possibly the Mac and Linux with Mono, though I doubt they'll be able to emulate the DirectX layer), so you probally won't see the Doom or Unreal engines ported over, but if I was starting on a next-gen 3d engine right now, I for one would seriously consider this.

Mason
03-20-2006, 09:51 AM
If you'd like to have an opinion on this topic, please read through this (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndotnet/html/fastmanagedcode.asp) document. It's referencing .NET 1.1, and I can verify that they've made several performance improvements in 2.0, but it's enough to give you an idea about the actual cost of managed code.

Managed DX samples are just as fast as their C++ equivalents, so C# sets up renders without penalty. It can be a superior solution for resource access, as intelligent use of finalizers can guarantee resource cleanup. It's as fast as anything when it comes to raw math (http://www.osnews.com/story.php?news_id=5602&page=3). If you have the memory to spare, the GC will actually outperform malloc/free in many scenarios. You have the choice between JIT execution or pre-JITing your assemblies with ngen, if you want to speed up initial execution. C++/CLI can mix managed and unmanaged code, to get the best performance and productivity where they are needed.

If you write a custom memory manager and hand-code assembler paths for each SIMD set (shaders as well), you'll always win on performance, given infinite money and time. Do anything less, or start trying to make life easier with smart pointers, HLSL, STL etc, and you've started to trade performance for productivity. The question isn't whether or not it is right to make those trade-offs (it is, live with it), but rather which trade-offs give you the most productivity for the least cost in performance.

XNA "contains a custom implementation of the Microsoft® .NET Framework and new game-development-specific libraries". I haven't gotten to mess around with it, but offhand, if they've really reworked the .NET Framework and CLR to specifically address game performance needs, it isn't impossible to imagine that it will offer substantial productivity benefits with a performance cost substantially less than the standard Framework, which is generalized to run all kinds of different apps. Rejecting it out of hand as a gaming technology simply because it contains the word .NET is pretty ignorant.

jeffbax
03-20-2006, 09:56 AM
Yeah 3 platforms, excluding PS3. This is why it'll never happen (at least for non MS Studio games). Most companies already have a custom code library that abstracts out Xbox, PS2 and PC (which is why EA and Ubi can crank out the same game for different platforms easily). That abstraction has been extended to XBox 360 and eventually PS3. XNA is just another lame MS attempt to lock-in developers to a Windows-only mentality because .NET will never be ported to PS3.
You mean like Sony does with their hardware designs?

If its good for developers then its good for us.

Mason
03-20-2006, 10:01 AM
While he's wrong in implying that all of .Net is like java, he's right about the CLR. It is a virtual machine. And more to the point: this presentation is about .net apps that use the CLR.

It's a virtual machine...except when you want it not to be. Unsafe code can grab memory pointers and use them in the exact same way as C++. That isn't "not using the CLR", as the CLR itself contains unsafe methods.

You definitely can write code to the metal with .net, but this whole demonstration only applies to the apps that don't.

This is 'nice' for XBLArcade devs. That's about it.

See above.

Mason
03-20-2006, 10:10 AM
Didn't they say this about Java when it first came out? Develop once and release it on every platform. Too bad it never works as advertised. This at most will be for cheesy low-graphics Arcade type of games.

Move on.
Sun Java promised their stuff would run on platforms they don't own. MS pulling off execution on multiple platforms that they do own is pretty reasonable. And hell, binary compatibility is overkill, simple methods for source code compatibility and picking a build target are all most companies need.

Graphics are what's rendered; rendering occurs on the GPU, not the CPU. Try again.

falcon
03-20-2006, 10:32 AM
We ran an intereview with them last year that has a little more info on what exactly XNA Studio is and how it differs from VS2K5

www.gamingnexus.com/Default.aspx?Section=Article&&I=847

Roc Ingersol
03-20-2006, 10:38 AM
It's a virtual machine...except when you want it not to be.
It doesn't cease to be an interpreter, simply because it lets you do things other interpreter's don't. I never said it was bad, or had java's baggage. I said it was a virtual machine - because it is.

If you associate 'virtual machine' with 'bad', it's a shame. But don't project your value judgements on me.

See above.
I don't know of any developers doing an ambitious titles that is using the CLR.
Not because it's bad (see above), but because they've got to write code as portable as possible, and reuse as much code as possible from prior projects.

Mason
03-20-2006, 10:38 AM
The big problem, I see, is true cross-platform development. You won't see .net on the Rev or PS3, so you are locking yourselves into the 360 and the PC (possibly the Mac and Linux with Mono, though I doubt they'll be able to emulate the DirectX layer), so you probally won't see the Doom or Unreal engines ported over, but if I was starting on a next-gen 3d engine right now, I for one would seriously consider this.

Eh, all 3 companies desire exclusivity. Freely providing productivity-boosting tools and technologies is a lot better reason than Sony's "bludgeon companies with our marketshare" approach. Microsoft came a long ways by appealing to developer productivity, and we'll just have to wait and see if that approach will be persuasive in the gaming market.

But recall, Nintendo's specs and control scheme don't make it the ripest platform for any type of porting, which leaves you with "to PS3 or not to PS3?" If PS3 development is as messy as has been suggested, Microsoft offering some nice toys in exchange for implicit exclusivity could be effective with mid-tier developers.

Plenty of high-end games have only targeted PC and/or XBox, though, so it isn't like losing out on the ability to put your game on 4 platforms is a deal-breaker. We could go through a list, but I doubt it is needed.

Mason
03-20-2006, 10:56 AM
It doesn't cease to be an interpreter, simply because it lets you do things other interpreter's don't. I never said it was bad, or had java's baggage. I said it was a virtual machine - because it is.

If you associate 'virtual machine' with 'bad', it's a shame. But don't project your value judgements on me.

"Interpreter" isn't a valid way to describe any JITed environment. Once it has been JITed, it is native code, through and through.

An environment stops being "virtual" when it is running native code that's accessing unmanaged memory and the underlying platform API. If that's a VM, then so was MSVCRT.

I don't know of any developers doing an ambitious titles that is using the CLR.
Not because it's bad (see above), but because they've got to write code as portable as possible, and reuse as much code as possible from prior projects.

C++ has been the default language for a decade, C for longer than that. I think it'd be pretty nutty if we did see everyone immediately jumping to something else. If C# and XNA can provide better productivity and a caveat-free experience, then it'll still take years before they're adopted in any serious way. That has nothing to do with the virtues of the language or runtime and everything to do with the rational inertia of sticking with what worked in the past.

koorb
03-20-2006, 12:34 PM
Ok, as a developer, even after reading the press release, I still cant figure out what the fuck XNA actually is.

Is it middle ware like the Unreal engine?

Is it a common asset file format?

Is it a repackaging of the new MSBuild?

Is it a glorified source code versioning system?

Is it .net for games?

Or is it all of these things???
I remember going through the same thing when .Net was first released. Yes, XNA is an underlying platform AND stuff on top to manage everything. It will do everything and anything you want it to.

Karmakaze
03-20-2006, 12:37 PM
Even though I agree that XNA could be used for 'full-scale' apps, Microsoft's Ace in the hole here really is XBLA. They can ship some nice "proof of concept" XBLA games for $5-10.

Though I wonder how they'll get their modified .NETCF framework on the 360? It's pretty big for a dashboard update. I guess maybe the first .NET XBLA game you DL will be an extra ~20 megs, and they'll just throw it on the DVD for any game that uses it.

koorb
03-20-2006, 12:47 PM
Not for one second do I believe Microsoft is doing this to LOCK developers into not developing for the PS3 or REV. .Net assemblies are very portable and can easily be disassembled and reassembled in whatever language you want, but if Sony or Nintendo wanted to support developers they could easily follow the Mono guys and create a framework of their own that runs .Net assemblies. Hell you can even edit the assemblies with Notepad.

MasterKwan
03-20-2006, 02:01 PM
Yeah, I'm a C++ programmer by trade but, I've been teaching myself to use C# and .net lately because it (and the whole .Net thing) IS the wave of the future. Does mono support WinForms yet? I'd love to go crossplatform one of these days.

MFC's gotten pretty long in the tooth.

As for Sun and Java, it was a cluster-F from day one. Every update to Java broke old apps. I'm glad I stayed away from it. Microsoft though, they really know how to do a development environment that's a pleasure to use.

koorb
03-20-2006, 06:00 PM
Yeah, I'm a C++ programmer by trade but, I've been teaching myself to use C# and .net lately because it (and the whole .Net thing) IS the wave of the future. Does mono support WinForms yet? I'd love to go crossplatform one of these days.

MFC's gotten pretty long in the tooth.

As for Sun and Java, it was a cluster-F from day one. Every update to Java broke old apps. I'm glad I stayed away from it. Microsoft though, they really know how to do a development environment that's a pleasure to use.
Yes they have and from the demos I have seen everything looks like it is working great. The big problem is that everything seems to be working great in voodoo command windows. Once they get documentation and a featured IDE it will be a great platform for open source developers.

Zeal
03-20-2006, 06:14 PM
HALO 3 will probably be networked with its Vista counterpart. Bungie mentioned working with XNA in a previous interview, so it wouldn't suprise me at all.