• Hey Guest. Check out your NeoGAF Wrapped 2025 results here!

Gabe Newell: 'PS3...it's another Sega Saturn.'

Izzy

Banned
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?”.
 
[ ] old
[x] if it's another SS, that'd be a good thing to me. I liked the Saturn.
[ ] nice donut stains, fat ass
[ ] demi factor
[ ] fh-you-ta
 
Another Saturn? Suprise release a month before the X360 with an unfinished Tekken 6 and GT5! Gabe knows something we don't! :lol
 
Essentially he's correct in saying that about the PS3.

MS and Xbox got it SO SO SO right with Xbox Live. Patches, friends, leaderboards, competitions et al. By having the online system as part of the Xbox Dashboard ensured continuity between games, which was one of the smartest things they ever did.

PS2's online system was abysmal, it's hard to believe they got it SO SO wrong. There was no connection to the customer, no continuity, nothing. It was absolute shit and I really hope sony fix it for the PS3.
 
Izzy, that's some remarkably misleading paraphrasing you've got going on there.

He doesn't address that comment at PS3 specifically at all.

His point is that the Saturn presented solutions to old problems (and Sony came in and presented a solution to relevant new problems at the time), and he feels the next-gen systems are presenting solutions to old problems, and are not helping him solve his problems: "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?”. He said X360 wasn't helping him with these problems either.

He may have thrown in the "super complicated" descriptor as a side-swipe to draw a parallel, but that was not the main point of that part of the discussion. It was about how the systems aren't helping him at all with his most pressing problems, and he addressed that specifically with X360 too. If you want to consider his comments on architecture, also consider his earlier admission "I’ve never written a single line of multithreaded code, ever". I've great respect for Gabe and he's been gracious enough to entertain multiple email conversations with me (and many others, just try emailing him, he nearly always responds), but one should be concious that his background is not rooted in parallel asymmetric architectures (which are not uncommon in consoles) when considering his comments.

Are consoles tough for programmers coming from a PC background? Sure. What else is new?

Burger said:
PS2's online system was abysmal, it's hard to believe they got it SO SO wrong. There was no connection to the customer, no continuity, nothing. It was absolute shit and I really hope sony fix it for the PS3.

PS3's "open" online platform would be an easier fit for a proprietary third party system like Steam than MS's monolithic "unified under us" approach. So that's not his problem. Steam would not fit at all with MS's model, currently, as they require everything to be done through MS, whereas the whole point of Steam, for Valve, is that they want to bypass other third parties and go straight to the customer. Sony's model actually fits that from a business perspective. From a technical perspective, the other piece of the puzzle as mentioned by Gabe in that same interview is the hard disk, though I doubt Sony's position on that will be any different to MS's. So on each console he's likely going to be constrained to a subset of the userbase, even assuming he could get steam onto that console.
 
Um, didn’t Gabe miss the train by 5 years? It was popular to bitch about difficult processors around the time PS2 was released. And this time it seems things aren’t as bad as then.
 
I think Gabe is making real points, but it's kind of becoming clear that he sees 360 and PS3 not as potential platforms for him to develop on, but as competition for Steam.

"Hay guys, forget the PS3, put your game on Steam! Your customers can download the game, get automatic updates, and a buddylist that never works! Where's my corndog?"
 
Forsete said:
Um, didn’t Gabe miss the train by 5 years? It was popular to bitch about difficult processors around the time PS2 was released. And this time it seems things aren’t as bad as then.

You're not a programmer
 
We should not dismiss what he is saying about the X360 and PS3. he is sayinbg it is incredible hard to work with them, debuggers arent helping much at all etc, especially doing doing trial and error approach when debugger is sitting there like a retard and doing nothing if what he says is true. This is probably true for a lot of experienced developers right now that are trying adapt to a completely new platform. I dont think he is bitching for the sake of bitching... It will be interesting to see how this develops in the near 1 year.
 
He can whine all he wants. He'll just have to adapt or stfu. You gotta work with what you get and if you don't like that, just don't work with it.
 
gofreak said:
PS3's "open" online platform would be an easier fit for a proprietary third party system like Steam than MS's monolithic "unified under us" approach. So that's not his problem. Steam would not fit at all with MS's model, currently, as they require everything to be done through MS, whereas the whole point of Steam, for Valve, is that they want to bypass other third parties and go straight to the customer. Sony's model actually fits that from a business perspective. From a technical perspective, the other piece of the puzzle as mentioned by Gabe in that same interview is the hard disk.

I fail to see how Steam would work via consoles. It would have to be implimented by some ammount at Sony/MS's end. I doubt either the PS3 or the 360 would allow you to insert a Steam disc and download valves games to the HD and run them, mostly for security reasons and content control.

Steam is fantastic for the PC world, but consoles ? I'm not sold.

PS3's 'open' system was shit. It made it harder for me, as a consumer, to access. So much so that I stopped using it.
 
Skin said:
He can whine all he wants. He'll just have to adapt or stfu. You gotta work with what you get and if you don't like that, just don't work with it.
Thanks for that wonderful short-sighted insight.

If developers don't vocalise their complaints, nothing will improve for the future. We need MORE developers voicing their concerns in order for future generations to generally be better.
 
Burger said:
I fail to see how Steam would work via consoles. It would have to be implimented by some ammount at Sony/MS's end. I doubt either the PS3 or the 360 would allow you to insert a Steam disc and download valves games to the HD and run them, mostly for security reasons and content control.

Steam is fantastic for the PC world, but consoles ? I'm not sold.

PS3's 'open' system was shit. It made it harder for me, as a consumer, to access. So much so that I stopped using it.

I'm not discussing the user experience, the quality thereof etc., rather from a business perspective which would be more suitable. I'm not saying either system completely satisfies Valve's needs in every regard, but allowing publishers/devs to go straight to the consumer without having to go through sony or ms would be one hurdle they'd have to clear.

The issue of running code off the HDD is an interesting one, I'm not sure what the answer to that would be. PS3/Cell is supposed to have very strong digital rights management and soforth for downloads, though, which i guess could be extended to executable programs.
 
Syb said:
Half Life 3 exclusive to 360 (Console wise)?

His comments were not reserved for Sony as Izzy's comments suggest. The full transcript should have been posted, and not cut to the point where he starts talking about PS3.

…Like I had a conversation with people at Microsoft recently, and I said "I cannot point to a single feature in Longhorn that I care about. There is nothing in Longhorn at all that solves any problems for us at all.”

You know, I had the same conversation with the xbox 360 guys. It’s like “The xbox 360 doesn’t make my life any better, and in fact it makes it a lot worse and you’re telling me I can’t rely on having a hard drive.”

When I look at what I need to compete with, the most interesting game property right now is World of Warcraft. Huge retail sales and huge recurring revenue. Not only that, but they have a great experience wrapped around it, whether it’s their forums, or community art, or whatever, they’re not only getting their customers to play the game, they’re getting their customers to make the experience more valuable for other people who play the game. So I’ll go up and download music and watch the movies that people have created, and see fan art and do all these other things.

So when I look at, sort of, what a platform needs to help a software developer do right now, it’s figure out how to beat World of Warcraft, and when I look at the strategies that are being put forward by Microsoft on the system side or the xbox side, or Sony, or Nintendo, they’re not making my life easier.

He seems to feel fairly similarly about all the systems in terms of what they're doing, or not doing, to address his (business) needs. In fairness to MS/Sony/Nintendo, though, the Steam model is pretty radical and new.

Ultimately, though, the market will dictate that he'll really really want to put his games on these consoles. Even if he wishes it could be easier for him, or if he could do it exactly the way he wants to.
 
I think there are some interesting info in this interview:

1) PS3 to other consoles ports will be difficult

2) He's whoring Steam out like there's no tomorrow

3) He'll probably avoid next-gen consoles since he sees them as competition
 
I know enough about coding in assembly to know that multi-threaded register management is a huge bitch, especially when you have a ton of different components fighting for attention. Getting an entire team to communicate what needs to go where would be next to impossible if the SDK were shit; I'm hoping it isn't shit, but even if it's nice it will introduce new challenges. Still, it's not like the PS2 didn't have its own problems.

All of the "connecting to the customer" issues seem to be the type of problems that Nintendo is (talking about) trying to solve with their "all access" worldwide network interface with Revolution. (You could include Live with that, but I really find Live to be completely unintuitive as it is, and the next generation just seems to be complicating it rather than enabling users to connect more completely and automatically).
 
Juice said:
I know enough about coding in assembly to know that multi-threaded register management is a huge bitch, especially when you have a ton of different components fighting for attention. Getting an entire team to communicate what needs to go where would be next to impossible if the SDK were shit; I'm hoping it isn't shit, but even if it's nice it will introduce new challenges. Still, it's not like the PS2 didn't have its own problems.

As relates to the next-gen systems, though, I would have thought this would be a bigger issue on x360 than PS3? Task switching isn't something you're apparently going to want to be doing a lot of on SPUs since there's a lot of state to save - you'll want to let a task finish wholly and then switch at least. So at any one time your registers on your SPU will proabably relate to one task/thread..a lot of people just aren't considering the SPUs to each be multithreaded.
 
Could someone please post a quote where he explicitly states that he is dissatisfied with the next gen consoles because Valve cannot implement Steam on them?
 
gofreak said:
As relates to the next-gen systems, though, I would have thought this would be a bigger issue on x360 than PS3? Task switching isn't something you're apparently going to want to be doing a lot of on SPUs since there's a lot of state to save - you'll want to let a task finish wholly and then switch at least. So at any one time your registers on your SPU will proabably relate to one task/thread..a lot of people just aren't considering the SPUs to each be multithreaded.

You do raise a good point, I'd say that's a reasonable assumption. However, I think what he's talking about is when some little non-intensive process that isn't being made aware of other threads is hogging time from something that really needs it (resulting in bizarre slowdown). I don't really understand his complaint too much either, because I would think that Sony's SDKs would really be smart enough to take care of anything so ridiculous for you. Sony has promised its development kit will be extremely development friendly, but it's pretty well understood the code you're pouring in is designed to be difficult to port to other consoles (and that just comes with the territory of being market leader in an age of tons of multi-platform games).

I know far too little about how the 3-core 360 works, but it's my impression that the developer tools take care of most/all of the hassle for you.
 
Apenheul said:
You're not a programmer

That is correct.

But I doubt things are as bad this time as they were when PS2 was released.

http://www.gamasutra.com/features/20050901/jenkins_01.shtml

...in apparent reference to Sony's determination to provide as much technical support as possible to developers. As Phil Harrison had said earlier in the day, he acknowledged that the PlayStation 2 had proven difficult to program for and assured the audience that Sony had learnt its lesson.

[...]

This was perhaps the most interesting aspect of the session with a major SDK update promised that would include all existing PlayStation tools as well as fully licensed versions of physics tools Havok Complete and AGEIA's NovodeX. These will be available free to use for developers and will require no additional licensing fee to publish games using the technology.

After admitting that the early versions of the PlayStation 2's default compiler were “rubbish”, Bain also indicated that SN System's new compiler would also be included in the SDK, along with support for (but not free licensing of) Epic Games' Unreal Engine 3.

And so on.
 
Burger said:
Essentially he's correct in saying that about the PS3.

MS and Xbox got it SO SO SO right with Xbox Live. Patches, friends, leaderboards, competitions et al. By having the online system as part of the Xbox Dashboard ensured continuity between games, which was one of the smartest things they ever did.

PS2's online system was abysmal, it's hard to believe they got it SO SO wrong. There was no connection to the customer, no continuity, nothing. It was absolute shit and I really hope sony fix it for the PS3.

its free and thats the reason for me, why i dont care about live.
 
Yusaku said:
Meh, 360 is multicore as well.

AFAICT, he's not really bitching about multi-core designs, but rather asymmetric ones, such as Cell...where code has to be substantially different on SPE/SPUs from code that runs on the PPE. That and he's really not liking the next-gen development environment, in this case with PS3, I guess. PCs are going multi-core, but like X360, the design is symmetrical, making coding a bit easier to deal with since you can have the same code run on any of the cores. It potentially makes early parallelization efforts easier since you can take modified code and spawn tasks/threads off on to other identical cores in the design...something that cannot be done so easily with Cell/PS3 from what I've read.
 
Juice said:
You do raise a good point, I'd say that's a reasonable assumption. However, I think what he's talking about is when some little non-intensive process that isn't being made aware of other threads is hogging time from something that really needs it (resulting in bizarre slowdown). I don't really understand his complaint too much either, because I would think that Sony's SDKs would really be smart enough to take care of anything so ridiculous for you. Sony has promised its development kit will be extremely development friendly, but it's pretty well understood the code you're pouring in is designed to be difficult to port to other consoles (and that just comes with the territory of being market leader in an age of tons of multi-platform games).

I know far too little about how the 3-core 360 works, but it's my impression that the developer tools take care of most/all of the hassle for you.

I think possibly the easiest trap for a "junior" programmer to fall into with the SPUs might be memory management and memory access (and if we took his factor of slowdown as being literal, it certainly suggests that's the case..most big slowdown has SOMETHING to do with memory, be it bad cache behaviour or in this instance, poor LS management). The SPUs will take pretty much any type of code you want to give them AFAIK, but if you're not explicit about memory access and manage it intelligently, then you could see big slowdown. And obviously any system is only as fast as its slowest part, so if junior programmer X implements slow SPU code, it will slow down everyone elses too to some degree.

MightyHedgehog said:
AFAICT, he's not really bitching about multi-core designs, but rather asymmetric ones, such as Cell...where code has to be substantially different on SPE/SPUs from code that runs on the PPE. That and he's really not liking the next-gen development environment, in this case with PS3, I guess. PCs are going multi-core, but like X360, the design is symmetrical, making coding a bit easier to deal with since you can have the same code run on any of the cores. It potentially makes early parallelization efforts easier since you can take modified code and spawn tasks/threads off on to other identical cores in the design...something that cannot be done so easily with Cell/PS3 from what I've read.

This is all true, but it's worth noting that the differences between SPU code and PPE code (and it is explicitly different, with different compilers) mostly relates to SPU behaviour (and again memory access) than actual code syntax. The Mercury Systems guys actually talked a lot about how they were very quickly able to move code from a Mac chip to SPUs, because the syntax is very similar. But yes, you do have to have distinct code for them, so if you wanted to have the same code that could run on either the PPE or SPU, you would have to be maintaining two bits of code there. But I think also the idea with Cell is that a lot of your heavy lifting is going to be done exclusively on SPUs anyway..there are 7 of them and only one PPE, so it's unlikely you're going to be wanting to shift much between the PPE and SPU arbitrarily vs deciding in advance what's going to run where. Obviously between the SPUs, any SPU can handle any SPU code.
 
MightyHedgehog said:
AFAICT, he's not really bitching about multi-core designs, but rather asymmetric ones, such as Cell...where code has to be substantially different on SPE/SPUs from code that runs on the PPE. That and he's really not liking the next-gen development environment, in this case with PS3, I guess. PCs are going multi-core, but like X360, the design is symmetrical, making coding a bit easier to deal with since you can have the same code run on any of the cores. It potentially makes early parallelization efforts easier since you can take modified code and spawn tasks/threads off on to other identical cores in the design...something that cannot be done so easily with Cell/PS3 from what I've read.

what he said.
 
Juice said:
I don't really understand his complaint too much either, because I would think that Sony's SDKs would really be smart enough to take care of anything so ridiculous for you. Sony has promised its development kit will be extremely development friendly, but it's pretty well understood the code you're pouring in is designed to be difficult to port to other consoles (and that just comes with the territory of being market leader in an age of tons of multi-platform games).

It seems to be the opposite in terms of port friendly. Because of the nature of assymetric design of the CELL it will be hard to port stuff from PC or X360 to it.. Hence it will also be easier to port code from CELL to X360 and PC as they are more symmetrical and introduce less bottlenecks when doing an inital fase of the port. Thus it seems that it would be a wiser decision to have the PS3 as the lead platform when doing multiplatform titles.
 
Shompola said:
It seems to be the opposite in terms of port friendly. Because of the nature of assymetric design of the CELL it will be hard to port stuff from PC or X360 to it.. Hence it will also be easier to port code from CELL to X360 and PC as they are more symmetrical and introduce less bottlenecks when doing an inital fase of the port. Thus it seems that it would be a wiser decision to have the PS3 as the lead platform when doing multiplatform titles.

I think this is true, and SPU code would need rewriting obviously. I think again the biggest issue would relate to the different memory architecture on the SPUs vs a Xenon or Intel core. Certainly just the code syntax between SPU code and PPC code could be awfully similar, your approach to memory is probably what would require the most significant time to change, And I guess this is also assuming you were using the SPUs solely as individual cores..things could get trickier if you start setting up multiple SPUs as a pipeline etc. to replicate that on other systems could be difficult.

From X360/PC to PS3 I think other difficulties could arise in the nature of the tasks being spun out to different cores in X360 and PC and how they'd match to SPUs. But thusfar, the usages we've heard of for second and third cores seem to be actually ideally suited to SPUs also.

From PS3 to X360/PC I think the biggest problem could be moving from X SPUs to (a smaller) Y cores, but that'd be an issue of scaling rather than of functionality. Which is possibly why I think Carmack fingers that as the "best" approach (not the perfect approach, there is none!). It would also probably happen to carry "happy" side-effects for Sony, which suits them fine no doubt.
 
Filter out subtle Steam reference/praises and he's got something to say. I like to see this kind of thing to be honest. Prior to new hardware launches, everybody in the universe is normally doling out cookie cutter statements of approval intended to help the hype (and therefore a potential market for their product).

If something isn't helping, people shouldn't tow the line.
 
radioheadrule83 said:
Prior to new hardware launches, everybody in the universe is normally doling out cookie cutter statements of approval intended to help the hype (and therefore a potential market for their product).
Prior to new hardware launches there are also plenty of people doling out cookie cutter statements of disapproval simply because they can't keep doing things the way they've been doing them if they want to support the new hardware. We have yet to see that Newell's comments are anything more than the same kind of FUD we've seen from developers at the start of previous generations.

It's too late for Gabe to be trying to argue for fundamental changes in these systems to fit his way of thinking.
 
Hmmm...even so, I'd rather have tons of disapproval about hardware and development environments, as that, at least, brings a sense of more realistic expectations rather than everything associated with something riding high on hyperbole that could never be real, anyway. The proof against such negativity would be technically-well performing titles...though I'm not even sure what that means, in the end.


The Experiment said:
It doesn't matter. If it sells well, people will break their backs trying to get games out for it.

Sort of a chicken-and-the-egg thing, eh? It's the same gambit many made for PS2...except that ended up costing waaaaaay too much for what happened for many in the short term.
 
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.”

gen462.jpg


radioheadrule83 said:
Filter out subtle Steam reference/praises and he's got something to say. I like to see this kind of thing to be honest. Prior to new hardware launches, everybody in the universe is normally doling out cookie cutter statements of approval intended to help the hype (and therefore a potential market for their product).

If something isn't helping, people shouldn't tow the line.

Fuck'n A! I know its hard to get past the semi-hatred of Steam, but there is some truth to Newell's ravings. And frankly, it's midly refreshing to have someone expressing their true feelings, instead of the usual hype.
 
Tim the Wiz said:
And frankly, it's midly refreshing to have someone expressing their true feelings, instead of the usual hype.

We've had few developers be hyperbolic. But if they were, or were positive on the next-gen systems technically or whatever, you think they wouldn't be expressing their own true feelings?

Every dev is going to have their own opinion just as with anything else. The only truth that is there is his own truth, the problems he raises are of course valid, but they're not necessarily universal, certainly the "business" problems etc are not necessarily. And for some other devs, the architectural issues aren't as necessarily going to be as big for them as they would be for him. That applies to every dev, everyone's going to be in a different situation.
 
Wouldn't anybody have a problem with something that they have NEVER done before? The man said he never done mulithreaded code programming before, so ding it will be hard for him. So what other devs don't mind it as much and are working their asses off to prove people like him wrong.
 
Juice said:
because I would think that Sony's SDKs would really be smart enough to take care of anything so ridiculous for you.
Given my experience with the so called "SDK" management of multiprocesses I'd expect anything but that. Especially with anything from Sony.
Frankly I'm not looking forward to the greater abstraction they promise at all - chances are it will still have a stupid interface to work with and be much harder to get performing good then writting directly for the hardware - if good performance will be possible at all.
 
gofreak said:
We've had few developers be hyperbolic. But if they were, or were positive on the next-gen systems technically or whatever, you think they wouldn't be expressing their own true feelings?

No. Perhaps my statement was a bit too broad. I meant it in the context that he is being totally frank in his words and not putting on the usual PR spin.
 
Francois the Great said:
It seems Gabe wants a revolution.
You are correct sir!

Gabe "Where's my doughnut" Newell said:
“how do we blast another set of pixels at what is essentially a 640x480 screen?”.
There you have it! No HD era for him, its all about revolution.

Gabe "Where's my doughnut" Newell said:
"how do we compete with the customer experience that you get out of being a WOW customer?"
You know exactly what he means by WOW:

0,1020,448476,00.jpg


When you see it you will go ..... WOW
 
Top Bottom