Friday, June 29, 2007 |
|
|
Wii has announced that they will be opening the door to small developers on the Wii. The first take on this is that "WiiWare" is primarily about downloadable games a la XBox Arcade, but we all knew that was coming. More surprising is that Nintendo says that they will not apply their notoriously thorough and expensive vetting process to such games. No details on the SDK: whether it will be C-based or some form of managed language and no word on whether it will be free. |
|
|
|
|
Sunday, March 25, 2007 |
|
|
Dream Games has extended their registration date for their Build a game in a year and increased the prize money to $10,000. They have also explictly stated that TorqueX based games will be allowed. Last date for registration is April 1st 2007 Source: Another $10,000 competition - for TorqueX Originally published by zman@thezbuffer.com I almost landed a 25-article contract for high-performance programming for which I was going to develop a game. I had the games all designed, too. Oh well. None of us can afford a significant amount of programming for a purely speculative reward, but if you have the intention of developing a game anyway, what harm would it be registering for the contest? |
|
|
|
|
Friday, December 29, 2006 |
|
|
Well, more or less... There's really no way to program XNA, even in 2D modes, without learning HLSL. |
|
|
|
|
Thursday, December 21, 2006 |
|
|
Absolute times to calculate a fixed range of the Mandelbrot set:
| Machine | Concurrency | Language | Time |
| Dual-Opteron | Singlethreaded | C# | ~0.81
| Dual-Opteron
| Multithreaded
| C#
| ~0.45
| Dual-Opteron
| Singlethreaded
| C++
| ~0.50
| Dual-Opteron
| Multithreaded
| C++
| ~0.38
| XBox 360
| Singlethreaded
| C#
| ~4.4
| XBox 360
| Multithreaded
| C#
| ~2.1
| XBox 360
| GPU Shader
| HLSL
| ~0.05
|
This isn't even fair because the non-GPU timings are strictly timings of the calculation loop. The GPU timing is actually derived from my frame-rate.
I'm having some trouble getting my shader to run on my desktop (ATI All-In-Wonder with Radeon X800), but will post that number when I can.
 |
|
|
|
|
|
Ah, that's more like it. This is a graph of duration (in seconds) versus the number of threads during a calculation of a Mandelbrot set using the XNA Framework on the XBox 360 (Neil: The previous graph was normalized speed, as you suspected. For more on labeling the Axis in Office 12, see the next post.) In order to have the XNA Framework distribute processing, you must explicitly set the "thread affinity." This must be done within the worker thread (presumably early in the ThreadStart delegate) and, on the XBox 360, you must not use the values 0 or 2, which are reserved. Thus, I use code like this: struct ThreadWorker { int processorAffinity; static int processorAffinityIterator = 0; internal ThreadWorker() { switch (processorAffinityIterator) { case 0 : processorAffinity = 1; break; case 1 : processorAffinity = 3; break; case 2 : processorAffinity = 4; break; case 3 : processorAffinity = 5; break; default : processorAffinity = 1; break; } if (++processorAffinityIterator == 4) { processorAffinityIterator = 0; } } internal void ThreadRun() { Thread.CurrentThread.SetProcessorAffinity(processorAffinity); ... begin work ... |
|
|
|
|
Wednesday, December 20, 2006 |
|
|
UPDATE: See this new post It looks like XNA does not distribute processing across the multiple cores of the 360: This is identical code (a Mandelbrot calculation of a fixed size) running with multiple threads. While my desktop machine speeds up with more threads (peaking at 3), the XBox 360 running XNA runs at almost exactly the same speed. Incidentally, the graphic shows normalized speeds. The actual performance of the XBox 360 is 1/5 - 1/9 that of my desktop (4.43 seconds as opposed to ~.8 seconds single-threaded or ~.47 with 3 threads). |
|
|
|
|
|
Sweet. Stay tuned for performance benchmarks, concurrency and GPGPU programming experiments on the 360, and maybe even some games...Maybe even a domain-specific language for writing board games. |
|
|
|
|
Tuesday, December 12, 2006 |
|
|
I spent about an hour last night playing with the release of XNA Game Studio. My first impression is that someone at Microsoft needs to contract me to write some tutorials! Heh heh heh. Actually, I'm greatly looking forward to incorporating XNA into a series of articles I'm pitching on GPGPU programming. Basically, I've written the same program in Ruby, C#, C++, C++ with OpenMP, C++ with assembly language, HLSL, and I'd like to add implementations in Accelerator, PeakStream, and any other GPU-based languages / libraries I can find. It'll be fascinating to see how the XBox 360 stacks up in "one design" racing. (BTW, as much as I love Ruby, it is slaughtered in this type of comparison.) Say... I wonder if I could develop a tutorial that ran on the XBox 360 that combined audio-video / screencasts / etc. teaching how to program in XNA Studio. I mean, I know I could produce the tutorial, I just wonder if the "XNA Creator's Club" would allow me to distribute it (i.e., sell it) via XBox Live. Hmmm.... |
|
|
|
|
Wednesday, October 25, 2006 |
|
|
Patrick Logan says that some Schemers have put a Scheme on the Nintendo DS. Naturally, my first thought was "Hmmm... I wonder if I could do that with XNA?" (Or, more generally, if one could write a self-contained interpreter / compiler that would run on the XBox360). You could certainly do a clunky, self-contained interpreter but the real goal would be something running at chip-level or at least CLR-level. Generating the appropriate bytes is certainly well within the capabilities of the hardware (are you kidding?), but the really, really hard thing would be convincing XNA to start executing your generated bytes as instructions. At the assembly-language or C/C++ level, of course, it's trivial to command the machine to "execute these bytes as instructions," but (one of) the major security-oriented points of managed environments is that such plasticity is forbidden. I suspect that XNA has pretty tight walls around the sandbox to prevent you getting around this limitation, as once you allow this capability, security guarantees become much, much harder. (Not impossible, though, in the case of managed code, since you can still run security checks at load-time -- whether the bytes were generated ten months or ten microseconds ago is irrelevant.) |
|
|
|
|
Monday, September 18, 2006 |
|
|
The slow boat from Amazon finally brought my copy of Test Drive Unlimited, a "massive multiuser online racing game" set on the island of Oahu. At first, I was slightly disappointed, since while the layout of the streets is based on reality, the scenery isn't. So it's not like you're bombing down the street at 180 and see the old water department and thereby know that you're coming up to Punchbowl Street (although I did shout to Tina "Don't go around the block! Just take Prince Kuhio the wrong way for three blocks!"). The individuality of the cars doesn't seem quite at the same level as Project Gotham Racing, especially the drift mechanics (in PGR3, you go around one corner and you can tell where the engine weight in the car is). The engine sounds of PGR3 are also more distinctive. So, while I was very happy with the TDU as a different kind of racing game, I wasn't entirely jazzed. And then, after tooling around for a couple hours using either the gamepad or my MadCatz steering wheel, I discovered the somewhat obscure "Options|Controllers|Steering Wheel|Enable" setting. Oh baby... The problem with steering wheels has always been that games optimized for thumb-stick steering aren't responsive to the slight corrections of "real" steering. So although you have a steering wheel (which is nice), you have to throw it side to side. Not with TDU: once you tell it you have a steering wheel, the responsiveness improves tremendously and, instead of feeling like a video game, you feel like you're driving and can do things like stay in your lane, track through corners, weave through traffic... It's incredible. I lost like 3 hours yesterday to it. (For me, spending 3 hours of daylight in front of a TV is inconceivable.) Awesome game. |
|
|
|
|
Wednesday, September 06, 2006 |
|
Sunday, September 03, 2006 |
|
|
In a forthcoming column in SD Times, I predicted that one of the first things written using XNA GSE would be a Bittorrent client for the XBox360. Wrong. The current version of XNA does not allow network access. Hmm... |
|
|
|
|
Thursday, August 31, 2006 |
|
|
Ah. Although you cannot develop with XNA GSE inside a VM (either VMWare or Virtual PC), you can install Visual C# Express side-by-side with Visual Studio 2005. There's a slight weirdness in that VC# Express can only install to $PROGRAM FILES, while I normally keep my dev tools on a separate partition, but that's just a quibble. |
|
|
|
|
Wednesday, August 30, 2006 |
|
|
Oh, bummer! Given that XNA GSE is a beta and given that it requires C# Express, not Visual Studio, I installed it in a VMWare OS, but when I went to run the sample SpaceWar game, I received a "No suitable graphics" message. I think that leaves me out of luck. Maybe I'll install it on one of my laptops, but if anything actually needs the power of my development machine, it's game programming. |
|
|
|
|
|
I'm kicking myself for having two weeks ago written a column on Microsoft's outreach to non-professional programmers. If I had waited until my current deadline, I would have an excuse to spend the day programming a game for the XBox. As it is, I have GSA sitting in my /Downloads folder and have to spend the day writing about... oh, I dunno' ... Vista pricing or some crap like that. |
|
|
|
|
Saturday, January 14, 2006 |
|
|
casey
chesnut has solved the issue of streaming
DivX to the XBox360, apparently even getting decent framerates over 802.11g.
Since I recently upgraded to a “pre-N” wireless network (Linksys
wrt54gx2 – highly recommended), I am totally psyched.
|
Saturday, January 14, 2006 10:28:04 AM (Hawaiian Standard Time, UTC-10:00) | Disqus link | XBox360
|
|
|
|
|
I love Geometry Wars on XBox360; it's a great arcade-style game that's perfect for killing a couple of minutes. Amazingly, though, it's apparently one of the few games that distributes its computation across the XBox's three cores.
I find it wildly amusing that something that is essentially an updated "Asteroids" is using three times the computational power of Project Gotham Racing 3.
|
Saturday, January 14, 2006 10:16:31 AM (Hawaiian Standard Time, UTC-10:00) | Disqus link | XBox360
|
|
|
|
Friday, December 23, 2005 |
|
|
I have what was considered a great TV in its day (the year 2000) -- a 27" Sony Trinitron. There are no over-the-air HD signals here on the slopes of Hualalai Volcano, I have basic cable, and my Tivo doesn't record in HD. Project Gotham Racing totally makes me want to go out and spend $1,000 on an HDTV. (With better visual cues, I'm sure I could shave 10 seconds off my Nurburgring times -- I'm just sure of it!) Not gonna' happen, but all the HD manufacturers ought to send Bill Gates a box of chocolate or flowers or something... |
|
|
|
|
|
|
|
| Recently Published Articles |
|
|
|
|
|
|
|
| HI |
|
|
|
|