Us vs PS3
July 1st, 2009Recently Activision boss Bobby Kotick threatened to stop supporting Playstation 3. Now, this is the most ridiculous thing I’ve heard in a while and it’s obviously just a bluff. Not even funny. Kotick’s track record of flame war inducing statements are infamous and this is just one of them. I won’t even bother to comment on that.
But his alleged reasoning is something everyone and their mother has talked about. Namely, “PS3 is oh so hard to program” syndrome. Having about two years of experience on PS3 programming and in the comfort of my own blog, I think I can chime in. Note that if you’ve programmed for PS3 before, chances are you already know all this. I’m not going to get technical here.
PS3 is yes, a radically different architecture. It won’t love you back if you don’t treat it right. Without the right adjustments, all you’re going to get is the performance of an old Mac G5 processor, at best. That means if you already have a piece of code that you’re trying to run on PS3, you’re in for big trouble. PS3 code must be carefully designed around PS3’s specific needs. But here in the game industry, we have a lot of legacy code that is not ready at all for massive parallelization. That’s where the mess begins.You’ve probably realized that most early PS3 games were crap, just because of this reason. It’s also the reason why so many PS3 games are delayed or cancelled.
So at this point, should we blame Sony for all this trouble they put us through? I don’t believe so. Yes I could (and do) criticize many architectural decisions of the PS3, but that’s not the point. We, as software developers have to make the best of whatever hardware is given to us. We don’t have the luxury to complain.
Moreover, PS3 is just the beginning of the paradigm shift we’re about to go through. Sooner or later, we’ll have to deal with writing highly concurrent code and this transition isn’t supposed to be an easy one. There’s a great chance that the changes we’re making in our codebase will benefit the next XBOX as well, which is bound to be more horizontal than vertical (just like every other modern high end hardware).
Making a multiplatform game these days is very difficult. That’s also probably the biggest issue that’s hurting the aforementioned Activision boss. I can understand why this is frustrating to many developers who have to spend disproportionate amount of time and effort on only one of their three target platforms, due to the fundamental design challenges. But then again, we (especially Kotick) make money off it in the end, albeit a little less than X360.
For an exclusive PS3 developer the complexity should be an order of magnitude less, and I have to say I’d love to work on an exclusive title to be able to concentrate on making the best damn game possible.
Now one thing that we have the right to complain is the development environment Sony provides for the PS3. I can’t go into details unfortunately, but I must say that I believe Microsoft is doing a much better job of giving us the necessary tools on time to help us make the best games. I hope Sony gets up to speed on this.
In the end, I honestly don’t think PS3 programming is -that- hard, but it surely has its quirks. That being said, please, for the love of god, don’t ever utter a sentence that sounds like “PS3 is actually very powerful but the current games can make use of X percent of its power because programmers don’t know how to use it yet”. This is crap. Overall PS3 is not really more (or less) powerful than an XBOX 360 when video games are concerned. And it’s practically impossible to use 100% of its power anyway. That’s like saying “I can actually jump 10x higher if not for the gravity”.
Sony can decide if they did the right thing by going down this path. I personally believe it immensely hurt their business. But that’s not my business. In the end, as programmers, we are only here to solve problems. And PS3 gives us a great complex problem to solve. Let’s enjoy it.
PS: If you have a PS3 at home and want to mess with it, try buying this book. You don’t have access to all of the hardware (e.g. no RSX) but it’s still fun to play with the SPU’s of the CELL processor. And it will give you an idea of why PS3 development is, well, different.
