PS3 Is Hard to Develop For, But It Doesn’t Really Matter

Earlier today, I saw an interesting article on CNET from Don Reisinger about how the PS3 was hard to develop for, “on purpose”. I would like to comment on it and add to the discussion.

As a former PC developer, it’s easy to see why the PS3 is more complex to develop for than the Xbox 360. Even if the 360 can be programmed at a much lower level than a PC (basically game devs can code at the PC “driver” level), it is still much closer to a PC than a PS3. The PlayStation instead went for an “exotic” architecture with CELL (among other things) and the end result is that the strong points of both consoles are exactly inverted. For practical purpose, a port from PS3 to 360 then PC is the easiest way to proceed. Given enough time and resources, the PS3 could be a little more powerful than the Xbox 360. But, developers would point out that the real problem is game portability. If PS3 had a huge market share, it wouldn’t be a problem, but it doesn’t have a big market share.

Is the PS3 hard to program to program because Sony “wanted” it to be so? Does it have “more juice” because it is hard to program? Finally, is it so important? I’d say “no”,“a little”and “no”.

First, the fact that the PS3 is hard to program is a simple representation of how important Sony thought (or thinks) software should be: not very important, apparently. The total processing power of the PS3 can be formidable (relative to its cost). However, in the real world, there are not manywaysto fully use it. My sense is that Cell’s transistors are sitting idle most of the time because it’s really hard to create parallel computing scenarios where 100% the transistors will do something useful. Just look at the Cell demos: decoding 16 HD video streams, that’s great, but how does that make my game better?

Yet, if a developer really wants to sink some time into it, it is possible to get an edge against the Xbox 360. But because Sony studios (with rare exceptions) are pretty much the only ones trying to “squeeze all the juice” of the PS3 (Killzone 2, Resistance 2, Uncharted 2) we will be hard-pressed to do any side by side comparison. The takeaway with this is that Sony’s hardware engineers were the kingswho said “let’s let the software guys sort this out”: That’s my personal opinion. I don’t buy that Sony “intentionally” wanted the console to be “hard to program” as a tradeoff to get more miles off the platform, in fact, it might only work marginally – if at all. They just didn’t care enough about how “software people” would have to deal with it down the road. To be fair, this was never an (real) issue for the past decade.

An exotic architecture like Cell is like an athlete that has oversized arms or legs – but just that. You will find special cases or special things that he can do better than anyone, but it doesn’t mean that he can win a decathlon. The biggest strength of the PS3 is that each Stream Processing Unit (SPU) in the Cell processor has its own memory – making them immune to memory latency. That is also its greatest weakness: without a proper understanding of how the SPUs work in conjunction with the rest of the hardware (particularly the GPU codenamed RSX), it’s impossible to make something decent.

In the end, PS3 development can be annoying, but it’s not *that* hard. The first problem that Sony has right now is Market Share. The PS1 and PS2 were harder to program than PS3 is today – yet, they have both achieved unprecedented success. Sony has done a lot of things to improve its PS3 SDK (Software Development Kit) and the point that I would make is that if the PS3 SDK had been better from the start, Sony’s market share might bevery different now. The second issue facing Sony is console pricing. I’m not 100% sure as to know how much of a problem it is today, but at launch time, pricing was definitely a big problem. Finally, Sony has lost a lot of good exclusive franchises like GTA, Final Fantasy and so on… These are huge console sellers and sometime it would have been worth the expense to just pay these publishers to get them as exclusive developers. Sony might have overplayedits hand and Microsoft won a lot of good franchises for the Xbox 360. (I’ll pass on the late arrival of the PS3 to the market)

In the final analysis, the PS3 hardware and how “hard” it is to program doesn’t matter all that much. The business proposition that Sony has (or had) with the PS3 is simply much less compelling to developers, publishersand customers than PS2 and PS1 were. What went wrong here is mostly related to business practices and not to engineering. Sony might be able to get more miles out of its “exotic” Cell architecture and they may argue that going with a massively parallel architecture was the way to go, but in the end, the extra power might simply be be too little, too late.