News for hackers. Stuff that matters.
Re:Quake's lightning gun bug explained by Eisenstein on Thursday June 15, 2023 @04:03AM (#36337647)
Good chance it was John Carmack, probably one the top 10 programmers of all time. He basically built the Quake engine himself. There is a pretty decent analysis of it here:

* https://fabiensanglard.net/quakeSource/index.php

I recommend checking it out.

EDIT: i was thinking of the analysis done on Quake 2, which is more about the engine:

* https://fabiensanglard.net/quake2/index.php

while the one about is regarding the multiplayer system, which is still an amazing bit of dev.

Github:

* https://github.com/id-Software/Quake

Re:Quake's lightning gun bug explained by hsjqllzlfkf on Thursday June 15, 2023 @04:39AM (#36337845)
> Good chance it was John Carmack, probably one the top 10 programmers of all time.

Where would you rank Linus Torvalds?

Re:Quake's lightning gun bug explained by Eisenstein on Thursday June 15, 2023 @04:47AM (#36337894)
In the top 10 as well. In fact not too long ago I was asking someone to rate some piece of code and used 'from Linus / Carmack to (something shitty I don't remember)' as the metric.
Re:Quake's lightning gun bug explained by TechBro8615 on Thursday June 15, 2023 @03:09PM (#36345111)
It would be fun to make a game that showed you random code snippets and asked you to identify the author.
Re:Quake's lightning gun bug explained by Cthulhu_ on Thursday June 15, 2023 @07:26AM (#36338927)
I honestly have no idea how good Linus is as a programmer; he's proven his worth as a project manager, he seems to know a thing or two (to make an understatement) about operating systems, but I don't know if he's a good programmer.
Re:Quake's lightning gun bug explained by otikik on Thursday June 15, 2023 @07:57AM (#36339202)
Empathy is a trait that I value highly on a programmer.
Re:Quake's lightning gun bug explained by account42 on Thursday June 15, 2023 @10:19AM (#36340893)
Empathy and faux politeness are different things.
Re:Quake's lightning gun bug explained by otikik on Thursday June 15, 2023 @10:42AM (#36341214)
I'm not disagreeing. In fact I would say that faux politeness is a strong sign of low empathy.

On this particular case, Linus has publicly admitted that he struggles with empathy.

Re:Quake's lightning gun bug explained by fragmede on Thursday June 15, 2023 @07:59AM (#36339227)
It's tough to decide if the Linux kernel or git is his bigger contribution to society.
Re:Quake's lightning gun bug explained by yCombLinks on Thursday June 15, 2023 @08:36AM (#36339579)
Git isn't even the best DVCS, it won on the back of github more than it's own strengths.
Re:Quake's lightning gun bug explained by hardware2win on Thursday June 15, 2023 @04:13AM (#36337707)
>probably one the top 10 programmers of all time

By what metric?

Popularity? PR? Net worth? Complex software? Competitive programming? Impact?

For every "top" SE there are tens of similarly skilled engineers that you have never heard of

Re:Quake's lightning gun bug explained by Eisenstein on Thursday June 15, 2023 @04:30AM (#36337797)
> By what metric?

His record speaks for itself. I know it is tough to imagine what it was like programming 3D engines meant to run on graphics non-accelerated PCs running DOS, without the internet knowledge or collaboration available to us now, but the stuff he was doing was absolutely revolutionary. He basically created PC gaming as we know it today by creating a market for 3D accelerators and before that by doing it in software very well. He also did this stuff in an record amount of time. From Wolfenstein 3D (1992) to Quake (1995) he made three separate engines which each revolutionized the industry one after the other.

EDIT: The metric I am using is 'impact' in an industry and in society in general -- the impact of Doom and Quake on culture and the adoption of computers and PC gaming and many other things can not be overstated. You can draw a direct line from Doom to Quake to nVidia to CUDA and machine learning if you want.

Re:Quake's lightning gun bug explained by cubefox on Thursday June 15, 2023 @06:42AM (#36338615)
The closest guy to Carmack today seems to be Brian Caris, who developed virtualized geometry[1], a rasterization based rendering technique where the geometric detail of static objects is adjusted to the screen resolution in real time. There is another talk (can't find it right now) where he mentions Carmack as an inspiration. I wonder what Carmack would be working on today if he was still in the game engine business.

[1] https://advances.realtimerendering.com/s2021/Karis_Nanite_SI...

Re:Quake's lightning gun bug explained by Cthulhu_ on Thursday June 15, 2023 @07:28AM (#36338937)
There's some really big innovations happening in e.g. rendering like that; I wouldn't be surprised if the complexity and work involved in just Nanite is 10x that of the whole Quake engine.

Similarly there's the work nvidia is doing, using AI technology to upscale graphics instead of rendering things at 4K.

Re:Quake's lightning gun bug explained by vinyl7 on Thursday June 15, 2023 @08:34AM (#36339555)
Hobbyists have already made their own implementation of Nanite. It's not that complicated.
Re:Quake's lightning gun bug explained by ehaliewicz2 on Thursday June 15, 2023 @02:05PM (#36344341)
It has been over a year since the algorithm has been explained in quite a bit of detail.

Hobbyists make complicated things quite regularly, although I don't know about 10x quake.

10x a quake for modern hardware, maybe (could be quite simple)

10x software rendered dos quake with loads of asm, probably not.

Re:Quake's lightning gun bug explained by ahahahahah on Thursday June 15, 2023 @03:56PM (#36345653)
In that sense, neither is the quake engine.
Re:Quake's lightning gun bug explained by itsagavin on Thursday June 15, 2023 @08:58AM (#36339806)
The idea is that, the derivative came after the virtuoso. Of course what came after is more complex costs more takes more is more impressive blah blah. Dismissing those that thought the thought or solved for a problem before it was, is such a dumb thing people do.
Re:Quake's lightning gun bug explained by barbariangrunge on Thursday June 15, 2023 @09:30AM (#36340186)
He was a little bit. I wonder what he was up at meta before switching to agi
Re:Quake's lightning gun bug explained by cubefox on Thursday June 15, 2023 @07:24PM (#36348357)
VR headsets.
Re:Quake's lightning gun bug explained by nailer on Thursday June 15, 2023 @11:13AM (#36341676)
Who made DLSS? Using ML to denoise ray tracing is massive.
Re:Quake's lightning gun bug explained by cubefox on Thursday June 15, 2023 @01:17PM (#36343714)
I think DLSS doesn't do denoising. DLSS uses an ML algorithm to upscale frames using additional information like z buffer and motion vectors. Denoising is used to drastically reduce the number of required rays for ray tracing. I would guess denoising is done first, using a non-ML algorithm, and DLSS is done afterwards.
Re:Quake's lightning gun bug explained by nailer on Thursday June 15, 2023 @06:43PM (#36347785)
DLSS does the denoising since DLSS 1.0 see the DLSS announcement https://www.youtube.com/live/4_g_Y0W1Xn8?feature=share (pardon the crappy gaming channel, it looks like Nvidia weren’t running their own YouTube the time)

It adds frames since I think 3.0.

Re:Quake's lightning gun bug explained by cubefox on Thursday June 15, 2023 @07:26PM (#36348393)
That's odd, since you can use ray tracing without DLSS. I'm very sure it uses denoising even then.
Re:Quake's lightning gun bug explained by nailer on Thursday June 15, 2023 @07:37PM (#36348575)
There may be some confusion between upscaling and denoising. You might notice I keep editing my comment because it’s really really hard to find old Nvidia release announcements.

Update: https://youtu.be/6O2B9BZiZjQ looks good around 3:54

Re:Quake's lightning gun bug explained by ionwake on Thursday June 15, 2023 @08:10AM (#36339323)
Excellent summary
Re:Quake's lightning gun bug explained by magicalhippo on Thursday June 15, 2023 @09:02AM (#36339848)
An interesting read into some of the insights that Carmack had which lead to the revolution that was Quake can be found in the "Ramblings in Realtime" articles[1] by Michael Abrash[2], who helped John develop Quake's 3D engine. Abrash wrote the rather famous "Graphics Programming Black Book", now available for free[3].

[1]: https://valvedev.info/archives/abrash/

[2]: https://en.wikipedia.org/wiki/Michael_Abrash

[3]: https://github.com/jagregory/abrash-black-book

Re:Quake's lightning gun bug explained by pdntspa on Thursday June 15, 2023 @10:31AM (#36341083)
I remember he dropped Doom 3 on us with fully dynamic lighting and shadows in like fucking 2004 or something. I remember getting my hands on the engine leak (in 2003?) and absolutely getting my mind blown to see shadows dancing on the wall (at like 8 FPS on my athlonXP geforce4 rig) at something resembling real-time, in the same map that was used at the Apple developer demo where Steve Jobs announced mac support.

All of Carmack's engines were YEARS ahead of their time. Everyone was doing baked lighting and employing various gimmicks for dynamic-looking shadows, and this dude (and his team) comes in and destroys everyone with this fully-, actually-dynamic lighting system. I don't think anyone else even came close until Crysis in 2007.

If that isn't a top 10 programmer performance than I don't know what is.

2001 macworld demo: https://www.youtube.com/watch?v=80guchXqz14

Re:Quake's lightning gun bug explained by JohnFen on Thursday June 15, 2023 @11:45AM (#36342153)
> If that isn't a top 10 programmer performance than I don't know what is.

Nobody's saying he isn't brilliant. But it's not possible to declare him as a "top 10" programmer without actually taking into account all the other programmers.

I think there are at least 10 other programmers that you've never heard of, but that have had as much or more impact on society in general as Carmack did.

Isn't it enough to just say he's brilliant? Ranking programmers is a fool's errand and serves no purpose other than to devalue other brilliant programmers.

(Also, I think measuring how brilliant someone is by how much impact they've had on society doesn't make much sense. Those are two entirely different things.)

Re:Quake's lightning gun bug explained by pdntspa on Thursday June 15, 2023 @12:09PM (#36342626)
I don't think anyone here means top 10 in a strict ranking sense of the phrase. But I think Carmack very easily has a place amongst the pantheon of programming gods, whether you measure by 'brilliance' (whatever that means) or impact. He has done a ridiculous amount of innovation over the years, and set the pace for game engine and real-time rendering development for something like 20 years.
Re:Quake's lightning gun bug explained by JohnFen on Thursday June 15, 2023 @12:16PM (#36342748)
> I think Carmack very easily has a place amongst the pantheon of programming gods, whether you measure by 'brilliance' (whatever that means) or impact.

I guess? I don't know. There are so many programmers that have had a much greater overall impact and such than Carmack has (which in no way takes away from Carmack's accomplishments!) that I find it hard to say either way.

That's part of why I think trying to rank people is a bit strange. I doubt that there is even much consensus on what it takes to be a "programming god" in the first place.

But I do agree that Carmack is great!

Re:Quake's lightning gun bug explained by pdntspa on Thursday June 15, 2023 @06:32PM (#36347614)
Like who? I can think of Brian Kernighan, Dennis Ritchie, Linux Torvalds, Steve Wozniak, Ada Lovelace, Grace Hopper, Richard Stallman, Edsger Dijkstra, Bill Gates, John Carmack. Maybe Alan Turing. With the exception of the real OG's I think Carmack fits in that list quite nicely.
Re:Quake's lightning gun bug explained by pillefitz on Friday June 16, 2023 @01:31AM (#36351807)
..and hundreds or thousands of others, that signed some NDA, worked on e.g. mission-critical systems (where bugs as the ones discussed here would cost you your job) and who never got to show their work, which is OP's point.
Re:Quake's lightning gun bug explained by Eisenstein on Friday June 16, 2023 @06:28AM (#36354263)
I mean, if you are going to be culturally impactful, I think the most important prerequisite is that you are allowed to talk about what you create...
Re:Quake's lightning gun bug explained by pillefitz on Sunday June 18, 2023 @06:12AM (#36378841)
Agreed, but then we should differentiate between "best" and "most famous"
Re:Quake's lightning gun bug explained by ThrowawayR2 on Thursday June 15, 2023 @12:12PM (#36342685)
Hell no. As skilled as Carmack is as a coder, he falls well below the pioneers for early operating systems and programming language compilers and development in terms of industry and societal impact. Even Bricklin's VisiCalc and its descendants resulting in boring old modern spreadsheet software has a better claim to lasting societal impact than Carmack's 3D engines.
Re:Quake's lightning gun bug explained by gopher_space on Thursday June 15, 2023 @12:19PM (#36342800)
> The metric I am using is 'impact' in an industry and in society in general

If you correlate against lines of code written over a lifetime then John Brunner and Vernor Vinge bubble to the top. They're my go-to examples for people who think that literature reviews "don't matter".

Kind of a fun exercise since we get to see all the different values out there in the world.

Re:Quake's lightning gun bug explained by dadarecit on Thursday June 15, 2023 @04:18AM (#36337724)
Amount of tickets closed on JIRA lmaoo
Re:Quake's lightning gun bug explained by gokaygurcan on Thursday June 15, 2023 @04:31AM (#36337807)
Please no. I know it's a joke, but please.
Re:Quake's lightning gun bug explained by dadarecit on Thursday June 15, 2023 @05:27AM (#36338130)
I know, the truth hurts
Re:Quake's lightning gun bug explained by danmur on Thursday June 15, 2023 @05:21AM (#36338094)
LoC, the ultimate metric
Re:Quake's lightning gun bug explained by otikik on Thursday June 15, 2023 @07:54AM (#36339180)
I don't think a deep analysis is required here. It is quite obvious that he'll not be the top-10 programmer on every single metric that one can imagine.

He's very good. Enough people agree. I recommend letting it at that.

Re:Quake's lightning gun bug explained by xen2xen1 on Thursday June 15, 2023 @10:04AM (#36340680)
Impact. He pretty much invented the FPS genre by reading a paper about Z buffers from some guy in the Navy, IIRC. All the Call Duty kiddies owe him a debt. Who knows how long it would have taken for that whole genre to get going without him?
Re:Quake's lightning gun bug explained by nailer on Thursday June 15, 2023 @11:11AM (#36341660)
He popularised BSP for FPS which meant doom ran faster than SystemShock, despite having more complex level geometry
Re:Quake's lightning gun bug explained by paulryanrogers on Thursday June 15, 2023 @02:03PM (#36344323)
Was Doom's geometry more complex? No room over room, no slopes, vertical axis was awkward. Feels like apples and oranges, even before considering the gameplay was also very distinct between them.
Re:Quake's lightning gun bug explained by nailer on Friday June 16, 2023 @04:03AM (#36353065)
All true. SystemShock also have 3-D models for some objects too.

I guess a better way of putting it would’ve been the SystemShock would have run a lot faster if it had BSP.

Re:Quake's lightning gun bug explained by Agentlien on Thursday June 15, 2023 @06:23AM (#36338493)
I loved the video, I love this type of analysis of bugs and glitches. This comment, however, just makes me nervous. It's like my innermost worry.

I spend so much time trying to do a good job which I can be proud of and yet I always know there are bugs and I just hope not too many players notice and get annoyed by them.

And here we are, pointing out poorly written code in practically ancient software and attributing it to one particular programmer. Of course, Carmack has more than shown his worth throughout his career. But I dread the thought of a forum post pointing out mistakes I've made at work like this.

It's part of why it took me so long to dare publish articles about fun stuff I've done at work.

Re:Quake's lightning gun bug explained by Eisenstein on Thursday June 15, 2023 @07:13AM (#36338820)
Honestly why care? Everyone writes bugs -- the thing is that Quake works fine -- if some quick runners want to exploit a bug 32 years later to impress each other with runs, after having dissected the code to bits to find glitches, is that really a bad mark on anyone? I don't remember anyone complaining about lightning gun glitches when Quake was being played.
Re:Quake's lightning gun bug explained by acomjean on Thursday June 15, 2023 @08:01AM (#36339249)
I agree. Code that works well is a good thing even if not perfect and super optimized.

I’m not an elegant coder. My code isn’t perfect. It does run however and is pretty efficient mostly bug free. It does it’s useful thing and I can be proud of that.

Having gone through enough code reviews to know there is a huge amount of polish one can give code. It’s a trade off between perfect and Good enough.

I’m hopeful new languages and patterns leveraging libraries help make our code better or at least let us write more if it.

Re:Quake's lightning gun bug explained by otikik on Thursday June 15, 2023 @07:43AM (#36339067)
Perhaps the Living Videotex slogan can help you:

-- "We Make Shitty Software... With Bugs!"

http://scripting.com/davenet/1995/09/03/wemakeshittysoftware...

I think it is a good mindset to have. We must all assume that software is an imperfect thing done by imperfect beings. Even celebrate it.

On this particular case, I recommend concentrating not on the fact that there was a bug, but on the fact that the code written so many years ago is still relevant for someone today. Focus on that. Try to make something that someone will find a bug in 30 years from now.

Re:Quake's lightning gun bug explained by tomashubelbauer on Thursday June 15, 2023 @09:26AM (#36340137)
People speed run this game. Understanding every line of it is a part of the process and the reason people care who wrote what line is because it has a lot of culture and history associated with it. If you work on stuff that will make this kind of impact that makes people care like this you will feel proud having your bugs picked apart, not ashamed for having put them there in the first place. And if you don't rest easy knowing any bug you ever make probably won't see a thousandth of the effort being put into understanding and attributing it.
Re:Quake's lightning gun bug explained by George83728 on Thursday June 15, 2023 @12:12PM (#36342682)
If anybody cares enough to pick over your code 30 years later, that probably means you were very successful at what you did; at the very least you had a hand in creating something people care about, which is more than most programmers can say.
Re:Quake's lightning gun bug explained by Eisenstein on Thursday June 15, 2023 @05:42PM (#36346934)
I found this looking through Carmack's .plan files. Perhaps you will appreciate it.

Snippet:

I want bug free software. I also want software that runs at infinite speed, takes no bandwidth, is flexible enough to do anything, and was finished yesterday.

Every day I make decisions to let something stand and move on, rather than continuing until it is "perfect". Often, I really WANT to keep working on it, but other things have risen to the top of the priority que, and demand my attention.

* https://raw.githubusercontent.com/ESWAT/john-carmack-plan-ar...

Re:Quake's lightning gun bug explained by Agentlien on Thursday June 15, 2023 @11:47PM (#36350921)
I feel the same way, all the time. The more time I spend improving and tweaking a solution, the longer the list of remaining improvements I wish I could do.

That's why pieces I publish about my work usually contain a fairly long section about potential further improvements.

Re:Quake's lightning gun bug explained by ndepoel on Thursday June 15, 2023 @06:40AM (#36338600)
I'm not sure if it would've been John Carmack in this particular case. He was more concerned with the engine and rendering side of things, less with the gameplay logic stuff. More likely it would've been either John Romero or John Cash who wrote this code, but it's hard to say for sure. Best thing we can hope for is that John Romero pitches in with his impeccable memory :D
Re:Quake's lightning gun bug explained by midasuni on Thursday June 15, 2023 @07:30AM (#36338956)
So the only requirement to work at iD back in the day was to be called John?
Re:Quake's lightning gun bug explained by brookst on Thursday June 15, 2023 @07:52AM (#36339147)
That’s what my buddy said, yeah. Good old John Manyjohns.
Re:Quake's lightning gun bug explained by klodolph on Thursday June 15, 2023 @08:06AM (#36339290)
For those who haven’t seen Buckaroo Banzai—all the people working at Yoyodyne Propulsion are named John. It’s a plot point.
Re:Quake's lightning gun bug explained by cfj on Thursday June 15, 2023 @08:32AM (#36339540)
Or Carmack.
Re:Quake's lightning gun bug explained by TechBro8615 on Thursday June 15, 2023 @03:06PM (#36345081)
It seems like Amazon has the same idea when promoting people named Andy or Jeff to executive roles.
Re:Quake's lightning gun bug explained by mysterydip on Thursday June 15, 2023 @08:45AM (#36339671)
"Hi Sandy, hope you're doing well."
Re:Quake's lightning gun bug explained by i_c_b on Thursday June 15, 2023 @09:51AM (#36340508)
You can read Carmack's .plan archive from 1996 here, if you're so inclined:

https://github.com/ESWAT/john-carmack-plan-archive/blob/mast...

It's a _fascinating_ snapshot into Quake's development.

I have no idea if his .plan is a record of what he, specifically, was doing, or if he was just capturing what the programming team was doing, but at the very least, it makes clear that he was aware of huge amounts of very highly specific game code issues as they were being worked on and was almost certainly deeply involved.

Re:Quake's lightning gun bug explained by baal80spam on Thursday June 15, 2023 @04:10PM (#36345819)
Wow, this link is something else - you can track what problems he tackled and what he worked on DAILY.
Re:Quake's lightning gun bug explained by Solvency on Thursday June 15, 2023 @06:25PM (#36347521)
Guessing you're on the younger side? I used to read these voraciously as a 11 year old. Felt like a magic window into the game industry.
Re:Quake's lightning gun bug explained by sillysaurusx on Thursday June 15, 2023 @06:36PM (#36347679)
Hello fellow I-was-once-11-and-fascinated-by-.plan! I wasn't sure if I was the only one. St Louis in 2000 made it seem like there were only a handful of people interested in programming at all.

Hmm... 11 would put me at 19999, so I must've been more like 12 or 13. I remember that's when I started taking gamedev seriously.

Re:Quake's lightning gun bug explained by ben7799 on Thursday June 15, 2023 @11:01AM (#36341474)
Ranking programmers is as dumb as ranking musicians.

Carmack is great but you can't really say he's better than say some guy you've never heard of who wrote a bunch of absolutely brilliant algorithms inside a missile defense system and it's all super secret. Or someone who did amazing work on a compiler Carmack used or brilliant work in an OS kernel that you're never going to know about, or some AI code, or something deep within a stock exchange's platform.

Carmack's perceived greatness is elevated because almost 100% of what he has worked on is directly visible to the average consumer.

Re:Quake's lightning gun bug explained by Eisenstein on Thursday June 15, 2023 @12:18PM (#36342792)
> Ranking programmers is as dumb as ranking musicians.

If a musician had a noticeable impact on culture and was prolific, I don't see why we can't put them in a bracket of [in top #]. The ranking is really just to illustrate my respect for his work, accomplishments, insightful communications, and continued relevance as well as impact on my life and those around me. You can call that 'dumb' if you like, but I am human just like you and am not above placing some people's accomplishments above those of others.

Re:Quake's lightning gun bug explained by saltcured on Thursday June 15, 2023 @02:01PM (#36344289)
To me, Carmack equates more to an engineer who designed wild equipment used by sound engineers and musicians. Aside from Torvalds or Wozniak, I think most programmers are unsung, regardless of how much their products impact the world.

Most programmers are quickly forgotten if they were ever known in the first place. In terms of cultural impact, think of the programmers behind our PC or mobile operating systems, major consumer app categories like spreadsheets, word processors, photo or video editing, etc. Of course some nerds of computing history can cite folks behind all these, but it is niche trivia to most of the population.

It also seems like an era coming to a close where a solo programmer can deliver an impactful product. Who gets the credit instead? Usually an executive or entrepreneur gets the credit. Sometimes this person programmed early on, but often they either transitioned to management or started there and other programmers were responsible for delivering the product we eventually know.

Re:Quake's lightning gun bug explained by Eisenstein on Thursday June 15, 2023 @03:21PM (#36345235)
> It also seems like an era coming to a close where a solo programmer can deliver an impactful product.

This is true but you have to look at it differently. There are generally two ways of looking at history: the 'great man'[0] theory, or the 'of the times' theory.

If you look at it one way Woz and Carmack and Torvalds and the others were instrumental in shaping their surroundings and without those specific people we would have lost out on basically the entire technological world as we know it.

If you look at it another way, they were inevitable -- the times were such that it was bound to happen (or at least extremely likely) because of a great confluence of events that could never be arranged or predicted, and if Woz had electrocuted himself making the Apple I power supply module then someone else would have done something similar around the same time and we end up at the same spot (but Steve Jobs becomes a moderately successful Bay Area Benz dealer and we all use Blackberry phones with physical keyboards in 2023).

The era of an individual engineer or programmer making a paradigm shifting breakthrough in his or her basement may be over, but that just means the times have shifted into another dynamic. What that is can not be predicted, but if we do survive the oncoming crises upon us and somehow also never end up turning the planet into smoldering radioactive ash over a shipping lane dispute or something, there will be a time when such a person can be expected to emerge and do it again.

[0] excuse the masculine nature of this terminology, but unfortunately that is what it is called, though I haven't formally studied history in a while and it could have changed

Re:Quake's lightning gun bug explained by JadeNB on Thursday June 15, 2023 @12:20PM (#36342814)
> Ranking programmers is as dumb as ranking musicians.

But also as much fun for people with appropriately specialized interests, so it'll probably keep happening.

Re:Quake's lightning gun bug explained by jonhohle on Thursday June 15, 2023 @12:23PM (#36342851)
Coincidentally (or not), Carmack started Armadillo Aerospace and was working rocket control and navigation systems. So…
Re:Quake's lightning gun bug explained by hyperman1 on Thursday June 15, 2023 @01:23PM (#36343792)
Carmack's main superpowers seem to be tons of hard work, not raw intelligence

1) Perseverance and focus: He kept rewriting the quake renderer, pushing it faster and better, where other people had long ago settled for a lesser variant or given up.

2) Try everything, even the stupid ideas. When he wrote quake, the wisdom was that the FPU was way to slow for a game. He managed to do z-divisions for blocks of 16 pixels on it, while the integer code spit out the pixels.

3) Attention to detail. The doom span renderer was sub pixel precise, which was pretty unique for its time. It looked better in a hard to define way.

4) Code quality. Doom and quake are very readable, very portable and heavily documented. The average 1-person codebase tends to be messy and undocumented, as nobody else ever takes a look. On the other hand, plenty of fixmes in there. It was unabashedly special cased where he could get away with it.

5) He consumed whatever idea he could get. BSPs were an obscure research trick before he took them and ran with it.

He had huge holes in his 3D knowledge when writing doom, as he admits himself. He didn't care until quake forced him to level up. But he could look in the mirror, say he needed to do better, and learn the extra things when he had to.

I don't know if Carmack is that much smarter than the average HNer, but he surely works a lot harder. And that's an even better compliment, in my book

Re:Quake's lightning gun bug explained by at-fates-hands on Thursday June 15, 2023 @02:33PM (#36344701)
Not sure where I read it, but someone writing about the history of DOOM basically said John was a machine and the machine ran on Diet Coke and pizza. As long as he had both, he could remain in the zone indefinitely, which is pretty crazy when think about all the things he accomplished that you listed.
Re:Quake's lightning gun bug explained by baal80spam on Thursday June 15, 2023 @04:08PM (#36345805)
> Not sure where I read it, but someone writing about the history of DOOM basically said John was a machine and the machine ran on Diet Coke and pizza.

I'm pretty sure I've read it in "Masters of Doom".

Re:Quake's lightning gun bug explained by haburka on Thursday June 15, 2023 @12:15PM (#36342732)
Since I’m actually a top 5 programmer of all time (self decided) I can say with confidence that Carmack is actually a top 50 programmer but no where near the top 10. He didn’t use ternaries nearly enough.