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

Interview with Gabe Newell (Valve): "Your Existing Code? Throw it Away"

Drek said:
But there's a lot of multi-threaded code available, even graphics engines. Newell's happens to just not be one of them.
related to gaming? like what? And I don't mean multi-threaded such as offloading a negligible portion to a different thread just for the sake of doing it. I mean having substantially seperate work loads going on at the same time.

I don't know, back when I studied computer science I was taking multi-processor arch. programming classes as a 2nd year. Seems like if you've gotten your bacheleors you probably should have some legitimate experience with multi-threaded archs. That or your school's cs program was cheese.
the great thing about college programming classes is that they are little like the real world (dead man talking here). The great thing about college programming classes is that they have really NOTHING to do with game programming. multi-processor architectures have been around for a while, but there was never any point to do multi-threaded code in games. not being fluent in the concepts ends up certainly adding time to development and at the end of the day adds nothing except for a "we can say we did it". So the reality is that game programmers today DON'T have lots of experience with multi-threaded programming, and even worse game designers don't have epxerience with potential mutli-threaded concepts. for all their hype, the only thing we've heard out of the dual core rhetoric is moving physics engines to a separate thread. hardly imaginative.

Newell can say whatever he wants but it just seems to me like he's pissy that he's spent half a decade making the Source engine, never considering where the industry and computing as a whole was headed, and now finds himself mildly screwed out of a lot of money for his efforts (or lack thereof). How any programmer didn't see this coming when the leading platform this generation itself was designed for multi-threaded code is beyond me, but thems the breaks.
I think Newell is somewhere between honest and chicken little. I don't think game developers have a fucking clue what they are going to do with multiple cores, and they will certainly have to rethink how they design engines to be at the top of the heap. but at the same time if you have a killer game concept and code it as a single threaded app, well.. look at 2D.. still tons of great 2D games coming out.

I don't think Newell is an idiot by any stretch.. but certainly being a bit overly dramatic here. :P
 
dark10x:
Yeah, it was disappointing that Gearbox and Sierra decided to can the DC version of the game...even though it ran like junk.
Development was probably cancelled before the framerate was optimized. A game is fully playable and all of the features are present before a game's framerate is tuned, shortly before shipping, to ensure that any variables are accounted for while polishing it up.

MidgarBlowedUp:
You have two choices here and only two choices.

You make hardware from off the shelf parts that is relatively easy to program for and easy to build but, has a very limited life due to the hardware being tapped out early in it's life cycle. (example- Dreamcast/Xbox)
A less accessible programming environment doesn't raise the potential for future games; it lowers the baseline standard for all games on the system, which means there'll just be fewer proficient games than there could've been.
Soul Calibur to "nothing surpassed it" isn't a big jump either.
Dead or Alive 2 improved geometry counts considerably, had zero loading time between matches, and added special effects like movement distortion and cross disolves.
 
He's right, existing game code is no good on these new consoles because it's a completely different paradigm. We actually have multiple CPUs so the only way to get the most out of them is writing multi-threaded games which isn't common practice right now.
not really. yes, you'll need more systems theory now to get high util., but it's patently untrue that all existing game code is worthless now. very simple decompositions will get you quite a bit, and slightly more complex models for work distribution that require some more serious reengineering will get you further, but for a lot of tasks, especially very unfocused high level ones, this will be just thread manager implementations + some careful copy paste.

really, there was already a fair amount of parallelism in older PC games due to MT libraries and utility APIs. the big difference between the new architecture and the old ones (excluding ps2) is that this stuff is going to be naked and exposed now.

one thing that bugs me is that when gabe talks about OoO, and how tough it was for his guys to optimize their inlined routines to these aggressive ILP machines, he doesn't realize that tuning to machines that are explicit about their parallelism is actually easier than trying to manipulate stuff that's supposed to only exist under the covers.
 
What Gabe's saying is that programming and debugging on a multicore architecture is much more difficult than on a traditional architecture -- single-threaded or multi -- and that game developers are drastically underestimating how much more difficult it is.

And he may be 100% right. But for the gamer, an interview like this means nothing. Next-gen will be a bitch to program well; so what? We'll do what we always do: buy consoles and games based on how fun they are. The game is the game, whether it was made by a hundred PhDs for $20 million or by a drooling idiot for cheeseburgers and weed money.

For the developer, it's more relevant and pretty scary, but all they can do is what he suggests: snap up multicore guys and pay them loads, and be ready in case your estimates for engine/graphics development cost are way off.

Also, the stuff in this thread about game developer attitudes and practices is very interesting.
 
Gabe Newell said:
Your existing code, you can just throw it away. It's not going to be helpful in creating next generation game titles
Now that's just plain not true. We're currently migrating our engine, and there's a hell of a lot of common code, in both the runtime, and the toolchain. Still, Gabe has the luxury of fat loot, and hey, hang on a sec, has Valve ever written a console game? Don't they farm out their ports?
 
Multi-processor games are impossible to make yet more than 160 X360 games are in development and god knows how many PS3 games are in development too...

Perhaps it will take many years to wring "great performance" out of X360/PS3 but guess what....lots of next-gen games are being developed and those titles already look better than current gen games anyway(including HL2, I might add)...

It would be one thing if games other than DOA4 looked like previous generation titles...but the stuff *I* am seeing looks pretty next-gen to *me*.....I am happy with the stuff we have seen sofar and the X360 hasn't even launched yet:)

So as Martin Lawrence would say: What the problem is??
 
Top Bottom