Full 1UP Interview transcript by aaaaaOO - here.
Like the Playstation 3 makes my life as a software developer much harder. All of a sudden I’m supposed to figure out how to have this asymmetric multithreaded game, right? And I’ve never written a single line of multithreaded code, ever, right? It’s not like I was lying around saying “I need to re-architect every line of code I’ve ever written in order to get it to work.”
So one of my junior programmers, who’s writing game code (rather than system code), could slow things down by, in a real world case, by a factor of 80, because they’re doing something out in the AI, or in the game DLL, which used to be totally safe, and now all of a sudden the whole system just slows down. And the one of the really experienced programmers have to go in and say, “Oh, you can’t tell but you’re doing this, you ran out of register space, and this other thing happened, and no there’s no debugger that shows this to you.”
Writing for SPEs and writing in a Playstation 3 environment, there are incredibly few programmers who can safely write code in that environment. You make tiny little changes to code running on one of the SPEs and the entire thing will grind to a halt. You have no visibility into why that’s happening -- it’s just sort of magically running really, really slow. It’s also incredibly hard to architect things at the beginning so that you can distribute all of your functionality on all of these different processing units.
This was not a problem that we were lying awake late at night saying “oh we would really like to take this on right now.” You know, we were worried about little things like billing, and forums, and wikis and things like that.
I totally see why Sony wants people to write code that runs on 7 SPEs and a central processing unit -- because that code is never going to run well anywhere else.
They’re saying “make your code not run on anything other than one of ours and we’re betting that we’ll have market share that’s so high that everybody will have to write code for our platform, and other people, you know, “we’ll just starve the air from other platforms by absorbing everyone’s R&D budget and making their code less portable.”
[...edit?...]
Steam was essentially “here is this set of tools that software developers need, focused on solving the problems we have with these next generation of games”. You know billing, updates, product support, connecting our customers together, and things like that.
I would think that for a lot of developers, things like Steam are going to be more interesting than and solve more problems to them than this next generation of hardware and operating systems platforms.
You know the Saturn came out, and that was intended to take this previous generation of games, and create this super complicated chunk of hardware that would help you make the ultimate sprite oriented game. And Sony came along and said “no, no, no it’s not a sprite problem any more, it’s a 3D graphics problem”…
I think a lot of developers are going to say “that’s not the problem, it’s another Sega Saturn". It’s "how do we connect to our customers?", "get data from our customers, get updates to our customers?", "have closer relationships?", "how do we compete with the customer experience that you get out of being a WOW customer?” more than “how do we blast another set of pixels at what is essentially a 640x480 screen?”.