Tales from the Evil Empire

Bertrand Le Roy's blog

News


Bertrand Le Roy


Add to Technorati Favorites Tales from the Evil Empire - Blogged

Blogs I read

My other stuff

Archives

XNA Framework

We’re not the only ones busy around here :). My friend Julien as well as other very smart people are building the next generation development system for Xbox and PC games, XNA. Part of this work is to build an implementation of the .NET framework for the Xbox 360. This means considerably reduced development costs for casual games and... who knows what's next? This is just going to be great as it's going to lower the entry bar for game development. I hope this is the return of the time when people like me, with the help of a few friends, could develop a reasonably successful game. This brings back 20-years old memories of the time when I was building video games with my friend Fabien for the TI99 and Atari 800...

Comments

Max Mulawa said:

Cool stuff, but .NET is still to slow for games :( but I wouldn't mind writing games for XBox 360 as .NET develper. What about Commodore 64 ? :)
# March 22, 2006 9:00 AM

Geoff Van Brunt said:

TI-99/4A? Wow, that brings back some memories. I remember hacking apart some of the default words the speech synthesis module could "say" into phomens so the computer could say anything. Of course the next step was teaching it to curse... :)
Nothing like hearing a computer say byte me...
# March 22, 2006 10:14 AM

Bertrand Le Roy said:

Max: the truth is that not many people have tried it but those few tries I know of showed performance between 50% and 80% and I'm suspecting that we still have to learn how to optimize managed code for games. Now consider this: how many times faster is the 360 when compared to the old Xbox? Would you say the Xbox is "too slow for games"?

I don't think so.

(to answer your other question, I have a Commodore 128 in my basement but I never developped any games for it)
# March 22, 2006 12:21 PM

Max Mulawa said:

Hi Bertrand,

The only technique to "optimize managed code for games" I could come up with is to use wrappers for Win32 functions for all graphical operations. What you would suggest?

I cannot agree to using XBox resources by managed code would make XBox users happier, but effectiveness of writing code is .NET is unquestionable.
# March 22, 2006 4:58 PM

Julien Ellie said:

There are many things that can be done to improve or just get good performance for games with .Net and the XNA Framework, both on the PC and on the Xbox 360. Performance is a very important part of what we do and as the platform evolves we are very confident that .Net can become a very good platform for many kinds of games both on PC and on Xbox 360. Not to sound closed to discussion or anything, but, as with any technology, the proof will be in what people actually do with it ;)
# March 22, 2006 5:47 PM

Zman said:

Where's the evidence for 50-80%... sources please.... the cloest to official from MS is >95% and tha matches my experience too.

Plus take a look at any casual game - even it it was 50% who would notice. Nobody is suggesting writing half life 3 in managed code here.
# March 27, 2006 10:32 PM

Bertrand Le Roy said:

Hey, ZMan, I'm on your side here. I'm just being very conservative, and as you point out, even at 50% (which would be very poorly written managed code) it's still largely enough for even demanding casual games. These are figures that I gathered from various sources (I did say "those few tries I know of"), but if you take one of the earliest tries at that kind of things like the Quake port to managed C++, the perf without any optimization was around 80%. I haven't seen any >95% stuff nor have I seen that figure as an official MS figure but then again I haven't had the occasion to see any of the new Xbox CLR running. If confirmed, that would be awesome. Would this be on a technological demo or on a real complete game scenario?
Thanks for the info. You obviously know a lot more than me about that stuff (I'm just an ASP.NET dev you know).
# March 28, 2006 2:14 PM

Zman said:

The problems I see are that in directx (managed or native) is very easy to structure your program so that it is very very slow. YOu have to know how best to send stuff to the card and what to avoid. The naive way is almost always the slowest. So you get beginner DirectX programmers start with managed directx and hit these problems. Since beginner programmers are *never* wrong, it must be the technology so they go to the newsgroups and forums and bitch about how slow managed directX is when in reality native directX would be just as slow if they wrote their code in the same way.
The only large benchmark that I have found is this one http://realmforgewiki.castlegobs.nl/index.php/Main_Page which shows plenty of speed. (forget Quake.Net thats really not a good example of most things and its very old now). The Xbox CLR is too early to make speed comparisons, but all the simple demos at GDC ran with plenty of leftover fps.
# March 29, 2006 7:41 PM