The remake of Conker's Bad Fur Day (AKA Live & Reloaded) is the Xbox title that impressed me the most technically. Resolution aside, and sans hyperbole, it literally put to shame many PS360 games.
Well Halo falls where Splinter Cell excels & vice versa.IMHO, Identyfing the title that in absolute has exploited the most, out of the xbox (or any other consolle) hardware, is no easy task, various games has pushed the hardware in different ways, reaching excellent results in some areas (ex. texture, quality and quantity of effects, physics etc..), while making inevitable compromises in other. A better approach to this question would be, (always imho), looking for the game that has offered the best tehnical features/technical compromises ratio. And from that standpoint, i think Halo 2, was superb, since It offers a great overall technical package, without showing signs of significant technical compromises. (great geometrical complexity, great physics and IA, wide open areas, good use of shader effects, good textures, a good number of very detailed enemies onscreen, always with a perfectly stable frame rate). Chaos theory and Double agent were two truly amazing technical achievements as well, showing a plethora of shader effects, some of the best lighting ever seen on last gen consolles , and generally offering a great deal of detail in it's einvoirments. but they hadn't to move the massive, (physics heavy) battles, and open wide areas as in halo 2, so i somewhat consider it to be a bit less impressive overall
Those two games are some of the best looking I've seen last-gen.. .. In that case did they really push the Xbox to it very limit?
Some even said that they rival certain launch 360 games
Ostepop said:Impossible to push any piece of hardware to its very limit.
You can allways write more efficient code that will make the software run better.
Well Halo falls where Splinter Cell excels & vice versa.
You can talk about scale but in the end Splinter cell compensated for its smaller area with much more shaders & lighting. If you are to think like that then there won't be one game that'll stand above the rest.
Impossible to push any piece of hardware to its very limit.
You can allways write more efficient code that will make the software run better.
Then you are talking to blind people or people who have never played both.
Yep, uncompressed would take much more memory. It'd be rather silly not to take advantage of the various DXTC formats...Was texture compression a typically used technique to save space?
Yep, uncompressed would take much more memory. It'd be rather silly not to take advantage of the various DXTC formats...
Considering the vast advanced shader capabilities of the original Xbox, it's possible, especially at standard definition and with early 360 games.
What I really wonder is how developers dealt with such a limited amount of RAM. I know many a game, like Halo 2 and the Far Cry titles used some pretty aggressive LOD, but the texture quality in some titles just seems beyond what a 64 MB RAM equipped machine could do. Was texture compression a typically used technique to save space? I do find myself fascinated with the idea of how a 128 MB equipped Xbox would've compared graphically to the system we know. Sure modders have added extra RAM to the system, since IIRC all Xbox's have extra solder points for extra chips for systems to be potential development units for 128 MB, but the games of course are configured and developed to the 64 MB spec. Kinda makes it hard to believe the 360 was originally specified to have 256 MB total, which is pretty interesting to think about too, considering how games might have looked, and the compromises devs would've had to make.
As for technical achievements, I think Far Cry needs to be mentioned, as it is more open than any of the games mentioned, employed global shadowing/self shadowing (even if it was low quality), and all the other fancy stuff. Only real graphical complaint I have for it is the low geometry in some areas.
sometimes, i made myself the same questions , another thing that i often wonder, is what would have been, xbox's absolute pinnacle from a graphical standpoint, if the consolle had lived more (le'ts say another full year at least), Shaders gave developers a lot of freedom to create new and fancy effects, so there was surelly lots of room to improve in that sense. The tech demo of dead space running on xbox (that looks remarkably similar to the final game released on 360/ps3 and pc), gives a glimpse of what could have been. I totally agree on Fc instincts / Fc instincts evolution, i recently re played it, and was litteraly amazed, Giant open maps, with incredible lighting (lots of stencil shadows, and bloom) , huge quantity of vegetation (that correct me if i'm wrong, are pretty expensive computationaly speaking,) and a vast assortment of effects (shaders on water, motion blur, lots of particles, post process filters), makes it definitely one of the most advanced games of that generation (and all this, was supposed to run on the ps2 too at the beginning.... how? )
The geforce 3 didn't have shaders as much as register combiners, those are a lot less flexible than even the oldest generation of "true" shaders found on DX9 class hardware.Shaders gave developers a lot of freedom to create new and fancy effects
The geforce 3 didn't have shaders as much as register combiners, those are a lot less flexible than even the oldest generation of "true" shaders found on DX9 class hardware.
#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
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.