If you want to do the best on all platforms, you would unfortunately probably try to program towards the Sony cell model, which is isolated worker threads that work on small little nuggets of data rather than kind of pier threads because you can take threads like that and run them on the 360. You won’t be able to get as many of them, but you can still run.. You’ve got 3 processors with 2 threads or 3 cores with 2 threads so you can go ahead and make a game that has half a dozen little worker threads that run on the cell processor there and run as just threads on the 360 and a lot of the PC specs will have HT, the processor is already twice as fast. If you just let the threads run it’ll probably work out ok on the PC, although the OS scheduling might be a little dodgy for that which might actually be something that Microsoft improves in Longhorn.
That’s kind of an unfortunate thing that that would be the best development strategy to go there because it’s lot easier to do a better job if you followed the pier thread model that you would have on the 360 but then you’re going to have pain and suffering porting to the cell. I’m not completely sure which way we’re going to go. The plan of record is that it’s going to go the Microsoft model where we have the game renderer running as two primary threads and then we have targets of opportunity for render surface optimization, physics work going on in the space processor or threads which will be amenable moving to the cell. But its not clear yet how much the hand feeding of the graphic processor on the renderer, how well we’re going to be able to move that to a cell processor. That’s probably going to be a little bit more of an issue because the graphics interface on the PS3 is a little bit more heavyweight. You’re closer to the metal on the Microsoft platform and we do expect to have a little bit lower driver overhead. People that program directly on the PC as the first target are going to have a significantly more painful time, though it’ll essentially be like porting a game like we did on the xbox in doom. Lots of pain and suffering. You take a game that is designed for 2ghz or something and try to run it on an 800mhz-ish processor you have to make a lot of changes and improvements to get it cut down like that. That is one of the real motivators for why we’re trying to move some of our development to the consoles, to sort of make those decisions earlier.