

Crash Bandicoots 1-3 Compared - Squeezing more out of the same hardware - agavin
http://all-things-andy-gavin.com/2011/03/28/crash-bandicoot-teaching-an-old-dog-new-bits-part-3/

======
LeonidasXIV
I think that the aspect of "no-OS" is also pretty much outdated on the current
generations of consoles, with each having a Dashboard or an XMB just a button
press away. And you probably don't want to maintain the code to connect to PSN
or the Xbox-aquivalent for each and every game anymore.

Similar the controllers: the Dualshock 2 is not much different from the
Dualshock 3, and the Xbox-Controller, while having a different shape has a
quite similar button placement (except for the left analog stick), just with
letters instead of symbols. So does my cheapo-USB gamepad.

The thing with "each and every is the same" also died with the PS2 and Xbox360
having a harddrive or not, which I imagine is a rather significant difference.

What I think it often boils down to is competent developers/teams. There are
many crappy console-only games with poor performance and low fun-value, as
there are also well-done multi-platform games. Single-platform releases are
rather unusual these days anyway. I bet Naughty Dog could also come up with a
kick-ass port of Uncharted 2 for PC and possibly also Xbox360.

But anyway, thanks agavin, I quite liked the series of articles. I'm even
considering playing Crash, now that I know how much awesome work you guys did.

~~~
agavin
The no-OS is certainly no longer valid with the networking services etc.
Still, even on the PS2 there are areas where you might or might not want to
use the OS, or plenty of ways in which you can tailor your code more tightly
to the machine. On the PS3 a perfect example would be use of the SPUs. The
best engines have all sorts of functionality offloaded to the SPUs. Rendering,
sound, joint processing, collision, particles, etc etc. Offloading each of
these tasks is a fairly herculean amount of engineering as you must write
elaborate SPU assembly modules (at least several programmer weeks for the very
simplest ones) and the way in which the services interact with your main
thread become fundamentally different. It would be hard to use these same
architectural choices on the 360 and the PS3 as the 360 doesn't have SPUs (but
has more regular threads).

