Full transcript of John Carmack's QuakeCon 2005 Keynote

BlueTsunami said:
I say he needs to grab this challenge by the balls and see what he can do with multi-core proccessors. He DOES have the right to complain...but theres a point where it seems as though hes whining.
You might think he's being pessimistic or "whining" but I see it as being realistic, especially with regard to consoles. Far too many people seem to assume that, say, 3 x 1.5 Ghz cores = 4.5Ghz of processing speed. The console manufactures hype up their devices to the max and then release un-realistic pre-rendered videos to further present this misleading picture. Damping down some of this expectation with a dose of realism is long overdue.

To say that Carmack is afraid of a challenge is simply untrue based on what he has done not only in the graphics industry but also in his side interests of Armadillo Aerospace. The fact that he's playing around with mobile technology for basically fun shows how ready he is to embrace new technological paradigms. He was also one of the first (and almost only) gamed developer to write a multi-threaded engine, as witnessed with Q3 tech, so he has more experience than most.
 
london-boy said:
He said ALL THAT?! Good god the guy can talk!

You can say that again...phew!

It's a much better read when all together though. It paints a very different picture of JC than when certain parts of the entire speech were taken out and quoted.

And a huge thank you too!! That took guts. ;)
 
Diplo said:
You might think he's being pessimistic or "whining" but I see it as being realistic, especially with regard to consoles. Far too many people seem to assume that, say, 3 x 1.5 Ghz cores = 4.5Ghz of processing speed. The console manufactures hype up their devices to the max and then release un-realistic pre-rendered videos to further present this misleading picture. Damping down some of this expectation with a dose of realism is long overdue.

To say that Carmack is afraid of a challenge is simply untrue based on what he has done not only in the graphics industry but also in his side interests of Armadillo Aerospace. The fact that he's playing around with mobile technology for basically fun shows how ready he is to embrace new technological paradigms. He was also one of the first (and almost only) gamed developer to write a multi-threaded engine, as witnessed with Q3 tech, so he has more experience than most.

Its true that he is a gifted programmer, that is undoubtedly, on top of his profession. But Nite_Hawk stated this the best on the "other" JC Thread....

Nite_Hawk said:
There are really a couple of things going on all at once in my humble opinion. Like you say, we've got people with big stakes in the new consoles saying that they are the best thing since sliced bread. We also have well established PC programmers like Gabe and JC saying that the new designs are really no better (indeed, they seem to give the impression that they are worse) than the current design.

I think quite honestly that JC is just suffering from getting old. He has a *lot* of knowledge about designing and optimizing games for single CPU systems, and going multicore is going to require throwing a lot of that out and starting over. That's not to say all of his experience is worthless. Still, I doubt that it will be JC, Gabe, or even people like Sweeney that are going to be the "god like" programmers for multicore processors. Sure they'll be able to make tries (with varying degrees of success) at it, but it is going to be the next generation of programmers who spend years writing multithreaded engines that will become the masters.

The hardest thing for JC is going to be letting other (younger!) people be the new stars at ID. Sweeney (from what little I've heard) sounds like he's made an effort to bring many people into Epic that have varying areas of expertise. That is, atleast in my opinion, why Epic is succeeding where it appears ID is failing.

Nite_Hawk

Nite_Hawk's Post - Scroll up some...it doesn't want to focus on Hawk's post :(

In no way do I want to pull his (Nite_Hawk) statement out of context (so check out his post in the other thread)...but that seems to put everything that needs to be said about his criticisms in perspective (coming from people who feel that hes crying over this a little to much).
 
In no way do I want to pull his (Nite_Hawk) statement out of context (so check out his post in the other thread)...but that seems to put everything that needs to be said about his criticisms in perspective (coming from people who feel that hes crying over this a little to much).

To be honest reading that thread I get

JC Says: Xbox360/PS3 not the second coming

Sony/MS fans Say: Whine whine whine -- JC Sucks....

It's one of the wonders of the internet there is so much crap out there you can just regurgitate the crap that aligns with your view and reject the stuff that doesn't.

FWIW I've read the keynote and I believe he's being very fair, it's just that no-one here wants to hear, not that Cell and the X360 processors are not all conquering behemoths, the flop comparisons would have us believe.

I love reading comments like "but it's OOcode on an in order processor".... What exactly does OOcode look like?
I've seen many other threads where people claim that the compilers will solve this problem for the devs...... So what is the point here?
 
ERP said:
To be honest reading that thread I get

JC Says: Xbox360/PS3 not the second coming

Sony/MS fans Say: Whine whine whine -- JC Sucks....

It's one of the wonders of the internet there is so much crap out there you can just regurgitate the crap that aligns with your view and reject the stuff that doesn't.

FWIW I've read the keynote and I believe he's being very fair, it's just that no-one here wants to hear, not that Cell and the X360 processors are not all conquering behemoths, the flop comparisons would have us believe.

I love reading the but it's OOcode on an in order processor.... What exactly does OOcode look like?
I've seen many other threads where people claim that the compilers will solve this problem for the devs...... So what is the point here?

My problem with JC is that he isn't giving any opinions as to what would be good about Multi-Threaded processes and also what could be an alternative to multi-core cpus...its that type of whining and bickering that doesn't get anything done...hes the "god like" programmer....he should tell us (in his opinion) what would be better then spout off on how bad all these CPUs are.

Regurgitation? I apologize for agreeing with someone elses post...and I decided to put that in this thread because I thought it was exceptionall and ecapsulated what I was thinking also. And I also respectfully agree with JC..but that must be a bad thing...

EDIT: Does it matter what OO code looks like? All that matters is it was taylored for OO Cpu's....how could you think that it would magically be efficient? That blows my mind...it would seem pretty obvious that you would get a drop in performance by doing that.
 
BlueTsunami said:
My problem with JC is that he isn't giving any opinions as to what would be good about Multi-Threaded processes and also what could be an alternative to multi-core cpus...its that type of whining and bickering that doesn't get anything done...hes the "god like" programmer....he should tell us (in his opinion) what would be better then spout off on how bad all these CPUs are.

I thought he made his opinion perfectly clear. He would prefer a fast oooe processor rather than multiple in-order processors. Single-core processors are hitting their limits, but he believes that the fastest single-core processors available today are a better choice than the multi-core approach. In the future that won't be the case as desktop processors are also headed down the multi-core road. He isn't saying there is a long-term alternative to multi-core processing, simply that its not necessarily the best solution for this coming generation.
 
BlueTsunami said:
My problem with JC is that he isn't giving any opinions as to what would be good about Multi-Threaded processes and also what could be an alternative to multi-core cpus...its that type of whining and bickering that doesn't get anything done...hes the "god like" programmer....he should tell us (in his opinion) what would be better then spout off on how bad all these CPUs are.
First off, you're using highly emotional terms in relating Carmack's keynote. I watched it, and I can assure you there was almost no emotion in it anywhere. The rants were at GDC 2005 and on Anandtech. He pointed out it's hard which is inarguably true. And he pointed out that hard things aren't the very best for development, which is also inarguable. If any of that sounds like whining or bickering to you, I submit that you are buying into what people are saying of Carmack more than you are buying into what Carmack said.

Now then, as for why he doesn't go into what to parallelize, he does. Barely, but he does. He got 40% better performance out of Quake 3 by separating the rendering loop (IIRC) from the rest.

And as for why he doesn't suggest alternatives to multithreading, he did. He said he wasn't sure that going away from the single big CPU design was the right step for the next gen. He also realizes that multicore is the future. He gave no long-term alternatives because there really aren't any.


And I also respectfully agree with JC..but that must be a bad thing...
The issue is whether you're disagreeing with what Carmack actually said or with what people reported him to say.

Also, you have to realize that you, who has never programmed, respectfully disagreeing with JC on the topic of multithreading, which JC has done to good effect, doesn't really carry much weight. I can respectfully disagree with a woman about how hard it is to deliver twins, but that doesn't mean my opinion is worth a damn.



EDIT:
BlueTsunami said:
EDIT: Does it matter what OO code looks like? All that matters is it was taylored for OO Cpu's....how could you think that it would magically be efficient? That blows my mind...it would seem pretty obvious that you would get a drop in performance by doing that.
Again, your lack of knowledge on programming discredits your conclusions. "OO code" is a typedef for "code". You can't tailor code to an OO unit. It just doesn't make sense.
 
Last edited by a moderator:
EDIT: Does it matter what OO code looks like? All that matters is it was taylored for OO Cpu's....how could you think that it would magically be efficient? That blows my mind...it would seem pretty obvious that you would get a drop in performance by doing that.

What I'm saying is that it's a meaningless statement.
You don't tailor code of OO cores or in order for that matter unless your writing assembly language. The compiler does it's best to schedule for you. You do tailor code for cache architectures, but that's a different issue.

The people bad mouthing JC in that thread just don't want to hear what he's saying.

I may not completly agree with him on all the points, but I do agree that the processors were not designed with game software developers as their customers. To me at least it seems the primary customers were the marketing departments.

Parallelism is a hard problem, game devs are not going to "solve" it. They will get better at exploiting it, but I do not believe the problem has a solution. We have to take the step at some point, the only question is when Is now the right time? I don't honestly know.

Better options right now, it's impossible to say without knowing the costs involved and the options available, even if a highend x86 or PPC might be competitive performance wise it wouldn't be cost wise.

Having said all of that I am looking forwards to building systems for parallel processors, I like the challenge. I just choose not to delude myself when it comes to the difficulty level or the performance levels available to be extracted.

Old programmers tend to become cynical and you can count me in that camp.
 
BlueTsunami said:
My problem with JC is that he isn't giving any opinions as to what would be good about Multi-Threaded processes and also what could be an alternative to multi-core cpus...its that type of whining and bickering that doesn't get anything done...hes the "god like" programmer....he should tell us (in his opinion) what would be better then spout off on how bad all these CPUs are.

I heard a very even, open minded address from JC that had a LOT of praise and some reservations and complaints in an even handed approach to present the next gen in a positive, but in his opinion, realistic light. Same thing you are hearing from Gabe, the devs who talked to Anand, Hannibal, and now Shoot and ERP--devs on this forum.

As for his solution, go back and read the keynotes. He pretty bluntly says that Multi-core could have waited until next-next-gen (2011) because the performance he is seeing from Xenon and CELL for game development is about on par with a top end PC--but the top end PC x86 processor is faster to develop on.

His obvious alternative from listening to him is that they should have gone with an equally powerfull OoO, single, branch prediction heavy, CPU this gen. Why? 1. Just as powerful 2. Quicker to develop for. At least that is his experience thus far.

As for all the bad, QUOTE IT.

I want to hear it from JC directly, not your interpretation. At least have the decency to do that.

What I am reading is "They [=360 and PS3] are wonderful" and "they are as powerful as a current a top of line (=$3,000) PC" + some servations about MS and Sony's multi-core approaches.

Regurgitation? I apologize for agreeing with someone elses post...and I decided to put that in this thread because I thought it was exceptionall and ecapsulated what I was thinking also.

It is regurgitation because of all these false statements about John in the other thread like how he is "old" "rusty" "lazy" "dumb" and so forth.

Nite_Hawk was brash enough to say "The hardest thing for JC is going to be letting other (younger!) people be the new stars at ID" -- DOES HE KNOW THAT FIRST HAND? Of course not, Nite_Hawk made that up.

Fact is JC and id have been VERY proactive in bringing up new dev houses and bringing new people into the industry.

So while you think it is great, I believe it is liablous to make an affirmation about someones actions, thoughts, and beliefs without having first hand knowledge. Does Nite_Hawk, or yourself, know that JC has a hard time letting younger people flourish? In journalism we call that liable unless you have a source.

Spamming such nonsense and regurgitating it as if it were fact does not help.
 
REQUEST.

For those who disagree with JC, PLEASE quote JC *directly*.

Make a list of things you disagree with. Not summaries, but please quote a couple sentances/paragraphs (please, not large chunks).

In the complaints about him being lazy, unfair, unqualified, etc... I am not seeing quotes.

So [Please quote JC directly.

Already people are accusing him of stuff his Keynotes answer, so I want to know exactly what parts people have a problem with (or if it is just general, "JC did not like my favorite console so I am gonna slam him").
 
Damn...I got raped...lol..its true that I don't know that much about programming (I know very little...and the little I know comes from me working with *nix) but what my disagreement with JC is that hes bashing something that Intel, AMD and IBM find to be the next step (besides faster CPUs). Him complaining (as he is) shows his reluctance to accept multi-core CPUs and the fact that hes going in with reservations...he going to be left in the dust by people who accept this with open arms (this as in multi-core CPU's).

Its not about Consoles vs. PCs (I don't really play games that often anymore since I don't have time....I usually get down on my PSP from time to time..and play on my laptop when i'm on the train). But theres already developersr who have swallowed any inhabitions they may have had about these CPU's and chugged along..following the flow of the business. It just saddens me that someone as prestigious as him isn't taking on this challenge and is bickering about it.

PS...damn I got raped..:(
 
BlueTsunami said:
Damn...I got raped...lol..

PS...damn I got raped..:(

Hey, we still love you ;)

As long as we can discuss it fairly and logically it is all good. Sometimes there are differences of opinion, sometimes we learn new things and sometimes differences are not resolved because of interest/perspective. Iron sharpens iron and all...
 
BlueTsunami said:
Damn...I got raped...lol..its true that I don't know that much about programming (I know very little...and the little I know comes from me working with *nix) but what my disagreement with JC is that hes bashing something that Intel, AMD and IBM find to be the next step (besides faster CPUs). Him complaining (as he is) shows his reluctance to accept multi-core CPUs and the fact that hes going in with reservations...he going to be left in the dust by people who accept this with open arms (this as in multi-core CPU's).

He's not bashing it, he's saying that it's the next step, but it's one that it wasn't necessarily best to take this generation. And he isn't going to be left behind - he's clearly accepted the state of things and is already progressing with development for these multi-core systems. Just because he isn't giving out some meaningless PR soundbite doesn't mean that his company doesn't have these issues just as in-hand as anyone else.

Its not about Consoles vs. PCs (I don't really play games that often anymore since I don't have time....I usually get down on my PSP from time to time..and play on my laptop when i'm on the train). But theres already developersr who have swallowed any inhabitions they may have had about these CPU's and chugged along..following the flow of the business. It just saddens me that someone as prestigious as him isn't taking on this challenge and is bickering about it.

But he IS clearly taking on this challenge. He already has an Xbox 360 title in development and is developing on PS3. He's just being honest at the same time, rather than hiding the dificulties of next gen development behind fan-boy friendly soundbites.

PS...damn I got raped..:(

To be honest, you did it to yourself. :p Don't worry, it happens!
 
Intel, IBM (Power) and AMD aren't saying multi-core is the future the same way Cell/Xenos are. Basically, the former are saying we're making the serial processors as fast as possible and then adding those in parallel, there is a big difference, one of them being OoOE. Of course, power concerns are going to come in the way when it comes to clock rate, but they're not going with a lot of stripped down cores, rather doing a few powerful ones.

This is a fairly different approach to the problem at hand, and this is likely the approach that JC approves of.
 
I thought the Intel roadmap had main cores and 'stripped-down' support cores, kinda like Cell. I don't know where OOOE fits in as one of the aspects needed for lots of cores is simple cores. The gains made in keeping the CPU busy with OOO instructions are lost in having less cores/hardware threads available. Maybe advances in compiler tech will make OOO less important?
 
Shifty Geezer said:
I thought the Intel roadmap had main cores and 'stripped-down' support cores, kinda like Cell. I don't know where OOOE fits in as one of the aspects needed for lots of cores is simple cores. The gains made in keeping the CPU busy with OOO instructions are lost in having less cores/hardware threads available. Maybe advances in compiler tech will make OOO less important?

They do but thats a few years down the road, and they are working there way there, and not just changing right over

JC said it was just a genaration to early, it is a big jump going from one cpu to 3 of them, or in the ps3 case 8
 
A funny situation - I'll try to correct John Carmack, at least a little bit :)

While there's been quite a lot of capturing and scanning work involved in the creation of Gollum's facial animation, the final result is almost entirely hand-crafted on computers. A group of 4 modelers have manually shaped the ~2000 polygon head model, bulding up about 60 main muscle morph targets - and about 900 corrective targets for each main combination of these. Then all the facial animation was created manually, setting keyframes for these ~60 controls.

(As a side note, these 60 controls are based on psychological research of human expressions, by Paul Ekman - he called it FACS, Facial Action Coding System, which can describe every possible facial expression as a combination of various Action Units. Valve has used the same system for the facial animation in Half-Life 2; but as far as I'm aware they haven't utilized corrective morph targets to fix bad-looking AU combinations as Weta did with Gollum, Treebeard and the others. Still, FACS is probably becoming an industry standard nowadays for realistic animation.)

The scanning and capture technologies Carmack has mentioned were mostly used for studying and analyzing the facial structure and behavior of Andy Serkis, who provided the reference performance; and the Golum head clay sculpture was also digitized to get modeling reference and displacement textures for the pore/wrinkle details.

It's interesting to note how much better Gollum looks and works and feels, compared to the CG doubles in the Matrix sequels - which represent the fully opposing approach of scanning and digitizing everything they could (ie. scanning the whole face 'texture' from the actor for each expression to simulate color changes from stuff like blood reddening the compressed tissues under the skin and so on). I have great respect for their R&D work but all it has prooved to me was that a scientist can't replace an artist.

So Gollum's animation is a result of a very work-intensive artistic process that involved dozens of people, which is why Carmack's note on huge budgets is totally on spot. It took several man-years to get that character to work which is not going to be possible for a cast of dozens in a computer game. There are other methods and new technology in this field though, but a totally realistic human is still beyond the capabilities of the movie VFX industry as well.
And I haven't seen Fight Night 3's stuff yet but I'm quite sure that it can not touch Gollum's wonderful performance...


PS: It's worth noting that Bay Raitt, leader of the Gollum facial system team, has been working for Valve for a while now... although it's not clear if it's a game project or something else.
 
Last edited by a moderator:
Laa-Yosh,

Great info man :D

Btw, FN3 looks more like the Matrix approach. When they get hit in the face they look like Agent Smith from the 3rd movie getting hit.

Anyhow, it looks good, but DEFINATELY not LotR good!
 
Back
Top