What does XNA bring to games development?

Shifty Geezer

uber-Troll!
Moderator
Legend
As a spinoff thread from the Ballmer comments, anyone got any insider info on XNA? Is it a vastly more efficient development platform than already existing methods? Does it bring useful tools to accelerate the development process, or decrease costs noticeably? Is it anything new or just existing tools collected into a package deal and rebranded as XNA (as I read somewhere)?
 
I think its like DirectX SDK with tools that get updated every month, I think they already started doing it now.

Beside that, it will also contained some sort of standard. Like for Joypad, it mostly effects PC, as I understand it. Someone in the know please correct me, if I am wrong.

Wishful thinking, in the future PC that is XNAed can run Xbox2 games.
 
Microsoft typical vaporware applied to console world.

Not more than this.

I Know a lot of people that don´t know what the XNA is but at the same time they overhype the idea.
 
Shifty Geezer said:
As a spinoff thread from the Ballmer comments, anyone got any insider info on XNA? Is it a vastly more efficient development platform than already existing methods? Does it bring useful tools to accelerate the development process, or decrease costs noticeably? Is it anything new or just existing tools collected into a package deal and rebranded as XNA (as I read somewhere)?

It's the DirectX SDK with a different name.
 
As I understand, MS see XNA as a standard, kinda like MSX from the 80's. Allard has said MS wants to get out of hardware and would be happier for other manufacturers to burden the cost of the equipment to run XNA games.

There was talk of a 'level' system for hardware and I imagine it applying to XNA. You'll buy a PC or console and it'll be rated an XNA level, where maybe 1 is entry level and 10 is top end. When you buy a game you look on the back of the box and instead of (or as well as) CPU, RAM and HD requirements, you see a minimum XNA level required. As long as your PC is that level or higher you'll be able to play the game. So yeah, XNA capable PCs should be able to run XB2 games.

MS've also talked of PCs with console like gaming, so you don't boot into OS and install games, but pop in a disk and the game runs from that, maybe with temporary data installs to HD. MS certainly want to blur the lines between PC and console, as PCs as they stand are far from the friendliest machines to use and not the very best solution for that media hub that these companies are gunning for.
 
Shifty Geezer said:
As long as your PC is that level or higher you'll be able to play the game. So yeah, XNA capable PCs should be able to run XB2 games.

When did they start sticking PPC cores into PCs?

Because unless the XB2 compilers have started generating byte-code for a virtual machine, a XB2 executable isn't going to be much use to an intel platform...

Compiling it for both and having them use the same data assets (they're not then the same endianess!) will be quite non-trivial...
 
If XNA provides hardware access libraries, surely the code is CPU independant to some extent? As long as you don't hit the hardware but go through the libraries, just as DirectX works on diffrent cards with the same software interface regardless of the hardware implementation, portability should be okay. Depends what MS have in mind, but Allard has certainly sounded keen on this idea in interviews I've read.
 
XNA the vision is vaporware, but most visions are that way. It will probably remain that way forever, but MS might actually get there one day. You never know.

XNA the reality is probably something like DirectX with even more help. There's a good quote from a Monolith employee about the game Condemned. He claims X2 development is easier than GC and PS2 development (yes, yes, grain of salt) and slightly harder than Xbox development. And the only reason for that increase in difficulty is the added complexity of what MS allows you to do with the X2 that you cannot do with X1.

We should find out a bit more specifics at GDC, but don't get your hopes up.
 
Xna as it is now , is most likely not very impressive . Most likely some librarys and other things. But hopefully it will continue to grow and grow and be a helpfull tool .
 
Shifty Geezer said:
ASo yeah, XNA capable PCs should be able to run XB2 games.

MS've also talked of PCs with console like gaming, so you don't boot into OS and install games, but pop in a disk and the game runs from that, maybe with temporary data installs to HD. MS certainly want to blur the lines between PC and console, as PCs as they stand are far from the friendliest machines to use and not the very best solution for that media hub that these companies are gunning for.
PC's will not run XB2 games, period. The hardware is just too different, and even with DirectX the level of abstraction isn't anywhere near what you need (with futher reduces speed btw, critical in a real-time gaming environment).

We'll see with Longhorn how many of these ideas come to fruition. As others have said, the XNA promise is to get close to what MS is hyping, but I doubt it will coincide with reality. One thing is for sure: PC gaming has to get much, much easier - and quickly.
 
Shifty Geezer said:
If XNA provides hardware access libraries, surely the code is CPU independant to some extent? As long as you don't hit the hardware but go through the libraries, just as DirectX works on diffrent cards with the same software interface regardless of the hardware implementation, portability should be okay. Depends what MS have in mind, but Allard has certainly sounded keen on this idea in interviews I've read.

Libraries do not in any way make code CPU independant. They make it easier to *port* code over, or to compile for different targets. Once you compile in a library, or actually produce CPU code of any type at all, any portability is lost. DirectX's hardware independance works by having a driver layer between you and the gfx card. It's the drivers (and the manufacturers all sticking to the same standards thus exposing a standard API to all) which make it so useful.

What you're talking about it to introduce a driver layer between the code and the CPU it's running on...

Essentially that would be a virtual machine - like Java. Code would have to be interpreted, or JIT compiled. It'd be a performance nightmare, and many optimisations would be out of the window.

If MS do anything like that for next-gen (and I know the flirt with VM's on PC) then Sony will be laughing all the way to the bank.

You've got more chance running an XB2 game on a Mac than on a PC.
 
MrWibble said:
Shifty Geezer said:
If XNA provides hardware access libraries, surely the code is CPU independant to some extent? As long as you don't hit the hardware but go through the libraries, just as DirectX works on diffrent cards with the same software interface regardless of the hardware implementation, portability should be okay. Depends what MS have in mind, but Allard has certainly sounded keen on this idea in interviews I've read.

Libraries do not in any way make code CPU independant. They make it easier to *port* code over, or to compile for different targets. Once you compile in a library, or actually produce CPU code of any type at all, any portability is lost. DirectX's hardware independance works by having a driver layer between you and the gfx card. It's the drivers (and the manufacturers all sticking to the same standards thus exposing a standard API to all) which make it so useful.

What you're talking about it to introduce a driver layer between the code and the CPU it's running on...

Essentially that would be a virtual machine - like Java. Code would have to be interpreted, or JIT compiled. It'd be a performance nightmare, and many optimisations would be out of the window.

If MS do anything like that for next-gen (and I know the flirt with VM's on PC) then Sony will be laughing all the way to the bank.

You've got more chance running an XB2 game on a Mac than on a PC.

What about source code portability ? If the compiler is the one trusted to do ASM optimizations, then some of the headaches disappear (you have to port yourself portions of the code that imply a certain endianess).

Also, how about the claims that Managed DirectX (Direct3D) can get close to 5% of performance difference over C/C++ code compiled by a C/C++ compiler (claims made by Microsoft) ?
 
Panajev2001a said:
What about source code portability ? If the compiler is the one trusted to do ASM optimizations, then some of the headaches disappear (you have to port yourself portions of the code that imply a certain endianess).

Also, how about the claims that Managed DirectX (Direct3D) can get close to 5% of performance difference over C/C++ code compiled by a C/C++
compiler (claims made by Microsoft) ?

I've yet to see a compiler that I'd entirely trust with optimisation, and as for the performance claims of managed code - "I'll believe it when I see it". Just how "independant" is managed code anyway? I haven't particularly looked at it, but I imagined it wasn't a million miles away from native anyway...

They *could* go this route - I just don't think they will, because ultimately performance would take a big enough hit to affect their relative performance against the opposition.
 
I would imagine C# to be looked-down-on for big programs not because of the 5% but how unpredictable the 5% is. It would suck to have a framerate hit while playing NFL 2k6 because the garbage collection is going. That and there might be memory inefficiencies with managed code that would be taboo on consoles.

But if you were just making Freecell or something, it would be great. And it's also great for tools. But I doubt it'll expand much beyond that.
 
XNA is supposed to be this new set of "technologies" to allow us to make games easier. There's supposed to be an XNA implementation for PC, but even Microsoft doesn't know when/how/if this will happen. They say it will, and they want you to jump on the bandwagon, but it's kinda hard to do when you don't know what its future is.
 
Not to mention that most dev studios have their own "xna" type stuff for doing cross platform development. nice try by microsoft, but i don't think many people will pick it up. we still need to do ps3 games.
 
I can speak with a tiny bit of authority regarding XNA -though I don't feel like discussing why here.


There are two sides to XNA: The floaty vision and the real deliverables.

The floaty vision is the concept of cross-platform interoperation. The idea is that you don't just play Bungie's FPS on your Microsoft Xbox. You also play an RTS on your Microsoft Windows PC that is a second view into the same online community. When you are not playing, you can check your teams status through Microsoft Internet Explorer. If you are away from home, you use your Microsoft WindowsCE handhend device to connect wirelessly to manage resources and plan stategies.

That's a hokey example, but the point is to get all of the platforms Microsoft works on to work together in the hopes of being greater than the sum of their parts.


The deliverables are:
1) DirectX & HLSL
DX and HLSL already exists on both the PC and the Xbox. By declaring them part of XNA, MS magically gains some big deliverables for free. Isn't that special.

2) The PC gets it's own version of PIX
PIX is an awesome GPU profiling/debuging tool on the Xbox. It is wonderful. There is a version of it for the PC in the current DXSDK. It is not nearly as wonderful. In theory, it might be able to catch up, but it will take a lot of work from the driver writers to make that possible.

2.1) The PC gets it's own version of XACT
XACT is a really nifty audio library on the Xbox. It is much more suited to games than DirectMusic ever pretended to be. They should be able to reproduce it on the PC fairly well as soon as they get around to it.

2.2) There will continue to be technology cross-overs between the PC and the Xboxen, but I don't think any others have been announced yet.

3) More stuff to come... ... ...


I'm being a little sarcastic, but honestly I'm not complaining. Microsoft's developer support is really something to be commended. Their tools, libraries, documentation, samples and everything are consistently far better than what game developers have to deal with on other platforms.

The real point of XNA is Microsoft standing up to say "We realize that making great games is hard so we're going to do what we can to help." At least they're trying.
 
corysama said:
There are two sides to XNA: The floaty vision and the real deliverables.
The "floaty vision" sounds like a gaming version of the old .NET passport/Hailstorm/whatever meant for the business side of things where all things must pass through Microsoft once. Microsoft conceded to EA for Xbox Live, but how will EA react this "floaty vision"?

As for the "real deliverables", hmm, is it better than things like Alchemy which can share the same code and libraries APIs among PC/Xbox/GC/PS2/...?
 
corysama said:
The real point of XNA is Microsoft standing up to say "We realize that making great games is hard so we're going to do what we can to help."
The real point is to give the people in marketing some new material to work with without having to reinvent the wheel so to speak. Old wine in new bottles.
 
cybamerc said:
The real point is to give the people in marketing some new material to work with without having to reinvent the wheel so to speak. Old wine in new bottles.
:LOL:
Next time, you might want to make an analogy with a substance that does not improve with age.
 
Back
Top