John Carmack and the id Software company have always been great supporters of the OpenGL Graphics API. Alas, major development with the API stops here for the game developer.
id Software has been working on a new game engine that would “revolutionize” the gaming industry and provide many advanced features. One of its main features is that it can support a constant 60fps on console systems. It was also announced that their new engine will run on: PC, Mac, Xbox 360 and PlayStation 3. Eh, are we missing something important here?
Linux. Linux has always been a supported system when it came down to games from id Software. Yet according to Todd Hollenshead (id Software), id’s upcoming game “Rage” (which will be using idTech5) will be primarily a DirectX 9 game, not DirectX 10, nor OpenGL. Yet OpenGL will be used for the Mac release of both the engine and the game.
This could mean that OpenGL might become very unattractive in the game development community since there will be one less patron to support its Open cause.
One benefit from all this is that the game will be able to run on the Windows XP platform and not solely on Vista as all DirectX 10 games require. This, of course, is no consolidation for the Linux people who will now have to run the game on Windows.
Finally Microsoft has announced the second version of their XNA Game Studio. The best thing? It will work with all versions of Visual Studio 2005. Finally. Read the full story here.
As a developer (and gamer) you always want the latest gadgets and DirectX 10 seems to be one of these gadgets that you just “need to have”.
But does it justify spending much money for an upgrade?
What does DirectX 10 have that DirectX 9 doesn’t? According to some technology demos - not so much. Ok, some special effects but what about the rest? A game isn’t made out of SFX (although it seems to become a trend).
It turns out that DirectX 10 isn’t only about special effects but defines a new style of next generation technology. Video Card manufacturers are forced to use optimized pathways to support the new industry standard resulting in very fast hardware such as the Geforce 8 series (8800 GTX, 8800 GTS).
One of these features is WDDM which stands for Windows Display Driver Model. WDDM is basically a resource manager for graphics processes. One example of what WDDM does is this: In XP when you switch from one Direct3D application you will receive a DEVICE_LOST exception, which basically means that you can’t run two processes from one GPU. Your application crashes and you’ll have to write X amount of handlers dealing with the exception. According to Microsoft this is now a thing of the past.
Since the Vista desktop is a 3D environment you’d loose your application everytime you minimize. This has now been eliminated. Each GPU process is its own thread (just like in regular programming) meaning that you can have X amount of 3D processes running without the need for special handlers.
Also in the same category is improved crash handling that comes with DirectX 10.
Ok, so that’s neat but I’ll need more to be convinced to switch to DirectX 10 hardware and Windows Vista.
Another feature of WDDM is that if you run out of video memory WDDM can virtualize your System’s memory for video processes. Which - in theory - sounds very cool, but I don’t know if this would cause slowdowns.
Here’s a list of new features
Shader Model 4
Texture arrays
DirectSound is gone, XACT is its replacement
Less load on the CPU - GPU tasks really get processed by the GPU this time
Unified Pipeline Architecture - the Programmable Graphics pipeline (SM 4.0)
No object limit - There is no software limit to how many objects you can add to your scene. The only factor in this is your graphics hardware
Geometry Shaders
Instancing 2.0 - An optimized version of the Instancing technology found in Geforce 6 series up and Radeon 9500 and up
So as a developer is it worth it to upgrade to Vista and DirectX 10 hardware? In my opinion, yes. This is simply the new generation of computer graphics, just because you have to upgrade doesn’t mean is’t evil.
Remember when you upgraded from your TNT 2 card to a Geforce? Same thing. Yet this time the improvements revolve more around the pipeline than the actual quality of the image.
I guess writers have this, but now I have it with coming up with new programs. I just can’t think of anything. I’ve been wasting my time reading many programming books on Agile, Design Concepts etc. but that didn’t give me any ideas either. Some knowledge, yes, but inspiration, no.
This is probably one of the coolest ideas that I’ve seen on the Internet in a loooong long time. Google Music Trends is a small program that you download that interacts with your music player and uploads statistics to Google. At the moment the most listened to song is “In the end” by Linkin Park. Of course this has to change ;)