Looking at XNA - Part Two
- Posted: Nov 27, 2006 at 12:39 PM
- 114,196 Views
- 47 Comments
Loading User Information from Channel 9
Something went wrong getting user information from Channel 9
Loading User Information from MSDN
Something went wrong getting user information from MSDN
Loading Visual Studio Achievements
Something went wrong getting the Visual Studio Achievements
Right click “Save as…”
In Part One of this series, Boyd Multerer told us all about XNA.
Now, in Part Two, Frank Savage shows it all to us.
Frank will talk about XNA from his perspective, deploy an XNA project to an Xbox 360, modify the application, and also give a debugging demonstration.
All of this is done at 1080p, showing off both the 360's recently acquired ability to support this resolution, as well as the power of XNA. It's really quite amazing: High frame rates at 1080p under managed code using only a single core of the three available.
I think it's reasonable to say that XNA is going to change the way people do homebrew games.
It's going to be interesting to see what kind of crazy stuff people dream up with these tools.
In addition to the nifty XNA bits, Frank and I also chitted and chatted about the good old days of gaming - he worked on Wing Commander III (one of my favorites in the series), as well as other games that I loved in my childhood.
Never thought I'd get to meet one of the people who worked on Wing Commander, so, for me, it was a thoroughly enjoyable geeky event ![]()
Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation,
please create a new thread in our Forums,
or
Contact Us and let us know.
Follow the Discussion
Oops, something didn't work.
What does this mean?
Following an item on Channel 9 allows you to watch for new content and comments that you are interested in. You need to be signed in to Channel 9 to use this feature.What does this mean?
Following an item on Channel 9 allows you to watch for new content and comments that you are interested in and view them all on your notifications page.sign up for email notifications?
So what is the URL to your site Rory.
Josh
www.neopoleon.com
But it's down right now because my hosting provider really, really, really, really sucks.
Hoping to have it back up today, but I don't know. The guys I'm working with are doing a terrible job.
DJ
I just have a few lingering questions regarding XNA.
Is it going to (eventually) replace for MDX2.0 ? (which apparently was discontinued in October).
It seems XNA is strongly gaming oriented, is it pointless to try and create a regular Desktop app that incorporates 3D elements, or do we really have to stick to MDX1.1 as mentioned in this FAQ ?
The XNA Framework looks much more refined compared to MDX1.1, I'd rather not wade through that again unless I have to.
Should I even bother with MDX and XNA when it comes to 3D desktop apps, or should I be looking at .NET 3.0 and WPF??
Maybe it's just me, but when Microsoft throws 3 different frameworks (MDX, WPF, XNA) at you that seem to serve the same purpose, things can get very confusing
Just conjectoring here on reasoning on the why. But you don't need it all if all you want to do is play around.
WPF is great for 3d rendering for Windows APP. It will be even better once Orcas and Expressions make it out the door. If you have MSDN access I would play with the bits for Orcas. Linq is a dream come true. I been reading the documentation and running the demos. Anyone know when Entity Mapping (part of ADO.NET 3.0) will CTP.
Expression you can find with <cough> Google.[A]
XNA is for games - it is in no way a competitor to WPF.
WPF is all about creating rich user interfaces, both on the web (WPF/e) and on the desktop. You could certainly use it to write a game, just as you could use GDI, but that's not really what it's for.
The frameworks are very different, and, as far as I know, there won't be any WPF (or WPF/e) support for the 360. I could be wrong, so maybe someone who knows more can chime in, but that's what I've gathered.
The tools shown in this video are all about creating games for Windows and the Xbox 360 using managed code (C# compiled to run against a modifed version of the .NET Compact Framework).
So, no confusion necessary
WPF: For the web/desktop.
XNA: For games on Windows/360.
Thanks for the clarification guys.
I'm still excited about XNA though. Like you Rory, I might not be a game dev, but I'll definitley get my hands dirty when it's released
cheers.
*runs off to play with .net 3.0*
Wow that really is amazing!
Great video.
Will there be a framework for developing games for the web using WPF and Sparkle, aka Expression Interactive Designer?
When?
This rocks yo!
Is there a date sheduled for the final release?Answered at the end of the video.Great work guys!
Now how do we get one of those?
XNA, for all intents and purposes is MDX2.0
If you're looking to build a desktop application that incorporates 3D elements, then WPF is definitely the way to go.
If you're looking to build an Editor for an XNA application which reuses code (say, reusing the sprite rendering engine for your game in a level editor), then you can render to a control just as you could with MDX. In fact, I've written a control that you can drag and drop onto a form to render with XNA:
http://codecube.net/item.asp?cc_ItemID=338
Hope that helps
Because they didn't have time to work it in.
Great interview! Can't wait to get this!
I am interested in the security aspects of sharing games. There would need to be someone type of validation before downloading the game.
I assume that when the game is running on the 360 it has full access to all system resources. It would be scary to have an xbox 360 virus that propagates only on 360s.
Also do you have to have VS express or can VS enterprise work also?
I'll go and cut a bitmap/png into pieces and use the pieces as characters. Gives the app also a professional touch
If you want to have a fast game use hardware shaders
and keep as little code in .NET / C# as possible.
Managed titles do not have full access to system resources on an Xbox 360. Managed games run in a sandbox of sorts. They have limited access to the file system and no access to the network stack. While you can certainly run a game that is unplayable or offensive, that game cannot corrupt or infect any other games or the Xbox 360 system/dashboard software. You can get rid of "bad" games by deleting them.
XNA Game Studio Express (v1) only supports Visual C# 2005 Express Edition. VCSExpress can be installed side-by-side with other SKUs of Visual Studio 2005. The XNA Framework is just a set of class libraries, and you can reference them from other VS projects, but there are tools included in Game Studio Express that are not integrated into any other project (eg, Content Pipeline and Xbox 360 debugging).
For more information, check out the XNA team site (where you can find links to the XNA forums on MSDN and the XNA Team blog). You can also download XNA GSE Beta 2 from there.
I saw and asked that myself
I speculated about that on my blog.
Like I mention there though, it could be a dev kit. All Xbox 360 dev kits have 60 GB HDD's.
Are you going back to do another interview with the XNA folks?
If you do, I really would love to see how a simple hello world is created on the Xbox 360 through XNA.
I have no game development experience, and it would really be something I'd like to see.
Thanks,
Dillon Amburgey
This is my favourite video on Channel9 and that's amongst a peer group of really quite impressive stuff.
I watched it avidly - twice. And not just because I was trying to find out when Rory called Frank Mike
I'd spotted the large HD thing too - although (and I don't want to sound snooty) but this isn't breaking news - there've been shots of the >20Gb drives surfacing from Korea and Japan since early November I think. Good to see it with our own eyes though!
I think XNA is going to be one of the great advantages of the 360 over PS3. It takes things beyond the "boxes of chips" and the machine specs into the creative fun arena, which ironically was falling out of gaming. Sony toyed with software tools and the public before (they released a Linux build for PS2) - but let's be honest (and I may be tempting MS bashers here, opps!) Which company in recent years has the better reputation for software and engaging with users:
Sony
or
Microsoft
I feel it's clearly the latter. The Japanese have been worried about the software issues since their MITI govt projects in the 80s! PS1 and 2 stuff has been impressive and I've enjoyed playing games on them, but without pushing the envelope on the creative side, as XNA and other tools are doing, they will be left behind. They'll find they have no games with the famed "sweaty palms" feeling
Top points also to MS for doing this in an open yet sensible way: letting people use tools, not killing the golden goose of premium games and still managing to tap into a new part of the market (after all, your typical enthusiast isn't going to get into giving away £50 games. Well, not till they chuck the day job!)
One final point (brevity not my strong point tonight!): is there a plan in place to help get people (enthusiasts) together to learn stuff / have intro classes / swap advice etc. MS could really get the ball rolling there - even if they then left it to people to socialise and take it to the next level. It needn't be some uber-fancy conference show; just make it a Channel9 type meeting in a hotel somewhere; do them all over and the people will come. I'm sure of it. Yes, this could be done via internet communities, but face-to-face is exactly what this type of learning benefits from.
Thanks again Rory and Frank.
Can you point me in the direction of the webcast? :O
Curious though, is there a reason for why only one core is being used?
Thanks for the awesome vid Rory!
It was a one-shot only. There doesn't appear to be a replay option for it.
You should thank Frank Savage for the video
As for only one core being used... I'd guess (emphasis on guess) that it has something to do with simplicity. Given the kind of games that most people are going to create with XNA, that single core will probably be all that's needed. I doubt that most hobbyists will create games on the scale of the racing game in the video (but new, interesting, innovative, compelling games nonetheless).
That said, there are ways around only using a single core. Frank mentioned that.
I don't know what those ways are, but they're there.
Remember, though - this was a demo of a game running under managed code at 1080p - that's the highest resolution supported by the 360. If what you saw was possible with a single core and at that resolution, you'll probably be OK for the foreseeable future
But, like I said, the other two cores aren't unavailable - they just aren't used by default.
Great interview. Can't wait for a part 3.
1) The $99 fee, is that only for developing stuff to gain access to the ability to move content from my PC to my XBox 360 (when I get one)? That is, if my friend doesn't want to develop stuff, but wants to download something I made once Microsoft works out a way to share these things (I would guess they will host them on XBox Live somehwere after doing a virus scan) will they have to pay the $99 fee as well, or just pay a small token amount if anything at all? I don't think the thing will be as good if people just wanting to use the games/applications have to pay the fee as well.
2) Networking is coming, all well and good, but will this just be between computers and 360s on the local network and XBox Live, or full Internet access. If I made a IGS client for example, would that be able to connect to the IGS server? KGS would be cool, but I don't think you can make clients outside of theirs...
With v1, in order to run XNA Framework-based games on your Xbox 360 you must have the $99 / year subscription activated on your Xbox 360. Unfortunately for your scenario this means that you will need to pay while you develop the game, and your friend will need to pay in order to run your game. The XNA team has said that their longer term plan is to open this up with some more sharing options maybe like what you describe with Xbox Live, but they haven't announced any more details about this.
I got a better answer to the question about why only a single core was used.
Where I was guessing before, this time, Boyd Multerer (whom I interviewed for the first XNA video) emailed me with the answer:
Not only is that more informative than my answer (since mine was basically wrong), but it's a better story.
I love that the only reason they didn't use the other cores was that it was already performant enough with just one.
I know I used the phrase "this blows me away" (and variants of it) over and over in the video, but... this stuff really does. I'm floored by what the XNA team has accomplished. Makes me really proud to be a part of this company - like some of that awesomness might rub off on me...
I'm guessing you posted this before you got to the end of the video
Breakpoints were demonstrated later on - maybe around 2/3 of the way in (just a guess).
As for a part three - I'm working on getting a few more XNA videos together (as well as other interviews with Xbox team members).
It's fun. Even though I'm not a game programmer, I love getting a glimpse inside that world. It's so different from other types of coding.
Very cool
I'm going to try to get Frank back on again sometime. He did a great job, methinks.
Game Innovation of the Year
and
Best of Show: Innovator of the Year
Congrats to the XNA team!!
Here's a link to the DEMMX awards:
http://www.demmx.com/demmx/awards/2006.jsp
Frank says, at one point, that the game could be run on lowered settings on a GeForce 3 card. However, the GeForce 3 series is of the DirectX8 specification, and XNA lists that a DirectX9 video card is required. Is there a mistake on Microsoft's end, or did Frank just made a bad estimate?
I have been developing software for 12 years and this is very exciting news.
I have .net, xna, and c#express, and an xbox 360. How long will it be before I have the necessary tools to do what was shown in the video? Q1?
Thanks!
Steve
ps: My very first RAM upgrade to my PC was to play Wing Commander!
Have the XNA team done anything to deal with the garbage collector locking up the process? I remember when MDX first came out there was a lot of talk about different ways of structuring the renderloop so that WinForms wasn't creating message objects on every redraw, the idea being that they were trying to avoid triggering a generation 1 or 2 collect because that would stall all the threads and make the animation jerky.
This was always the most significant issue to do with writing games in managed code - not the overall performance, but the fact that the GC would lock up with process for a noticeable amount of time and thus make the animation jerk randomly. Although the GC style of memory management can be as efficient as the explicit memory management used in C++, in C++ the effort is (A) spread out over time and (b) only disturbs the thread that makes the new/delete call most of the time.
I notice on the video that the XNA Racer game runs very smoothly so I'm wondering, is it just very careful about allocating new memory, or have the Framework team introduced a different collector that doesn't lock up the whole process?
I'm having a hard time figuring out what it is that is so speciall about XNA, really.
Its so easy to work with, a majority of the time.
Oh man.
Remove this comment
Remove this thread
close