Did SC: Chaos Theory and SC: Double Agent push the Xbox to it limit?

My vote would easily go to the Riddick game...this game still looks awsome!!
Just compare the old version to the new PS360 iteration (which in fact is ultra dissapointing to me).

(I can't remember that Conker Reloaded impressed me graphically, but I sure remember it as one of the funniest and entertaining games I have played!!)
 
Yes they weren't as powerful as in the next PC generation but Xbox1 pixel shaders were still awesome for it's time :) The shader language on Xbox1 to configure these were much more powerful than in DX8 (ps1.1) as you had access to separate .rgb/.a pairing (i.e. 16 instructions per shader instead of 8) as well as Nvidia specific complex instruction such as the wonderful xmma & xfc (fog combiner). So you could do much more interesting & complex shading on Xbox1 than you could on the same hardware on PC DX8 / ps1.1.

Here is one of the car pixel shaders from RSC2 that I did 6 years ago:

Code:
#include "Common.xpsh"
 
tex t0 // colormap
tex t1 // dirtmap
tex t2 // envmap
tex t3 // lightmap
 
// scale sun light intensity with sun lightmap and add to diffuse
mad v0.rgb, v0.a, t3.rgb, v0.rgb 
 
// create metallic specular
// create specular highlight
+ xmma_x2 r1.a, discard.a, t2.a, t2.a, 1-zero, -HALF, 1-zero
 
// create dirt color
lrp t1.rgb, 1-t1.rgb, DIRT_MIN_COLOR, DIRT_MAX_COLOR
 
// scale metallic specular with sun lightmap
+ mul r1.a, r1.a, t3.a
 
// apply lighting to colormap
// apply lighting to dirtmap
xmma_x2 r0.rgb, t1.rgb, discard.rgb, t0.rgb, v0.rgb, t1.rgb, v0.rgb
 
// scale highlight with sun lightmap
// scale metallic specular with specular scale
+ xmma t2.a, r1.a, discard.a, t2_sat.a, t3.a, r1.a, SPECULAR_SCALE
 
// create specular
// scale highlight with highlight color
// scale metallic specular with colormap
xmma discard.rgb, discard.rgb, r1.rgb, t2.a, HIGHLIGHT_COLOR, r1.a, t0.rgb
 
// scale envmap with fresnel and add to specular
mad r1.rgb, t2.rgb, v1.a, r1.rgb
 
// scale damage intensity with damagemap
+ mul t0.a, 1-t0.a, v1.b
 
// add colormap and specular
// scale colormap with damage
// scale specular with damage
xmma discard.rgb, discard.rgb, r0.rgb, r0.rgb, 1-t0.a, r1.rgb, 1-t0.a
 
// scale dirt intensity with dirtmap
+ mul t1.a, DIRT_INTENSITY, t1.a
 
// lerp between colormap+specular and dirtmap with dirt intensity
lrp r0.rgb, 1-t1.a, r0.rgb, t1.rgb
 
xfc fog.a, r0.rgb, fog.rgb, zero, zero, zero, 1-zero

Think I wrote & optimized about 150 pixel shaders by hand like this for RSC2, wonderful & powerful small little language. And very easy to predict performance.
That game turned out perfect back then, for people and perhaps even for you. You guys did an amazing job. :smile:

It ran at 60 fps without a flaw, the graphics were sick, and people who got it played it til they died. Imho, it had by far the most detail ever seen in a racing videogame to that date.

I remember people usually mentioning and regarding it as one of the top 5 games ever on the Xbox, technically wise.
 
Last edited by a moderator:
That game turned out perfect back then, for people and perhaps even for you. You guys did an amazing job. :smile:

It ran at 60 fps without a flaw, the graphics were sick, and people who got it played it til they died. Imho, it had by far the most detail ever seen in a racing videogame to that date.

I remember people usually mentioning and regarding it as one of the top 5 games ever on the Xbox, technically wise.

Not too old of a thread to necro. But yes RSC2 was an amazing game. By far in my top 5 racing games of all time and that's a hard spot to get. The graphics were superb, but the extra layer of the cake was that it ran at 60 fps like mentioned. 60 fps being so silky smooth makes graphics look even better, or more seamless. The variety of cars was something I enjoyed immensely. Now I'm bringing the Xbox out just to play this game.
 
Yes they weren't as powerful as in the next PC generation but Xbox1 pixel shaders were still awesome for it's time :) The shader language on Xbox1 to configure these were much more powerful than in DX8 (ps1.1) as you had access to separate .rgb/.a pairing (i.e. 16 instructions per shader instead of 8) as well as Nvidia specific complex instruction such as the wonderful xmma & xfc (fog combiner). So you could do much more interesting & complex shading on Xbox1 than you could on the same hardware on PC DX8 / ps1.1.

Here is one of the car pixel shaders from RSC2 that I did 6 years ago:

Code:
#include "Common.xpsh"

tex t0 // colormap
tex t1 // dirtmap
tex t2 // envmap
tex t3 // lightmap

// scale sun light intensity with sun lightmap and add to diffuse
mad v0.rgb, v0.a, t3.rgb, v0.rgb 

// create metallic specular
// create specular highlight
+ xmma_x2 r1.a, discard.a, t2.a, t2.a, 1-zero, -HALF, 1-zero

// create dirt color
lrp t1.rgb, 1-t1.rgb, DIRT_MIN_COLOR, DIRT_MAX_COLOR

// scale metallic specular with sun lightmap
+ mul r1.a, r1.a, t3.a

// apply lighting to colormap
// apply lighting to dirtmap
xmma_x2 r0.rgb, t1.rgb, discard.rgb, t0.rgb, v0.rgb, t1.rgb, v0.rgb

// scale highlight with sun lightmap
// scale metallic specular with specular scale
+ xmma t2.a, r1.a, discard.a, t2_sat.a, t3.a, r1.a, SPECULAR_SCALE

// create specular
// scale highlight with highlight color
// scale metallic specular with colormap
xmma discard.rgb, discard.rgb, r1.rgb, t2.a, HIGHLIGHT_COLOR, r1.a, t0.rgb

// scale envmap with fresnel and add to specular
mad r1.rgb, t2.rgb, v1.a, r1.rgb

// scale damage intensity with damagemap
+ mul t0.a, 1-t0.a, v1.b

// add colormap and specular
// scale colormap with damage
// scale specular with damage
xmma discard.rgb, discard.rgb, r0.rgb, r0.rgb, 1-t0.a, r1.rgb, 1-t0.a

// scale dirt intensity with dirtmap
+ mul t1.a, DIRT_INTENSITY, t1.a

// lerp between colormap+specular and dirtmap with dirt intensity
lrp r0.rgb, 1-t1.a, r0.rgb, t1.rgb

xfc fog.a, r0.rgb, fog.rgb, zero, zero, zero, 1-zero
Think I wrote & optimized about 150 pixel shaders by hand like this for RSC2, wonderful & powerful small little language. And very easy to predict performance.

OMG, I can't believe that I'm reading a dev who worked on one of my favorite Xbox games! :oops:

60fps, 480p, DD, online... this game pushed the Xbox near the limit.
 
Quake 2 at 1280x720 with 4X MSAA pushes the Xbox to the limit. So much so it occasionally runs out of RAM and locks up. ;) But it runs very smooth until that happens.

But more seriously I think Doom3 and Far Cry showed how the Xbox was past its prime. Both games needed to be somewhat reworked to run on the Xbox. Far Cry ended up a different game.
 
Quake 2 at 1280x720 with 4X MSAA pushes the Xbox to the limit. So much so it occasionally runs out of RAM and locks up. ;) But it runs very smooth until that happens.

But more seriously I think Doom3 and Far Cry showed how the Xbox was past its prime. Both games needed to be somewhat reworked to run on the Xbox. Far Cry ended up a different game.

Far Cry was a good approximation, but an ever better show off for what the system could do (and in some ways showed how drastically weaker it was compared to the best PC hardware). I have to give it props for it's global dynamic shadowing system. PC version didn't have all that jazz enabled at all, though you can force any object to render a shadow via the Sandbox.
 
Back
Top