Valve's Gabe Newell Speaks on Console Development
DelitaTheFridge writes "Gabe Newell, of Valve fame, criticizes Microsoft and Sony on how difficult it will be for next-gen developers to produce games on their upcoming hardware. He is especially critical of Sony's model, where code written to run on Cell will be very hard to port to other systems, and vice versa. Will this bring upon a new era of PC Game superiority? Only time will tell. In the meantime, Newell says he believes that Steam-like systems will be extremely helpful for developers on the new consoles due to their ability to provide updates and new content."
I don't think systems like Steam are viable in the long run. They'll be successful for a bit while they manage to force them on us, but in the long run they're just too restrictive. The market is (hopefully) going to reject them.
Send email from the afterlife! Write your e-will at Dead Man's Switch.
Will this bring upon a new era of PC Game superiority?
When the day arrives that I can take a brand-new & high-end PC game out of a box, insert it into the CD-ROM and play it immedietally without installation or having to customize 2 dozen settings: Yes. Till then: No.
In other news, Sony criticizes Gabe Newell and Microsoft how difficult it is to have decent security.
I bought Doom 3. I bought Half-life, UT 2k, 2k4, DN3D, etc etc ad nauseam. I like FPS games.
I did not buy HL2. Why? Steam.
I might relent when the price is $10. Let's see if the game is still playable by then, given the dependence on an internet connection.
HBI's Law: Frequency of calling others Nazis is directly correlated with the likelihood of the accuser being Communist.
There's the actual video interview.
I spoke to some people at Microsoft, and as I said, I can't point to a single feature in Vista that I care about that solves problems for us.
I can't see a single feature in Vista that solves any problems I've had with Windows on the consumer's side either.
And I totally see why Sony wants people to write code that runs on seven SPEs and a central processing unit, because that code is never going to run well anywhere else
You can say the same about DirectX. You can never run DirectX on anything but Windows. (WINE doesn't count). This is common practice, it happens with proprietary formats, why wouldn't it happen with game consoles?
In the meantime, Newell says he believes that Steam-like systems will be extremely helpful for developers on the new consoles due to their ability to provide updates and new content.
I'm sure that's the kind of thing Microsoft loves to hear after spending the lifetime of the Xbox being absolutely rabid about games not being allowed to patch themselves. MS has put a lot of effort into trying to keep their console running finished products, not hack jobs that aren't playable until three patches down the road, and now Valve wants to foist bug fests upon console players.
Maybe -- just maybe -- this type of plan will finally beat Valve over the head with a clue stick. After the abortion that was Half-Life 2 and the abomination that is Steam (interesting idea, crap execution), I'd be really happy to see them get back to the ground they seemed to be breaking with Half-Life.
On top of it all, on what planet is Gabe living where everyone has broadband enough to want to patch their Valve console games over and over? I can do other things on my computer while it downloads patches. On a console, you get to stare at a progress screen until it's done. No good. Especially not at 50 bucks a pop for console games.
Apparently the solution to consoles being difficult to program for is to use Valve's proprietary, slightly sucky, extremely annoying Steam content delivery service. I don't get how that works, sorry. And I'm a console developer working on next gen.
To meet some of the other points he's raised doesn't take too much effort either:
Apparently nothing in Vista helps him out at all? What a shame. I fail to see how that is particularly relevant, especially since it really doesn't make anything worse. XNA might change things for Valve, but that's not the same thing. Valve only target one OS. If that OS changes under them, perhaps they should have practiced cross-platform development to cover that eventuality...
I'm not really surprised he says Xbox 360 makes his life worse - a lot of the planned online functionality MS have in store renders Steam somewhat irrelevant.
And I think he's being a touch cynical about the reasons for Sony's Cell architecture (disclaimer - I work for Sony). But I suppose he could be correct. Again, though, there are techniques for cross-platform development which Valve hasn't bothered its ass using.
If you stick with writing games for x86 Windows, I don't feel much sympathy for teething troubles when you start hitting the console hardware. Mainly because (shock) it really isn't all that different for the majority of the coders! Yes, you'll need specialists. But huge chunks of stuff won't need to change at all - game logic, frontend, scripts/scripting. This isn't rocket science, and many companies have been releasing titles near-simultaneously on multiple, drastically different hardware platforms for years.
Sour grapes from a Win32 codeshop. Who'd believe it...
Game dev and music blog
Gabe Newell - the guy who's company has chosen to make their games NOT portable to any thing other than Windows, is criticizing Sony for making their games hard to port?
The same Gabe Newell who took a relatively portable game framework (Quake) and made it NOT portable (Half-Life)?
The same Gabe Newell who chose to use a non-portable graphics framework (Direct-3D) rather than a portable graphics framework (OpenGL) for Half-Life II?
Well, I guess he is an expert in non-portable - we'll allow his testimony.
www.eFax.com are spammers
Will this bring upon a new era of PC Game superiority?
God, this is a sad attempt to revive a tired flamefest.
The answer is no, for two reasons.
First, the PC and the console are two different beasts. The different peripherals and capabilities of each system tend to lend them to different types of games. My favorite PC games have not hit the console, and visa versa.
Second, console games sell a lot more copies (partly due to the greater Joe Sixpack appeal from easier setups and partly because it's a pain in the ass to pirate games on modern consoles, so you don't see two-thirds of the games out there being pirated, as you do on the computer). A lack of compatibility would probably not be a really good thing for the PC, given that there are more development dollars in console games (actually, a lack of compatibility almost always screws over the end user and benefits only the system vendors).
In the silver lining department, this is probably a good thing for Linux -- the large and current commercial game library on Windows is one of its greatest strengths in the college crowd, and whatever college students use is what everyone uses in a couple years.
Any program relying on (nontrivial) preemptive multithreading will be buggy.
Yeah, I really hate it how it automatically, within notime (on a decent DSL connection) brings me my updates to my game(s) : I much rather go back to the good old days to connecting to a server, only to discover there's a new patch out I which I have to download.
Then I will have to find that patch with a decent download and no ridiculous artificial ques (yes, I am talking about you Fileplanet), and then install it. And all do this within half an hour... max.
Ohwait, I forgot to add the sarcasm tag.
If you're talking about the online activation ; Yes. it sucks : But over here on Slashdot the tendency seems to be to focus on those 'negative' points (and no, I am not losing -any- of my privacy by using Steam), rather than the few great things Steam added (eg. IM-messaging/playing chess ingame, ingame server browsers, automatical updates, a-way-to-say-f*ck-you-to-the-publishers)
From TFA:
Newell was equally harsh, if not more so, on Sony for its design of the PS3 architecture and programming environment. "There are incredibly few programmers who can safely write code in the PlayStation 3 environment. And I totally see why Sony wants people to write code that runs on seven SPEs and a central processing unit, because that code is never going to run well anywhere else," he said.
What he seems to not understand/want to pretend isn't the case is the fact that the architecture of the Cell is a reflection of longstanding trends in computer architecture, not an exotic thing that Sony dreamed up to be troublesome.
In particular, there has been a longstanding disconnect between the growth in the amount of memory bandwidth available to chips versus the amount of computation that can be done on them. Computational capacity is growing much more quickly than memory access. Over enough years, this disconnect makes a big difference! Nowadways, processor architects will tell you that computation is basically free while communication is what is expensive.
Architectures ranging from GPUs to multicore CPUs to Cell take advantage of these trends in various ways, deliving much more computational capacity than standard CPUs. All of these architectures are deeply inherently parallel. There just isn't any other viable way to take advantage of all of this computation.
John Owens has a nice chapter in GPU Gems 2 on this topic.
If Newell (or whoever) doesn't want to program the SPEs on the Cell, he's free to just use the PPC CPU on it. And his game will be much slower than someone who uses it well. But there aren't going to be very many performance gains in the future to be had from single-threaded code running on CPUs. So while Cell is not trivial to program, none of the other choices are any easier. (Note that there are C/C++ compilers for the SPE instruction set, etc, so they're not *that* hard to program.)
(I'd like to hope that Newell actually knows all this and is just posturing in he middle of his Steam pimping and that this doesn't reflect reality in Valve's world!)
-matt
What happens if you want to play it 15 years later?
I can still play Ultima Underworld (the original). Will you be able to say the same about HL2?
Great game btw, UU.
HBI's Law: Frequency of calling others Nazis is directly correlated with the likelihood of the accuser being Communist.
It's only a pain if developers want to use the hard drive as more than a glorified memory card. Otherwise, there's no problem. Developers have said that Microsoft has been telling them for a while now to design their games to work without the a hard drive. If developers choose to ignore that advice (and it's questionable whether that's just advice or if it's part of the certification program required to release a game for the platform), they have no one to blame but themselves. Consumers have every right to feel screwed by Microsoft making the hard drive optional, but developers have no right to complain. Besides, doubling the RAM from 256MB to 512MB is a much more useful change for developers than a standard hard drive, so they can't complain that Microsoft isn't listening to their feedback either.
The PS2 is "different enough" as well, and yet that hasn't stopped anybody from building cross-platform games. Frameworks that abstract out the underlying implementation details will pop up soon enough. The real question is whether or not Sony is going to provide a good SDK to get new developers started. They didn't do that with the PS2, which really hurt their launch line-up and had the effect of removing smaller developers from the market because they couldn't afford to take the time to build their own framework or to buy one from someone else. Microsoft has always been very developer-friendly, and one would expect that to continue with the 360. With the next gen consoles being relatively equal in power, providing a good SDK and developer support will be a key factor in getting good games on the new platforms and in winning exclusive third-party games for their respective consoles.
Maybe I'm just too impressed with Cell's architecture to see things clearly, but here's my opinion...
Generation after generation, developers have been given ever more powerful processors with a corresponding extra cost in hardware. Some of this is really needed to overcome architectural limitations (register renaming to make up for the scarcity of registers in x86 comes to mind) -- indeed I think x86 is too crippled to perform well without lots of hardware assistance.
But the fact is that we've hit a wall of performance. Power increases due to ever more complex chips, plus certain effects like leakage currents (that were disregarded in previous manufacturing processes) are becoming ever more problematic. So the free performance lunch is over, and CPU designers are having to trim the fat of their designs. The result is nice power-efficient architectures like the Pentium M, but there's only so much that power-conscious design can do if you still must have the complexity of out-of-order execution and other modern CPU features.
So there's really no way around. If you need a power-efficient processor, you're going to have to resort to completely new architectural ideas, like extensive use of SIMD and multi-core as Cell does. Programmers are going to pay a price in terms of complexity and cost of software development, yes; but there's no other way, the growth of CPUs we're used to is flattening out, unfortunately, and can only grow again through adoption of these alternative programming models.
Which is why I say these people are spoiled brats. If CPU designers are guilty of anything, it's feeding off this illusion that infinite growth without laying any burdens on programmers was possible. But complaining is no good now; either they're going to adapt or die. It's clear that no ordinary out-of-order design, using the same transistor budget, can reach the peak power of Cell if correctly programmed. So if these guys really want the extra power to make better games, they'll have to learn these new programming models and bear the burden of extra complexity.
Join the NFSNET. Our prime goal is making little numbers out of big ones. http://www.nfsnet.org/
Yeah, I really look forward to playing (for example) Final Fantasy, seeing it getting patched and next thing I know, the game balance got changed and my last savegames got useless, because I leveled the wrong character. You guys are way to fixated on multiplayer FPS games to see that this isn't a universally good thing. It might be nice in special cases like Counter-Strike, but please, don't force it onto people that don't want it. Else they might not want to spend their money on it.
Just so people know exactly what it is that Newell is complaining about: Cell architectural info.
With Unreal 3 and Havok already on XBOX360 and PS3, I would be worried about trying to sell Source too.
All I read was:
Blah blah blah, Consoles are hard to develop for, blah blah blah, we can't get our technology to work on them, blah blah blah, buy our product, blah blah blah.
"My cat's breath smells like cat food." - The Tao of Ralph Wiggum.
You've got some sort of evidence to back up this assumed truism, have you?
Before you answer, consider that for example, on a PS2, the sound is handled by a different CPU anyway, so you can't avoid having multi-process code for sound/syncing.
Games do have some difficult problems to solve, to maximise performance, so while you don't mean to belittle the game dev community, you probably are anyway. They usually involve trade-offs - e.g. you want to animate a character's vertices, but due to your parallel architecture, that data is currently being used to render the character. So you have to double buffer the data...but that uses up pretty significant resources...so you might have to come up with some complex interlocking mechanism. Oh, and you're also trying to run the AI at the same time in this parallel world, which probably needs to know the current position/orientation of the character, not what it was for the previous frame, etc. Physics too, maybe. Have fun with that.
That's not to say Gabe's complaints are all that valid though. Technology changes, and you move on, as you say.
It's just a pain when you have a large code base that is hard to port (through no particular fault of your own). Direct3D issues are pretty small compared to re-architecting your system to run on 7 cpus instead of one.
I still remember when a few guys came back from a Sony conference, and said that Sony's advice for performance optimisation was to not use C++, because the EE was piss-poor at running it, due to the tiny I/D caches. Apparently on most PS2 games, the EE was idle/stalling for about 50% of the time due to C++ usage patterns.
Of course, most engineers' reaction to that was, why did they build a console that would run C++ code poorly, when they knew the majority of devs would use C++?
I think Gabe is fearing a similar situation with the PS3. Having experienced Sony's idea of what constituted 'development tools' for the PS2, I'd probably be worried too, if I was in his shoes.
That's easy for you to say, but some of us don't have DSL. I live in a rural area, so the best connection I can get is 56K. I don't see why I should have to register and update HL2, when all I want is a decent single-player experience. It's gotten to the point where I disconnect from the internet every time I want to start Half-Life2 just to avoid having to download updates.
You mean disadvantages like these?
- having to have an internet connection to play the single player game, and spending several hours waiting for it to decrypt when I bought it release day
- how they first required both steam activation AND a dvd check for the store-bought version
- that I can't resell my copy of HL2 when I get bored with it
- that when steam goes belly-up, I can't play (had that problem at a LAN party, massive counter-strike problems for lots of people as the net connection couldn't handle steam logins for 200 ppl)
- if valve goes out of business, I lose the ability to play the game I paid for
- mandatory patches tying up my internet connection unexpectedly, a real problem for dialup users
- piracy protection that does nothing to stop hacked copies showing up on torrent sites, but makes me jump through hoops
-randomly losing my installed game files, forcing me to spend hours downloading and reinstalling the game via steam (happened to me twice now)
I'm sorry, but these far outweigh any good points of steam. I for one won't be purchasing any new games from valve that require it. I'm a customer, not a damn lab rat. Make steam optional so you can use it for the handy features, such as easy patch download, and purchase games through it if you wish. But don't sell something in a box in a retail store, then turn round and treat it like a rental.
Remember kids, it's all fun and games until someone commits wholesale galactic genocide.
I rarely play the game after I beat HL2, but I have had at least two times where it won't play when it verifies my game.
I went to a lan party, this lan party didnt have the internet. When they wanted to play CS Source for some reason the two of us with a legal copy could not play the game, it needed to verify something with a server or something like that. I ended having to get a CRACKED copy off of someone, even though I legally own the game.
Their is also the problem that steam uses 20 megs of ram to run in the background, if you want to "autoupdate". While 20 megs isnt a ton for someone with 1 gig of RAM I dont want to see a day where Epic wants 20 megs, EA wants 20 megs, Blizzard.............. I wont have any memory left to USE my computer by the time all the companies are done.
Their are numerous problems with Steam and Steam like systems, they are a poor idea. When owners of the game are finding it easier to use cracked versions of a game, you know that their are issues with the system that they are using. And it is not just me that has had this problem, I have numerous friends that have had similiar problems.
Finally, you are correct HL2 was amazing, if it wasnt for Steam I would love it a lot more.
i agree completely. i will NEVER buy anything from valve EVER as long as steam is required. what really pissed me off was the fact that the original HL2 retail box didnt mention an internet connection being a game requirement.
steam is forbidden from ever being installed on any system i own period. i loved halflife single player and was looking forward to its sequal. i almost bought it. i played it briefly at a friends house and was about to walk out the door to go buy it when he mentioned that he had had to validate with steam for playing the first time. this was with a store bought retail copy.
i hated steam since its inception, unstable buggy POS software originally. i am sure they have taken care of any stability issues since then but i refuse to have a game developer tell me that i have to be online to play a single player game. i refuse to have a game developer tell me that he can install and do anything with my computer that he wants to at any time and i just have to suck it up. screw that.
i voted with my wallet. valve will NEVER have me as a customer as long as steam is a requirement.
The PS3 architecture is quite odd...
No it's not. It's basically a better-organised and larger version of the PS2's Emotion Engine... Albeit with a different instruction set.
The PS2 developers love it. "256KB of memory per SPE? And we can program it in C? Woot!"
Its a fact that, n parallel processors is less efficient than one n-times-faster processor.
It's a fact that you can't get n-times-faster processors, so tough bickies.
"But what's your response to new content? What's going to happen to things like free levels and, for example, the free ninja gaiden update that was made available."
Sega managed to run new levels off a memory card just fine, for example in the Dreamcast version of Skies Or Arcadia.
"And honestly, what's wrong with FIXING something? I see no problem with updates."
I _do_ see a problem with shoving a broken, disfunctional product out the door. I very much like it that when I buy a game, it actually works. I _do_ see a problem with paying to be a beta-tester for EA's, Vivendi's, etc, buggy unfinished crap.
And especially I _do_ see a problem with patches that screw up my saved games directly (I can thing of a dozen games, starting with Fallout 2, where applying the patch forced me to restart the whole damn game from the start), or indirectly (yay, for some RPG patches where they randomly altered the game balance and made all my character's skills useless, _and_ made a bunch enemies immune to physical damage... when I'm playing a fighter. What am I supposed to use there? Bad language? Time to start a new character again.)
That's what I liked about console games so far: when I buy a game it's a _finished_ product. I can think of only exactly _two_ console games that ever needed a patch, out of the literally _hundreds_ I own. (And out of those two, one had a free replacement from the publisher, and the other "only" had multiplayer exploits, but was otherwise rock-solid and enjoyable as a single-player game.) The rest just worked.
That's it. When I buy a console game, I _know_ it will work. From day one. I can randomly pick any game off the PS2 aisle, take it home, pop it in, and _know_ that it'll never crash, never fall into the void, and generally just work.
You know why? Because the publisher knows it can't be patched, so they'll test the _hell_ out of it before release. And if they're running out of time or budget, they'll cancel a game, but never shove an unfinished piece of crap out the door.
Yes, no software is perfect, but there's a _massive_ difference between having some minor exploit in an obscure sidequest (like being able to claim your reward twice) in a console game, and the utterly broken stuff that gets shipped on the PC on account that it can be patched later.
That's what's wrong with "FIXING something" in the PC world. It's something that sounds _great_ in theory, but in practice it's what caused the deluge of unfinished buggy _crap_ shoved out the door untested. It just caused the "ah, it shows the starting menu, let's ship it. We can patch it later" mentality to run rampant.
It caused such crap as, say, the German version of Victoria which literally could only show the startup menu as released. _Literally_. If you actually tried starting a campaign, the game threw a script _syntax_ error. Yes, a _syntax_ error. Not something even remotely blamable on drivers or hardware. It had a typo in the scripts and couldn't run on _any_ hardware.
A polar bear is a cartesian bear after a coordinate transform.
i agree completely. i will NEVER buy anything from valve EVER as long as steam is required. what really pissed me off was the fact that the original HL2 retail box didnt mention an internet connection being a game requirement.
It did. If you don't believe me, check out the http://steampowered.com/ forums. People that did complain were told to look again at their retail boxes. Guess what they found?
This is not a dream, not a dream...we are transmitting from the year 1-9-9-9.