-
-
- (0)
-
premium membership
-
Posts
9
|
Professional game developers using XNA
|
To the XNA guys,
Could you tell me why experienced game developers would choose to use XNA over the standards(C++, directX)? When they are developing the latest and greatest graphical game it seems that they would have to use C++ for better and faster performance. It makes sense to say that express is for students to learn but what will it do for professional developers that already know how to use the current standards?
Thank you
Tom
|
|
-
-
- (520)
-
premium membership
MVP
-
Posts
942
|
Re: Professional game developers using XNA
|
Not an XNA guy, but perhaps I can fill in for one until those west coasters wake up ;-) KalaniTom:Could you tell me why experienced game developers would choose to use XNA over the standards(C++, directX)?
They probably wouldn't ... an experienced game studio will likely have a significant unmanaged tool and engine investment. Especially if they need to be able to port to other systems (ps3, wii). However, if it is a new studio that is only targetting Windows and XBox 360, then I see no reason that they can't consider XNA. In fact, there's already one documented case of a new studio doing just that. Think about it ... the cost for one (1) developer could be as low as the cost of 1 xbox360 retail unit, and 1 XNA Creators Club subscription. When they are developing the latest and greatest graphical game it seems that they would have to use C++ for better and faster performance.
Probably, yes :-) if you're writing the next gears of war, then you might want to reconsider ... but how many people write games on that scale? It makes sense to say that express is for students to learn but what will it do for professional developers that already know how to use the current standards?
again, if you're a professional developer working at an established studio that releases skus for multiple platforms (ie. more than just win and 360), then it doesn't make a whole lot of sense (except for maybe prototyping). But if you quit that job to form your own studio, then IMO, XNA is a great prospect :-D
Joel Martinez - XNA MVP Blog: http://codecube.netXNA Unit Testing: Scurvy Test
|
|
-
|
|
Re: Professional game developers using XNA
|
Imagine this, you work at a game company, and you want to prototype a new game idea for XBOX 360. You have access to XNA, and you have access to the XDK. You have 2 months to make a demo, what technology do you pick? I would pick XNA, it would be easier to quickly prototype something. If your idea got approved, then you use the XDK to design the game.
Other than that scenario, I do not see why a professional would choose XNA as the technology they deliver their product on, unless they could not afford or were denied an XDK.
|
|
-
|
|
Re: Professional game developers using XNA
|
Didn't Vanguard use XNA? Or did they redo that when Microsoft passed them off to SoE? This is going from old memory before I really knew what XNA was so I could easily be mistaken and if they were using XNA it obviously had to be a pre-beta.
As for moving forward, game companies would have to be constantly updating their technology regardless. New versions of DirectX come out, new and more capable graphics cards and PCs come out etc. etc. Like anything else there will be a lag BECAUSE of their current investment as well as the fact that their current staff have the old skill set. However, those things won't hold it back forever.
The things they'll care about will be things like quality of the work they can do, how fast they can do it, how solid and well supported XNA is, how many people know it (so they can staff up), how it affects the platforms they can target etc. If it lets them develop the same game faster, that would be a VERY strong incentive to start moving in that direction. The move couldn't happen overnight, but it would most likely happen.
Time doesn't stand stil. Old technologies have to make way for new and any company which relies on technology (such as every game company) for their competitive edge (in fact their very survival) has to be very attuned to that or they'll loose out to a competitor who is.
Naturally there will be resistance, especially from people who learned the old technologies and don't want to learn the new.
But the bottom line is going to be whether XNA offers a material advantage over C++/DirectX. If it does then it'll start showing up in games in a couple years, if it doesn't it won't.
That's how I see it anyway.
|
|
-
-
- (520)
-
premium membership
MVP
-
Posts
942
|
Re: Professional game developers using XNA
|
remember that XNA is actually more of an umbrella brand. They could easily have been saying that it was going to use XNA Build or something.
the XNA/C# stuff is officially called the XNA Framework, while the tools surrounding that is XNA Game Studio Express
Joel Martinez - XNA MVP Blog: http://codecube.netXNA Unit Testing: Scurvy Test
|
|
-
|
|
Re: Professional game developers using XNA
|
To the original question - there was an interview with one of the XNA strategists recently (sorry I don't have the link).
The gist of it was Microsoft have a long term strategy to become the dominant player in worldwide game development, similar to their success with 'Windows for Business'. One of their main tactic's for this strategy is building XNA into the 'Windows for Games', a completely hardware independant o/s for game development, used for all targets from mobile phones to highend work stations.
So, in the next few years XNA will not replace DirectX as the core technology of leading edge games, but if Microsoft succeed in their vision, which may be sooner than expected, XNA or whatever it evolves into, will become the development platform of choice for most (80-90%?) game projects worldwide on all hardware platforms.
Thats my take on it anyway.
Game hobbyist hell-bent on coding a diabolical Matrix
|
|
-
|
|
Re: Professional game developers using XNA
|
And I can't wait until it does! It's undeniable that Microsoft has been successful because they have always catered to the developer. More developers drawn to a platform means more end users need that platform.
Managed code can greatly improve developer productivity, and with a small bit of knowledge on how it works is only a few percentage points slower than native compiled C++.
I'd be ok if Gears of War lost 3% off an explosion here or there and in return was able to turn out sequels with the same gameplay every Christmas. Some of the guys above were right on it though, you can't use XNA on a PS3 or a Wii so it's just not ready to take over the world yet.
|
|
-
|
|
Re: Professional game developers using XNA
|
I agree that the performance difference between XNA and DirectX does not appear to be very significant. Just look at the Racing Game starter kit, which is a very detailed professional quality game. XNA can help studios produce games faster and at lower cost. Furthermore, I've heard that at some point there will be an XNA Game Studio Professional which will obviously be marketed to professional studios.
Also, I believe that eventually (in a future release of Windows) the native Win32 subsystem will be phased out and replaced with a low level Managed implementation (such that Managed libraries do not need Native libraries to interact with the hardware and core OS features), at which point any performance difference which may exist today between Managed and Native code should be eliminated. It's my understanding that even today some Managed libraries do not need to use Native libraries.
|
|
-
|
|
Re: Professional game developers using XNA
|
Goriax:
DirectX: Yes. XNA Framework, or any other managed code: No.
Goriax:
But the bottom line is going to be whether XNA offers a material advantage over C++/DirectX. If it does then it'll start showing up in games in a couple years, if it doesn't it won't.
That's how I see it anyway.
Some game parts are still written in assembler. Others in C. Most in C++. It stands to reason that developers will use managed code for gaming in places that it makes broad economical sense.
http://letskilldave.com http://twitter.com/letskilldave
|
|
-
|
|
Re: Professional game developers using XNA
|
Kyle_W_:
Also, I believe that eventually (in a future release of Windows) the native Win32 subsystem will be phased out and replaced with a low level Managed implementation (such that Managed libraries do not need Native libraries to interact with the hardware and core OS features), at which point any performance difference which may exist today between Managed and Native code should be eliminated. It's my understanding that even today some Managed libraries do not need to use Native libraries.
It will be a very long time before native libraries are subsumed by managed libraries.
A very, very long time.
http://letskilldave.com http://twitter.com/letskilldave
|
|
-
|
|
Re: Professional game developers using XNA
|
Craig Martin:
So, in the next few years XNA will not replace DirectX as the core technology of leading edge games, but if Microsoft succeed in their vision, which may be sooner than expected, XNA or whatever it evolves into, will become the development platform of choice for most (80-90%?) game projects worldwide on all hardware platforms.
DirectX is a part of the XNA brand.
XNA is a brand, not a product.
Windows is a brand. Not a product.
Yes, we (internally at Microsoft) haven't done a good job in the past of making it clear that when we say "XNA", we are referring to industry-leading software, services, resources, and communities focused on enabling game developers to be successful on Microsoft gaming platforms.
http://letskilldave.com http://twitter.com/letskilldave
|
|
-
|
|
Re: Professional game developers using XNA
|
David "LetsKillDave" Weller:DirectX is a part of the XNA brand.
XNA is a brand, not a product.
Windows is a brand. Not a product.
Yes, we (internally at Microsoft) haven't done a good job in the past of making it clear that when we say "XNA", we are referring to industry-leading software, services, resources, and communities focused on enabling game developers to be successful on Microsoft gaming platforms.
That seems to be a common thing across Microsoft divisions, e.g. see the Live confusion (if you're in a positive mood) or Live debacle (for the negative point of view) :]
We are boki. The rest is known. The not so known part of the rest: It is Björn or Bjoern, but never Bjorn. Twitter ~ Bnoerj ~ SharpSteer ~ SgtConker.com
|
|
-
|
|
Re: Professional game developers using XNA
|
How can Windows not be a product when I saw it in the store just the other day? :(
|
|
-
-
- (13069)
-
Team XNA
-
Posts
8,589
|
Re: Professional game developers using XNA
|
That was "Microsoft Windows Vista Ultimate Edition", which is a product that comes under the larger "Windows" brand.
Just like "XNA Game Studio Express" is a product that forms part of the "XNA" brand.
XNA Framework Developer -
blog - homepage
|
|
-
|
|
Re: Professional game developers using XNA
|
Ok well maybe we all should start referring to DirectX as XNA Native DirectX then and perhaps Microsoft should rename it as such in the forums.
In any event this is obviously turning into a discussion of semantics when the original topic of this thread was a question of why professional studios would choose to use the managed technologies. Increased productivity and faster release dates are obvious benefits, but I think the performance difference will need to be more precisely measured in order for professional studios to make an informed decision about which technology to choose. I'm sure that spending a lot of time developing a managed game that ends up being too choppy to play would be any studio's nightmare. Unless Microsoft can adequately quell this fear, it's probably unlikely that professional studios will invest in the managed technologies.
|
|
-
|
|
Re: Professional game developers using XNA
|
I know for a fact that studios are interested in the potential of XNA. Who wouldn't be? Maybe some programmers set in their ways of doing things aren't, but the money people sure are!
I am currently finishing up a game using MDX that is being ported to XNA as soon as I'm done. It is a game releasing this Halloween. Next month I am starting work on an XNA game with art by artist's working on the Simpson's movie and Futurama. A sweet game I can't tell you anything more about. ;) I also know of other studios who are looking seriously at using XNA and publishers who see the benifit of XNA for making games for both PC and 360 for less money and with less hassle.
I don't know about your Gears of War or your Halo 3 but for the other 99% of games being made... I personally think XNA is going to be a great choice for upcoming projects.
You hear that Microsoft! I'm pimping your tech! Don't forget to return the love! ;)
|
|
-
|
|
Re: Professional game developers using XNA
|
I'm a little biased just as a fair warning, but let me share my 5 cents:
If you see yourself going in the professional world of game development, you need to learn assembly/c/c++ right now. The more time you devote to higher-level languages, especially ones that are the next big hyped thing, the less you'll be able to compete for getting that job for that "next big commercial 3d game." In most cases, companies use C++ there and invested so much time and money into it, and yet here you are in your interview saying you put Blitz Basic infront of everything I just told you to focus on, even if you had 10 games to show off and thought blitz Basic will rule the world at the end because it's much easier to develop for. Someone else will get the job, I guarantee you. But if you're just hobbying or have your own successful independent company focusing on Microsoft systems, XNA is great for your 3D stuff and I recommend it. No reason to learn assembly/c/c++ off the bat. C/C++ will always be around because Microsoft depends on it to compete with other systems and their "big" games. The more I argue about it though I'm realizing people have always defended their favorite language. It's fine to have hopes and dreams with every new tool that comes out but I don't believe the world will shift anytime soon except for the smaller guys. They have nothing to loose.
"But your blog says to avoid XNA!" shouts someone real shortly.
Yes, but I was much more referring to 2D games on the indie side.
|
|
-
-
- (0)
-
premium membership
-
Posts
3
|
Re: Professional game developers using XNA
|
For those following the great success of the Nintendo DS and Wii it should be obvious that screaming graphics and 99.999% performace isn't a requirement for creating really great professional games that sell by the boatload. When creating these innovative games, however, quickly getting to a playable prototype is critically important. Why? Because most of your clever innovations don't work - innovation is a risky game that requires a platform that allows you to fail fast. Being able to ship that game and see how the market responds is also critically important, even clever titles may not get market recognition or may require several goes before being successful.
Especially for arcade-sized titles, XNA GS starts looking very good for quick-turn innovative commercial games.
|
|
-
|
|
Re: Professional game developers using XNA
|
I never thought about using it to prototype a game. That is a very interesting thought and would save time.
|
|
-
|
|
Re: Professional game developers using XNA
|
It seems that the game "NeverWinter Night II" has a graphics engine built in C#.
I think that the fact that a C# program is slower than 3% than a program in C++, in couple of years, I think that the developers will use managed code to build their professionnal game...
(It is my hope, because most people said that a managed program is less buggy than a native program, if anyone could me explain that, it would be nice)
|
|
-
-
- (20848)
-
premium membership
MVP
-
Posts
12,533
|
Re: Professional game developers using XNA
|
It seems that the game "NeverWinter Night II" has a graphics engine built in C#.
Urban legend...
The World Builder toolset was built using c# (see http://en.wikipedia.org/wiki/Neverwinter_Nights_2#Electron_Toolset, http://en.wikipedia.org/wiki/Aurora_toolset) but the main game engine is old school C++ and DirectX. I've not looked into the toolsets but my guess would be they call into the unmanaged rendering if/when they need to render stuff. It would make no sense to write a second renderer.
Quoting 3% is a tough thing to get right. Sometimes its slower by other numbers.
Right now I think its fairer to say that its unlikely a AAA fully 3d game to compete with the C++ engines is likely to come out of XNA Framework. Those games tweak their performance on the rendering side with far more granularity than is available to us. However consider that often these games don't spend all their time rendering - some of then use interpreted scripting engines to define gameplay...
If you take a look at other simpler games you will realize that most of them could have been done with C# and the XNA Framework. At the moment its early days as we try to work out the most efficient ways to do things but once those are established things should be good.
People say managed code is less buggy because you don't have to worry about memory management and pointers, amongst other things.
Play Kissy Poo - a game for 4 year olds on Xbox and windows The ZBuffer News and information for XNA Follow The Zman on twitter, Email me Please read the forum FAQs - Bug/Feature reporting Don't forget to mark good answers and good playtest feedback when you see it!!!
|
|
-
|
|
Re: Professional game developers using XNA
|
Okay, but in the futur, (maybe 2, 5, 10 years), develop games like gears of wars or others in C# will be it possible ?
|
|
-
-
- (20848)
-
premium membership
MVP
-
Posts
12,533
|
Re: Professional game developers using XNA
|
Sure... but remember that in 2 years time (just a guess) when managed code can write a gears of war from today the current version of gears of war MAY be even more complex and fast.
There's just so many variables at stake here.. in the business world most apps are written in managed languages (I include Java here) or even scripting on web servers and web clients. Few people complain about the speed. Just like in games only the very top percentage of apps (e.g. Microsoft word and www.expedia.com) have to be specially written and tuned probably in C++. But Managed code is sneaking into those areas now - see 'Microsoft not using managed code'
Most modern AAA games now have far more artists working on them than developers because content is becoming to huge. Textures and models have to be more detailed levels have to be huge and seamless. Maybe this will be the deciding factor in game developent in the future.
Most modern games now have HUGE budgets... maybe these will continue to grow an that will be the deciding factor.
As I said... its hard to make such predictions. But the more people that use XNA the more likley it is to survive. If the students of today leave college as C# game programmers maybe they will continue to do that.
Play Kissy Poo - a game for 4 year olds on Xbox and windows The ZBuffer News and information for XNA Follow The Zman on twitter, Email me Please read the forum FAQs - Bug/Feature reporting Don't forget to mark good answers and good playtest feedback when you see it!!!
|
|
-
|
|
Re: Professional game developers using XNA
|
Ok, so in theory older programmers will use old school programming with C++ and the newers programmers (like students) if they learn C# will use C# to make games...
I said that because I prefere to develop in C# - even if I know C++ (because it's more simple to develop a program for a robot like the Lego Mindstorm or a software like this I was during my BTEK), so if we could develop Huges games in C#, it avoid me to learn C++
Thanks for the answer...
|
|
-
-
- (20848)
-
premium membership
MVP
-
Posts
12,533
|
Re: Professional game developers using XNA
|
....maybe.... anything could happen.. maybe in 5 years none of us will be using C++ or C#... maybe we will have trained chimps writing our video games (I've hired a few in my time to write web applications!)
One thing is for sure, as a new game developer there is so much stuff to learn, 3d, math, physics, graphics that doing it in C# makes one thing easier. Once you are a competent C# game developer moving to C++ if you want will not be such a big step. Also if you have shipped a bunch of games using C# then employers will look at you very very favourably since completing projects is always a key thing.
Play Kissy Poo - a game for 4 year olds on Xbox and windows The ZBuffer News and information for XNA Follow The Zman on twitter, Email me Please read the forum FAQs - Bug/Feature reporting Don't forget to mark good answers and good playtest feedback when you see it!!!
|
|
|