
Cooking made easy? Development made easy?
If you’ve been keeping up with release dates in gaming news recently, you’ll notice the ever so increasing trends of releases being delayed due to the difficult development process on the Playstation 3. It’s happened to Turok. It’s happened to Orange Box. Now the latest casualty is the highly anticipated Grand Theft Auto IV. Not only is there a delay but the games that eventually do get release perform significantly less than their Xbox 360 counter-part –case in point: Madden ‘08 runs at 30 fps on the PS3 while the Xbox 360 version runs at 60fps. So what gives? Why is it so hard to develop for the PS3?
I had the opportunity to speak with a friend of mine from college, Colin, who now works at Neversoft as a programmer for Guitar Hero 4. Colin was able to provide some comparative insight as he is developing a game that is slated to release on both PS3 and Xbox 360.
I had originally asked Colin what the technical reasons were for the difficulties in developing for the PS3; however he was able provide some financial insights as well. Here are the few interesting financial facts I was able to gather from our conversation. A dev kit, a developmental hardware kit for creating games, for the 360 cost about $3,000 with no licensing cost for compiling code. Sony use to charge $20,000 for PS3 dev kits –now the cost has been reduced to about $10,000– on top of the cost for a code compiler license and distributed build tools. A company like Neversoft would need to purchase 150 - 200 dev kits. So you can see the cost can significantly add up; however the magnitude of the cost for dev kits is not entirely convincing as a barrier to development. Purchasing dev kits is a one time investment; a studio does not need to purchase 200 dev kits per game. Companies like Activision have plenty of money, and budgets for video games are only increasing each year by the millions; the cost to purchase a set of dev kits almost seems relatively insignificant. Never the less, the cost to develop on the Playstation 3 is comparatively larger than the Xbox 360 and may perhaps present a problem to smaller studios not backed by a huge publisher.
And now it’s time that we get on with the technical jibber jabber. Rather than talk about vector processing units, function modularity, and process management — which is more often than not a disservice to non-technical people– I thought I would reduce my explanation to one of my infamous analogies that, in my mind at least, clarify everything, but in reality it actually confuses people more. Bare with me as I try my best.
Most gamers are aware of the technology that Sony champions, it’s Core Technology. The Playstation 3 has 7 cores, or processors. While the 360 has a triple core processor. My friend, Colin, was quick to point out that the cores aren’t really stand alone processors, but for the sake of simplicity we’ll reduce them to processors. For sake of reducing my explanation even further, let’s reduce the processors to roads with cars representing programs that run on those roads. Sometimes these programs have to block; they have to wait either for a resource or for another program to finish. That is to say there is a situation, in my analogous world, where the roads meet at an intersection with stop lights, and cars are waiting to move along. Most programmers are vastly more experienced with dealing with less processors. Dealing with a 3 way intersection is significantly less difficult; in fact you may come across 3 way intersections all the time. Now imagine trying to manage a 7 way intersection. There are significantly more things to balance in a 7 way intersection. Colin states, “By having a ton of small processors, the system is overly complex for itself [and ends] up slowing itself down.”
Now I am sure there are tons more factors to this complex problem, but the explanation I have presented on my blog is a perspective from an engineer who has to deal with these situations for his job. I am confident, with time, that programmers and engineers will develop the techniques to facilitate easier development. In fact, Sony has just announced today the PhyreEngine that apparently makes it easier to code for the PS3 in which cross platform development only needs a “simple recompile” for it to run on the PS3. Also Insomniac, a Playstation 3 game developer, is publicly releasing its PS3 development techniques through its Nocturnal service. It may be hard to develop for the PS3 now, but I see a lot of hope for Playstation 3 development in the future.
dr. cox
February 21st, 2008
CrazyLikeCatfish
February 22nd, 2008