We came upon this rather interesting next-generation dialogue over at the Bizarre Creations website. Although it's unlikely that the firm has spent significant time with a PlayStation 3 development kit, technical director Walter Lynsdale offers an impressively unbiased and intelligent reflection of what the imminent future may hold.
Its platform transition time again - that period that keeps game development fresh and exciting! We have all the rules & limitations we're accustomed to working with changed as the new generation of game's consoles hit the scene. As I'm sure you're aware, the two big players this time around are Microsoft's Xbox 360, and Sony's PlayStation 3. The 360 will see a 2005 release date, whilst the PS3 is rumoured to be available in Spring 2006 (although typically these dates will change).
"Software development is like a gas, it quickly expands to fill the available space". The question is: how much 'space' do these new machines give us? How different will they be to each other, and to previous generations?
This next generation of consoles crosses several important thresholds. This is the 3rd 'mainstream' generation of console 3d hardware, but what should be possible visually this time round will be backed up with more in the way of processing and believability behind the scenes. Less of what's there will be facades; the styles of game to which photorealism can be applied will be expanded (pending spiralling production costs).
Whilst the Microsoft & Sony marketing machines are keen to point out the superiorities of their individual consoles, it's worth pointing out their similarities. Both get 90% of their claimed processing power from their Graphics Processing Unit. Both use GPU's based on the same base direct-x9, shader 3.0 functionality, but somewhat extended in ATI's case. This is much more similarity than existed between the Xbox and PS2, as both are patterned around the common DX, shader 3 feature-set (the GameCube was somewhere in between the two). Whatever their differences, this will make cross-platform graphical content development easier.
One very valid comment is the implication on their economics... both platform holders have had to take a call on "power:price" ratio with a similar architecture. There is only a certain amount of detail which developers can afford to put in a game - are you really going to see more sales by hiring another 10 artists to render the buttons on a character's shirt for example? Production values will be a limiting factor on both machines, so how much power can developers actually use?
What we have in both cases is extremely capable chips suitable for running cinematic shaders, with floating point processing per pixel: This is the backbone of the main visual advancement on both platforms.
The effects only seen in high end PC card tech-demos will become more prevalent in mainstream games given the predictability of a fixed console spec that lasts for 5 years. What excites me is not the raw numbers being thrown around, but the versatility offered. Gone will be the 'distinctive look' of a 4bit palletized PS2 title or 'cling-film' bump-mapping, replaced with whatever blend of filters and stylized material effects the developer chooses. Shader creation will grow as a role in development teams, bringing real-time ever closer to pre-rendered CG.
The other threshold being crossed is the dawn of the 'near-polygon per pixel era'. Sony had an interesting take on this during PS3's development cycle. What we are seeing is 'polygon-texture duality' if you like. On the one hand geometry gets so detailed that polygons are more evenly distributed across the screen, (we're regularly using sub-pixel geometry now in PGR3 that we're having to LOD out), real-time geometry decompression - XPS, CELL-GPU connection, various shader techniques, practical curved-surface Tessellation, Displacement Mapping - will mean on true next-gen titles you'll never see a polygonal boundary. On the other hand, pixel-shader texture effects beyond bump mapping such as virtual-displacement mapping - based on ray tracing & voxel approximations - will allow 'image-based rendering' approaches.
According to rumours, Sony's original plan was to ditch the GPU and simply merge the two - rely on single pixel polygons to do the job of both - the 'micro-polygon tessellation' of RenderMan - but the reality has not quite appeared... there's always PS4 and the next Xbox... nonetheless, on paper, both machines can start counting polygons per pixel rather than pixels per polygon. One important implication is that it makes 3D scanning approaches more viable - again with implications for cross platform development. Now for 3d (like 2d of times past) you can think in terms of scaling the same content up or down to match the machine.
Display technology is also moving on, with both machines targeting high definition resolutions, though it remains to be seen what will happen in the balance between frame-rate, 3d detail, materials, filters, and spatial resolution. What will people really react to more; a sharper image or a more realised one?
To summarize on the graphical side - given the ballpark power & versatility, I would say that overall there's as much scope for production values and developer talent to show through in a game's visuals as any hardware differences.
On the CPU side, once again both machines offer a common challenge. Moore's law is over - the limits of silicon are reached. The speed of light has even become a consideration in chip design with the physical distances on the die being a limiting factor!
The only way to make computers faster is with deeper pipelines, more reliance on caches, wider busses, VLIW & SIMD - all common today; - but most importantly of all, true multiprocessor architectures. GPU's easily parallelize with independent pixels handled simultaneously, whereas CPU's game-processing must go back over the same results repeatedly and make decisions.
This forces a rethink in programming practices and how game engines are put together. Expect to see a big jump between successive generations of games on both machines. From the perspective of a programmer working on a title, this is the biggest change. It should mean one can separate out a fixed, predictable amount of processing from the chunk taken to manage the visuals; again helping to deepen the experience. Although the raw 'GFLOPS' provided by the CPU is only 10% of the overall figure, it's critical to utilize for the depth of the gaming experience.
Another limiting factor to consider in game-update though is online: this is another hugely important advancement in console gaming, and it inherently restricts how much actual game processing is useful to be able to perform on a machine. The limiting factor becomes not the machines power, but how much state information can be sent across a broadband network. In practice this common hardware restriction will limit game design more than the raw CPU power.
The technical differences between the two consoles will be just as important as their similarities (if not more so). These will become the unique strengths that are visible in a platform's exclusive titles as opposed to multi-format games.
At the time of writing we only have limited information on the PS3 - so it's too early to say which is more powerful. Sony certainly has a lot of 'GFLOPS' on paper and large amounts of SPE memory, but operates differently so could be more limited in application.
What I can say for sure is that the Xbox 360 does indeed have a very 'smart' GPU, with many highly versatile extensions over the common DX9 shader 3 functionality. We're trying to exploit these as much as we can in the time we have for PGR3, and know we'll be able to build even more into our next-generation engines. Raw TFLOPS are misleading: there's a big difference between steamrollering more pixels and REAL improvements such as the number of separate objects you can handle, what sort of compressed data structures you can have etc.
The 360 GPU can dynamically target its power at pixels or vertices at will - allowing it to 'work smarter not harder'. Its EDRAM architecture will most likely give it the edge in anti-aliasing. It also uses unified memory, so one has more flexibility in deciding how much memory to devote to textures, geometry & game-update related resources.
More information is appearing on the RSX chip (the PS3 graphics processor) which is apparently a little more conventional, but backed up by the option of pre-processing on the CELL.
The approach offered to CPU side multiprocessing is the biggest difference between them. Microsoft's machine on paper promises to be the more developer friendly with 3 identical custom PowerPC cores, 2 hyper threads each. One can write common code then decide at will how to balance the program across them. Hyper threading creates some interesting back doors with 2 tasks sharing the same cache.
In practice, both for optimization and to avoid hard-to-track, production-schedule-stretching bugs, the best practices mean the more limited the 'background-tasks' are, the better, which takes forethought in engine design. Microsoft's customized PowerPC is still reliant on specific coding to maximize use of its truly powerful vector processing instructions... although it's worth pointing out it has the fullest featured SIMD unit I've yet seen!
Sony's contrasting approach has been to take this observation and design a totally new processing architecture around this. Some talk about it being like the "RISC revolution all over again". On paper this will be harder to deal with as you're using non-standard tools. But given the issues above, the architecture has a certain elegance. An extremely exciting development in the PC space that I'll be watching closely is the Agiea physics board, designed explicitly for the sort of 'spatial' processing seen in games - collision detection and physics. This operates very similarly to the Cell, surely a vote of confidence for the concept.
However, the first implementations of a new idea rarely get everything right. Compare the early days of PC 3D cards to their current state of evolution. Apple have not jumped at the opportunity of using the Cell processor to power their Macs. I'm only going on limited information and some speculation so it's too early to tell which will be most powerful in practice. I keep coming back to the idea of 'polygons' and 'textures' meeting in the middle, and like the idea of this overlapping with physics too. It would seem good to have one unit that can handle all 3. Even ATI's GPU heads towards this with its unified shader model, the same ALU's sharable between them. We can see the so called "GPGPU" particle & physics demos appearing (using the GPU to accelerate General Purpose tasks by placing data in off screen textures). Already some approximations to real-time global-illumination have appeared on PC's, again an area where graphics becomes spatially interactive like physics. From a game/graphics-programming perspective it'll be interesting to see the next generation which will most likely expand on all these concepts...
So in my eyes, this new generation of consoles is extremely exciting, and on an open and even playing field - it's all going to come down to the developers, the games and how it's all marketed!
For reference, Bizarre's next game, Project Gotham Racing 3, is expected to launch alongside the Xbox 360 this November.