[HN Gopher] Quake's lightning gun bug explained [video]
___________________________________________________________________
Quake's lightning gun bug explained [video]
Author : henning
Score : 397 points
Date : 2023-06-13 19:22 UTC (2 days ago)
(HTM) web link (www.youtube.com)
(TXT) w3m dump (www.youtube.com)
| jamesu wrote:
| I would love an explanation of Tribes' skiing bug presented in
| the style of this video. There have been so many differing
| explanations of it in blog posts over the years which haven't
| completely sat right with me.
| bakugo wrote:
| I love finding explanations for weird bugs and inconsistencies
| like this in games by looking at their code. Here's one I
| personally found myself:
|
| https://www.youtube.com/watch?v=ljl1jBEY3_A
| grandpoobah wrote:
| Does it work in quakeworld (multiplayer) ?
| sjm wrote:
| I was curious about this too. The QW code is different and I
| believe has fixed this. Example source for W_FireLightning in
| KTX: https://github.com/QW-
| Group/ktx/blob/6b8a50833d0ef738182cf7a...
| tmikaeld wrote:
| Suddenly, a wild John Carmack appears and explains the real
| reason for the bug ;-)
| NovaDudely wrote:
| Probably to busy off doing new things to worry about this. ;)
| viraptor wrote:
| Possible, but not necessarily. I've just seen Romero playing
| a Doom mod this week for example:
| https://youtu.be/gIl_TqFJNO8
| lgl wrote:
| Just FYI, John Romero also streams occasionally on Twitch
| at https://www.twitch.tv/theromero
| coolspot wrote:
| Real reason: he ran out of diet Coke.
| UberFly wrote:
| John was eaten by a Grue.
| tleilaxu wrote:
| Armed with a lightning gun.
| fabiensanglard wrote:
| I wish someone wrote a book about Quake with cool interesting
| stuff like that.
| eps wrote:
| I don't follow.
|
| This code is not C or C++, so it's not actually from Quake. So
| what's with "this is how this was coded" and "here are the bugs,
| but it's only my guess"? The code _is_ avaialble, why guess at
| all?
| mewse-hn wrote:
| It's QuakeC - quake's proprietary scripting language that
| compiled down to a file called progs.dat
| nottorp wrote:
| I remember Carmack announcing that the scripting language for
| Quake will be "interpreted ANSI C". Never checked how
| standard he made it though.
|
| That was back when he posted dev updates in his .plan file.
| vkazanov wrote:
| QuakeC looks like C on the surface but is a much, much
| simpler language. Modern dialects are quite a bit more
| advanced (while still targeting the same vm).
| poglet wrote:
| He mentioned QuakeC. Maybe this part of the game was coded in
| that.
|
| https://en.m.wikipedia.org/wiki/QuakeC
| vkazanov wrote:
| Almost all of Q1 gameplay is in quakec, which is a a simple
| c-like language targeting a little VM. Eventually they've
| opersourced all of the code making the community possible.
|
| I recently started playing Q1 again and it's amazing: the
| community still supports a number of derivative engines, as
| well as numerous amazing mods and maps. Arcane Dimensions are
| insane!
| kubb wrote:
| [flagged]
| kipi wrote:
| Hello, video creator here. This is indeed the actual code, and
| it is written in QuakeC, a language created specifically for
| the game logic in Quake. The part I'm not sure about is why the
| creators wanted to add in extra side beams at all.
| 2c2c2c wrote:
| in the era of arrow keys and ball mice, lg probably felt like
| trash. who knew it would end up so iconically broken :-)
| eps wrote:
| Oh, didn't know about QuakeC. Shame on me.
|
| So both the "normalize" and the improper swap are the part of
| the original source?
| tecleandor wrote:
| Yep, right here:
|
| https://github.com/id-
| Software/Quake/blob/bf4ac424ce754894ac...
|
| :)
| klaussilveira wrote:
| Check this out:
| https://fabiensanglard.net/quakeSource/index.php
| simias wrote:
| I think your guess seems plausible, although maybe it was
| simply an effort to widen the beam to better match the
| graphics? The lightning effect is rather wide and it may have
| been surprising for the player if the hitbox ended up too
| narrow.
|
| I haven't played Quake in the better part of 20 years so I
| can't comment from first hand experience, but judging by your
| top-down view at around 41 seconds, the single beam visually
| seems to intersect with a bunch of enemies while not dealing
| any damage (probably as a combination of narrow hitboxes on
| both the beam and the enemies).
| Sakos wrote:
| Btw, I love this type of video where you breakdown and
| explain code like this and I've subscribed. Looking forward
| to seeing more of your videos.
|
| Especially with games, I think the video format lends itself
| well to demonstrating the effects of the code organically.
| squeek502 wrote:
| I wrote a breakdown of a different Quake engine quirk
| (rampsliding) that might be a fun topic for a video if you're
| looking for new topics:
|
| https://www.ryanliptak.com/blog/rampsliding-quake-engine-
| qui...
| somedude895 wrote:
| Probably just to make the gun more powerful, so you get some
| area of effect damage and not just hit the target right under
| your crosshair.
| drawkbox wrote:
| Lots of hacks like this in games.
|
| It could have been solved by limiting the two side vectors
| lengths to less distance (maybe even tuned by speed) and fixed it
| _enough_ if the reason was for side damage. If it was to fix some
| other issue like maybe floats losing precision far out that would
| not be a good idea.
| [deleted]
| cammikebrown wrote:
| Quake was the first PC game I played and still in my top 10
| favorite games of all time. The movement STILL feels fresh!
| Rodeoclash wrote:
| I'm quite curious to see what Quake would look like given a
| similar treatment as the new Doom games got. That is, distilled
| down to a pure essence of what the original was trying to
| achieve.
| xwdv wrote:
| Would rather see Quake as a top down roguelike RPG.
| duskwuff wrote:
| Doom, not Quake, but:
|
| https://drl.chaosforge.org/
| xwdv wrote:
| Need Quake RL
| newsclues wrote:
| Quake Live not taking off as a popular eSports title greatly
| disappointed me.
| arpa wrote:
| bethesda helped by nuking it completely.
| tekmate wrote:
| worse even, it killed off many vibrant quake 3 communities
| that had been going from 1999 to 2008 because half the
| people started playing quake live and the other half
| stopped playing alltogether
| boredemployee wrote:
| Exactly that!
|
| They just killed a really cool (somewhat toxic)
| community.
|
| To me Quake World is the best multiplayer game of all
| time.
|
| But Quake 3 comes next and was really really fun to play.
|
| Quake Champions is a great disappointment.
| newsclues wrote:
| Quake Live was just Quake 3.
|
| Champions was something different.
|
| The community was on life support, and the attempt (Quake
| Live) wasn't enough to bring people back to good eSports,
| as the market had moved on from pure skill based games.
| a_subsystem wrote:
| It was extremely difficult to play for newcomers. You
| almost didn't even get a chance to frag old school
| players once because of the skill discrepancy. I could
| hang with most of the higher tier guys, but there were
| some that just seemed nearly invincible. They should have
| had more resources for developing skills. After I stopped
| playing, I discovered that some were playing Q3 at ramped
| up physics speeds in single player. When going back to
| playing at regular speed, it feels like you're playing in
| slow motion.
| boredemployee wrote:
| >> It was extremely difficult to play for newcomers. You
| almost didn't even get a chance to frag old school
| players once because of the skill discrepancy.
|
| I think games say a lot about generations.
|
| In the old days you had to persist a lot and be a bit of
| a "hacker" to play Quake, or at least have basic computer
| skills. I remember how difficult it was to configure
| Qizmo for Quake World.
|
| Nowadays everything is ready for you to play and even if
| you are a beginner you can play with the most
| experienced. In Quake you can spend 1 year playing and
| not win a single match.
| gambiting wrote:
| >>Nowadays everything is ready for you to play and even
| if you are a beginner you can play with the most
| experienced. In Quake you can spend 1 year playing and
| not win a single match.
|
| I mean......saying this as a game developer - this is a
| good thing. You want people to come in and enjoy the
| game, and not be frustrated by it. Obviously there should
| still be a mode somewhere where you can truly test your
| skills and where the top players hang out(in multiplayer
| shooters that's usually what the ranked mode is for), but
| new players should be able to just jump in and have a
| good time. I believe this is a huge part of why games
| like Fortnite are so successful - because no matter what
| is your skill level, you will always have a good time,
| but it also offers an incredibly high skill level ceiling
| for people who really want to put in the hours.
|
| >>I think games say a lot about generations.
|
| I'm not sure if that is about generations, more about the
| market - when Q3 came out the only other major game in
| that space was Unreal Tournament. Nowadays you have so
| much choice that if a game frustrates you you can always
| pick a different one. And the market has been completely
| "ruined" by gamepass and endless promotions, so people
| don't have attachment to games like they used to. Sure
| some of them do if they spent PS50 on a game, but for an
| increasing number of games and people, that just isn't
| true anymore. There is no cost associated with trying a
| game on Gamepass for 20 minutes and abandoning it.
| boredemployee wrote:
| I 100% agree with you, thanks for your point of view.
| user24 wrote:
| > I discovered that some were playing Q3 at ramped up
| physics speeds in single player. When going back to
| playing at regular speed, it feels like you're playing in
| slow motion.
|
| That's amazing, like training at altitude but for
| e-sports.
| tekmate wrote:
| it's not actually that helpful because a lot of the skill
| comes from muscle memory and that's not just for aiming
| but mousemovement also has a significant influence on
| movement
|
| for example there's something called a circle jump where
| you use precise mouse movement to get the most efficient
| angles so that your movement speed is maximized from your
| first jump
| Eisenstein wrote:
| Quake 3 was really all about map control. If you can get
| the cadence down to run through the map and grab all the
| goodies you will dominate in 1v1.
| cubefox wrote:
| The new Doom games have little to do with the original Doom
| gameplay, perhaps because it wasn't that good in retrospect.
| For Quake there would be more potential for something like a
| remake.
| TheBigSalad wrote:
| Strongly disagree that the new Doom games have better
| gameplay than the old ones. Every fight is a giant monster
| trap. IMO it showcases the worst aspect of the original
| doom games.
| slothtrop wrote:
| > have better gameplay
|
| That isn't exactly what they said.
| webkike wrote:
| But gunplay and movement is the essence of Doom, unless
| you're saying that the best part of the original Doom
| games were the labyrinthine level design
| George83728 wrote:
| > _unless you 're saying that the best part of the
| original Doom games were the labyrinthine level design_
|
| Not _the_ best part, but certainly one of the best parts.
| Doom and Doom 2 did labyrinths _really_ well, much better
| than wolf3d (wolf 's labyrinths were too samey and dull
| due to engine constraints) and I think better than nearly
| any game since. Games started foregoing labyrinths around
| when Half Life 1 came out (see also: Daggerfall vs
| Morrowind), I think because labyrinths filter plebs. But
| if you stick with Doom it'll teach you to have better
| spatial awareness that trivializes level learning in most
| other games. The new doom games particularly have linear
| level design very reminiscent of Half Life with some
| arena sections interspersed; they don't feel like Doom
| levels at all (except in very superficial ways, like
| "mars/hell themed".)
|
| Such modern games lend themselves to navigating levels
| without maintaining a working knowledge of where you've
| been; at each instant your navigation choices may be
| informed by what you see on the screen right then without
| regard for what you've seen before. You can play Doom
| that way too, you'll get to the end eventually through
| brute force, but Doom does an excellent job of
| encouraging you to do better and develop your skill. If
| you remember where you are in relation to where you've
| already been, you can anticipate when a path is looping
| around to where you've already been before you actually
| round that corner. Maintaining orientation in this way,
| especially in a labyrinth, is a skill Doom excels at
| teaching. When you get good at it, such awareness of the
| level instills a sense of presence that just can't be
| conveyed any other way. Most modern games don't try to
| teach it; they expect that novice players won't be good
| at navigation and so, in the name of accessibility and
| mainstream appeal, refrain from challenging those
| players.
| cubefox wrote:
| Many early first-person games (pre Wolfenstein 3D) were
| dungeon crawlers, not shooters, so the labyrinth design
| of early Id games reflects that heritage. Modern single
| player shooters have now very much abandoned this
| approach in favor of linear level design (Half-Life /
| Call if Duty approach), or they went straight into the
| "open world" direction (Farcry approach), which also
| doesn't feature dungeon/labyrinth levels. Closer in terms
| of non-linear level design is perhaps Metroid Prime
| (which recently got a remake), but it focuses more on
| environmental puzzles than on shooting.
|
| There are probably indie games which are close to the
| original Doom formula. They often feature genres that
| have been neglected by big studios.
| markus_zhang wrote:
| The community pretty much brought it to a new height. The
| custom engine looks cool and the new map packs/mods reflect
| the height of Quake level design.
| newqer wrote:
| You never forget your first.
| Xenoamorphous wrote:
| When it came out I didn't quite like it. I was like, what's the
| advantage of 3D when it all looks so polygon-y? Duke Nukem "3D"
| looks better!
|
| The atmosphere was brilliant though.
| [deleted]
| johnwalkr wrote:
| Have you played the remaster? It has a lot of subtle upgrades
| (and more polygons of enemies is one of them). It's really
| good.
| [deleted]
| another2another wrote:
| I also loved playing Tenebrae Quake on the Mac. Not sure if
| it's still around though.
| ascagnel_ wrote:
| It's not, but the DarkPlaces engine [0] reimplements
| many, if not all, of the realtime shadow features and has
| an X64 Mac build (but no ARM build, as far as I'm aware),
| and is still getting active contributions on its Github
| repo[1].
|
| [0]: https://icculus.org/twilight/darkplaces/index.html
|
| [1]: https://github.com/DarkPlacesEngine/darkplaces
| willvarfar wrote:
| Duke Nukem 3D was built on the 'build' engine, which was
| built by a super cool 18yo called Ken Silverman
| http://advsys.net/ken/ .
|
| Back in the 90s John Carmack was asked "If you could just
| hire anybody from the 3D world, who would you hire?", and he
| named Ken http://advsys.net/ken/carmken.htm
| z3phyr wrote:
| John Carmack, Ken Silverman and Tim Sweeney.
|
| The three legends / rivals of their time (but with mutual
| respect)
| methodin wrote:
| Thanks for the link! This really took me back to the games
| I grew up on that influenced me (haven't heard the names
| ROTT or Redneck Rampage since the 90's)
| beebeepka wrote:
| The movement? It was just dull but they fixed it with
| QuakeWorld.
|
| Bunny hopping is fun until you encounter stairs. They fixed
| that mechanic in Quake 2 but then everything else about this
| game is crap. Q3 was OMG, simply amazing
|
| Movement wise, CPM/CQ3 or QuakeLive is where things became fun
| again
| fatline wrote:
| The amazing thing about QuakeLive is that it initially ran in
| a browser window. I'm not sure how it was implemented, but it
| was amazing and it supported Mac and Linux as well. I wonder
| why they then decided to make it into a Windows only desktop
| app.. :-(
| George83728 wrote:
| > _The amazing thing about QuakeLive is that it initially
| ran in a browser window._
|
| The performance was complete dogshit. Just simply awful. I
| had modern hardware at the time which ran both the original
| Q3A and ioquake3 at hundreds of fps if uncapped but
| QuakeLive in browser burned my computer up for sub-60 fps
| even with the graphics turned down. Unplayable. Not to
| mention they dropped Linux support. QuakeLive made me quit
| playing Quake. If I sound bitter about it now, you should
| have heard me then.
| ThatPlayer wrote:
| I'm pretty sure it was just a browser plugin. So probably
| native code unlike nowadays when you can get proper 3D with
| WebGL.
| beebeepka wrote:
| Yes, it was a plug-in. The game was released
| simultaneously too early for WebAssembly, and too late
| for the masses who might have liked it
| Zardoz84 wrote:
| I'm sorry, but I don't agree with you. Quake 2 was the BEST
| Quake
| beebeepka wrote:
| No, it is not. I still play a few matches every now and
| then.
|
| 1. Movement is weird. Teleports suck immensely.
|
| 2. Weapons are slow to fire, and somehow, even slower to
| recharge/change. The 15km/h rocket projectiles don't make
| any sense.
|
| 3. Stock maps are crap. Thank God for ZTN
|
| 4. Has the worst community. Clients and mods are horrible.
| Zero quality of life stuff
| sjm wrote:
| Q2 being so slowed down compared to QuakeWorld makes a
| lot of sense when you read that John Carmack _hated_ the
| bunnyhopping bug in QW, and wanted everyone to be slow
| moving Terminators walking down hallways.
|
| I'm with you though, I hated it, and my friends and I
| quickly went back to QW (+ QWTF) after trying Q2 briefly.
| I did have a soft spot for Rocket Arena 2 in Q2 though,
| that was fun.
| drzel wrote:
| Modern QuakeWorld has the option of enabling 'air step' which
| allows surfing up stairs. I don't think the deathmatch
| purists use it, but it's become standard in FortressOne
| (modern QWTF fork).
| miramba wrote:
| I bought the recently released dusted up version, it's still
| fun to play against the bot in DM4.
| divan wrote:
| I recently tried it on Quest 2 headset. Quite playable in VR!
| cubefox wrote:
| Really? I thought such shooters with quick movement don't
| work in VR.
| divan wrote:
| https://www.youtube.com/watch?v=VKLGyYXvs6I
| cubefox wrote:
| Yet modern VR games usually don't work like this for some
| reason.
| mmh0000 wrote:
| They work REALLY well. Ever since getting my HTC Vive in
| 2017, and recently upgrading to a Valve Index, I haven't
| played a non-vr FPS game.
|
| Check out PavlovVR (CS:GO ripoff):
| https://www.youtube.com/watch?v=OPMllOHfxCc
| Serious Sam VR: https://www.youtube.com/watch?v=3-Qgx70_P8E
| hoherd wrote:
| Quake 1 was the first stereoscopic game I ever played. Back
| in the late 90's, some local computer store had a 3D rig with
| glasses that had LCDs in the lenses that would turn the whole
| lens opaque. On the CRT, the left eye view would render on
| one refresh while the right lens was blacked out, and then it
| would alternate. It was such an amazing effect to see on a
| 120hz screen.
| jojobas wrote:
| Quake 2 soundtrack is up there with the angriest, cleanest
| metal albums in existence.
| idiomaticrust wrote:
| Did anyone had a situation after entering the portal that it
| didn't teleport you, but you were in some different space with
| purple color and you had to move forward to be teleported? I had
| this once on the DM2 map. I tried to repeat this, but I never
| succeeded.
| lgl wrote:
| That should be a known bug on a specific teleport that exists
| on the DM2 map. Not sure if it's also present on "regular"
| Quake but it's been on QuakeWorld for as long as I can
| remember.
|
| On the backroom (where there is Red Armor and Mega Health)
| there is a teleport that goes to the main (BIG) room of the
| map.
|
| If you jump just before the teleport and "aim" your jump so you
| go in the top left corner of the teleport, you'll get stuck
| inside the teleport but not go through until you move a bit.
|
| Also, staying stuck for too long on that teleport during a
| game, will drown your player, which should definitely confuse
| your opponent as there is no water deep enough to drown players
| on DM2.
|
| Good times! Long live QuakeWorld!
| robertlagrant wrote:
| DM2 was awesome.
| idiomaticrust wrote:
| Yes, IIRC it was exactly that teleport. I'll try to repeat
| this using hint from you :)
|
| I was really confused when I hit that.
| idiomaticrust wrote:
| I tried on Q1 from steam and the original and I can not
| repeat. I'll have to check how to run QW these days :)
| lgl wrote:
| Yeah it's probably qw only. It's pretty easy to get it
| running these days with the recent clients. You can just
| download a qw client (ezquake recommended [0]) and
| extract the executable to your quake folder.
|
| Alternatively you can download nQuake [1], a full pack
| with most things included except for the non-shareware
| maps. You can then just place the pak1.pak file inside
| the id1 folder and make it complete.
|
| Good luck ;)
|
| [0] https://ezquake.com/
|
| [1] https://nquake.com/
| [deleted]
| dmead wrote:
| i just used to set r_picmip to 15 or whatever an the LG beam
| fills the entire space.
| kzrdude wrote:
| What does he mean by "enemy blocking"?
| dharmab wrote:
| The enemies within the player's field of view but to the side
| of the single beam are physically blocking the player model
| from moving. This is a jarring gameplay experience.
| driggs wrote:
| I parsed this title as "lightning bug gun" and wondered why I
| didn't recall a bioluminescent insect powered weapon in that
| game.
| NotYourLawyer wrote:
| Pretty interesting. Was this code just never tested at all?
| jcl wrote:
| So, it seems that the intent of the code is to add two
| parallel, invisible kill beams to augment the main beam. The
| nature of the bugs are such that the added beams are positioned
| in roughly the right place, for a certain axis-aligned view.
|
| I'd guess that the feature was tested manually in such a view,
| and seemed to work OK. And that the feature was subtle enough
| of a behavior tweak that no one noticed that it didn't work
| correctly in most other situations, since the main, visible
| beam worked correctly, and no one could see it killing enemies
| behind walls.
| kvark wrote:
| They missed the 3rd(!) bug in those few lines of code? The
| normalization was done before zeroing out the Z component, so the
| resulting vector isn't actually normalized.
| [deleted]
| shadowgovt wrote:
| It turns out you can do a lot of work with non-normalized
| normal vectors as long as you don't trip over the math that
| actually cares whether they're normalized.
| tomxor wrote:
| Yeah that's the first thing that drew my attention, if you
| normalise and then remove a component... now you know for sure
| length whatever you are doing is dependent on the direction of
| the input vector.
|
| I still find vector programming hard though, so if I was
| writing anything like this I'd always visualise it as part of
| my testing. i.e temporarily render out the other beams and
| possibly the intermediate vector as necessary (pretty much what
| they did in this video). That makes testing easier to verify
| and debugging way more intuitive.
| jcl wrote:
| To be fair, bug #1 was that the normalization call had no
| effect, so the fact that it's also being done in the wrong
| sequence doesn't actually have a further effect on gameplay.
| isoprophlex wrote:
| Not saying I never conjure the spaghetti but whoever coded that
| really was deep into the tail end of a caffeine, coding and
| sleep deprivation binge ;)
| phoboslab wrote:
| I've been working with the leaked wipEout source code for a
| while[1] and I can assure the quality of the Quake source is
| absolutely stellar in comparison. While Quake's source may
| not be up to modern best practices, the overall architecture
| certainly has a lot of structure and thought put into it.
|
| Modifying Quake to run on the Occulus Rift was a breeze[2],
| compared to the mountains of garbage I have to wade through
| with wipEout.
|
| [1] https://twitter.com/phoboslab/status/1653707447586922498
|
| [2] https://phoboslab.org/log/2016/05/quake-for-oculus-rift
| sjm wrote:
| Sure, but there's a big difference between leaked code vs.
| code cleaned up and officially released over 3 years after
| launch. Who knows what the Quake source looked like on the
| date they initially shipped. Quake also remained in
| development for quite a while, with the latest patch
| released ~March 1997 (original release June 96), and
| QuakeWorld last released end of 1998.
| HeckFeck wrote:
| > the leaked wipEout source code
|
| That's really cool, will you share your efforts anywhere?
| Love a bit of anti-gravity racing myself. I recommend you
| listen to the OST whilst coding it for maximum immersion.
| phoboslab wrote:
| The unlicensed source makes this difficult. My current
| plan is to trim the game to a demo with one race track,
| compile it to WASM, put it on my website and get Sony's
| attention (maybe through Nightdive Studios?) for a proper
| re-release.
|
| In the likely event that this fails, I'll just YOLO it
| and put it on Github. After all, Sony didn't care that I
| published[1] all of wipEout's assets seven years ago.
|
| [1] https://phoboslab.org/wipeout/
| [deleted]
| ChuckNorris89 wrote:
| _> whoever coded that really was deep into the tail end of a
| caffeine, coding and sleep deprivation binge ;)_
|
| That's most indie game devs of the period, but more so at id
| Software which splintered the team during Quake's development
| due to internal squabbles, causing John Romero and others to
| leave id.
|
| You can even tell that from the quality of Quake's levels
| which start with beautifully crafted and intricate levels,
| and as you approach the end, progress into "whatever, let's
| just ship it, this is gonna sell" kind of levels that were
| mostly just boring repetitive filler to pad the play time.
| [deleted]
| rasz wrote:
| > causing John Romero and others to leave id
|
| afaik Romero was fired for not working. Cubicle walls came
| down because Romero was playing Doom on the clock instead
| of making the game(his form of protest for not making an
| RPG or something). If you look at Quake code most
| broken/lazy stuff was done by him. Example
| https://www.youtube.com/watch?v=DEkjDkr0Qmc
| ChuckNorris89 wrote:
| AFAIK, Romero was a bit full of himself at that point in
| time seeing himself as a godly game designer. He then
| went on to start his own company and build the RPG he
| wanted, Daikatana, which was late, over budget, and
| flopped big time.
| miramba wrote:
| Quake is/was a multiplayer game with a single player mode
| attached for initial training. Or, from a mod creators
| perspective, a 3D engine with a demo mode for what was
| possible. Qtest1, the "demo" that came out a few weeks
| before release, was multiplayer only.
| i_c_b wrote:
| That's sort of how things ended up, but I don't think it
| was the intention. Doom and Doom2 were (and are)
| magnificent single player and co-op games, if you like
| that sort of thing, which I do (Doom was my lode star
| when I was working as a gameplay programmer / designer on
| Soldier of Fortune).
|
| The better single player levels in Quake are actually
| really intricate and well-designed single player levels
| too, in exactly the way that Doom levels were great.
|
| Some of the enemy design in Quake is actually pretty
| good, too, with sharply distinguished silhouettes between
| enemies, and good discrete gameplay property
| differentiation between them - well, at least for the
| zombies, the fiends, and the shamblers. Some of the
| others are fine, too (scraggs, grunts).
|
| I think the bigger issue is they bit off way more than
| they could chew.
|
| Specifically, Doom's single player mechanics thrive on
| having hordes of enemies interacting with highly
| interconnected levels in interesting ways, making space
| management a big part of the single player game play.
| Trying to figure out where you're safe to pick a fight,
| or how to steer the hordes around to create a space where
| it's safe to fight, is a big part of the draw. But,
| because rendering 3d monsters was so expensive compared
| to 2d sprites, Quake couldn't do hordes when it shipped,
| and fighting just a few enemies at a time (with their
| health highly jacked up) was a totally different
| experience. It could have been made to work, but they
| would have had to stray a lot further from the Doom
| gameplay recipe than they did.
|
| And they also would have needed, I think, a lot more
| monster variety. A single player game with 30 different
| enemy types that were interesting and differentiated
| would have been much stronger.
|
| That's my two cents, anyway.
| JD557 wrote:
| > You can even tell that from the quality of Quake's levels
| which start with beautifully crafted and intricate levels,
| and as you approach the end, progress into "whatever, let's
| just ship it, this is gonna sell" kind of levels that were
| mostly just filler to pad the play time.
|
| This rings really true to me. I only had played the
| shareware version of quake and only recently played the
| full game, and the second half really felt like padding.
|
| Some gimmicks in particular were really overused later on
| (I specifically recall that at a certain point I could just
| tell "There's going to be an ogre hidden in this corner").
|
| I'm not sure if there was also some other reasons - maybe
| they decided to use some of the best designs for the
| shareware, maybe ran out of space for more enemies or maybe
| there's just way more nostalgia for the first levels - but
| I'm happy to see that some people share a similar opinion.
| RobotToaster wrote:
| They probably didn't expect many people to get more than
| half way through the game.
| mrob wrote:
| You can play the episodes in any order, so I expect most
| people tried all of them.
| ohthatsnotright wrote:
| Doom, Doom 2, Quake, Quake 2, Descent, Descent 2 and Duke
| Nukem 3D are pretty much the only games I've ever
| completed because Steam didn't exist and that was
| basically all there was to play at the time. Now it's
| easy to get stuck or bored and move on to something else.
| Sharlin wrote:
| It was a different time. It's not like today when
| everybody has a Steam collection full of games played
| just a couple of hours and then abandoned.
| ChoGGi wrote:
| I swear I'll finish more of them when I get some free
| time.
|
| Though it certainly is nicer on my wallet to normally
| grab games on sale.
| ascagnel_ wrote:
| I was looking at my Steam library and wishlist last
| night, in anticipation of the upcoming summer sale season
| (other storefronts have already begun their summer
| sales), and I was somewhat disappointed in myself. Even
| though I try to only buy games on sale, I think I'd
| likely save money overall by only buying (and finishing,
| if I'm enjoying them) games at full price when I'm ready
| to play them vs. speculatively buying games on sale.
| mrob wrote:
| I disagree that the later levels are filler. Episode 4 is
| my favorite, because it's the episode that best shows off
| Quake's excellent movement. It's less cramped than the
| others, and has better "flow", letting you bunny hop all
| over the maps with minimal waiting. I agree with the common
| consensus that it's the ugliest of the episodes, but I
| think this suits the weird otherworldly theme that Sandy
| Petersen was going for (influenced by the works of H. P.
| Lovecraft).
|
| The only real complaint I have is the use of the Spawn
| enemy, which is generally considered the worst designed
| enemy in the game. But the enemy placement in episode 4 has
| the advantage that it makes relatively little use of the
| Ogre, which I consider the second worst enemy, because it
| has too much HP for something so common, and is too
| predictable on Nightmare difficulty (to the point that some
| people say Hard difficulty is actually more difficult than
| Nightmare).
| i_c_b wrote:
| "You can even tell that from the quality of Quake's levels
| which start with beautifully crafted and intricate levels,
| and as you approach the end, progress into "whatever, let's
| just ship it, this is gonna sell" kind of levels that were
| mostly just boring repetitive filler to pad the play time."
|
| IIRC (this is well-documented if you want to double check),
| Tim Willits made most of the Episode 1 maps, John Romero
| made most of the episode 2 maps, American McGee made most
| of the Episode 3 maps, Sandy Peterson made most of the
| episode 4 maps, and John Romero made most of the level 1,
| military base themed maps in each episode.
|
| The episode 4 maps are often barren, lacking in details,
| and missing much of the beautiful interconnections of
| earlier maps... but this is also true of Peterson's maps
| from Doom (he did a lot of episode 3 in the original Doom,
| IIRC). So I think it's more of "this guy might be a strong
| game designer in a lot of other contexts, but the specific
| needs of making cutting edge Doom/Quake style maps isn't a
| great fit for him".
|
| I was at Raven Software at the transition from the Doom
| engine and other 2.5D engines to Quake (and then Quake 2,
| and then Quake 3, and then Doom 3), and there were a number
| of existing designers who were fine game designers in
| earlier, 2d contexts who found their skills severely out of
| sync with the changing demands of 3d map making, and most
| of them eventually had to transition to other roles or
| leave the industry.
| badsectoracula wrote:
| FWIW while i also found Petersen's maps on the weird side
| geometrically, at the same time i think they were among
| the most interesting to play (both in Doom and Quake) as
| he often tried to come up with various gameplay tricks
| and traps to break the "mold".
|
| His Quake maps especially give me the impression that he
| was more into trying to come up with ideas on what is
| possible for the player to do in the freedom allowed in
| 3D space than how to make a good looking environment
| (especially in Quake's theme that didn't really have to
| conform to any realistic constrains and could have shapes
| floating in space, physically impossible architectures or
| whatever).
| i_c_b wrote:
| I think there's a couple of orthogonal issues here.
|
| One of them is the nature of interactivity in the levels
| themselves. There's a spectrum between having a game
| grammar made of distinct discrete interactive reusable
| objects and then building unique situations by assembling
| them in interesting ways, versus having (essentially)
| unique scripted traps or interactive things or set pieces
| that only show up in one place. Older action games that
| inspired Doom tend to draw from that former tradition; a
| lot of FPS games that came after Quake tended to go more
| down that second road. Quake's trigger system
| specifically opened up the door to a rudimentary kind of
| visual scripting that made the latter style of design
| more possible in a way that wasn't possible in Doom
| (although it was possible in Hexen via HexenC(?)). I
| think you could say that that style of design really came
| more into its own with Half-Life, which foregrounded
| unique interactivity grounded in very specific, themed
| levels much more clearly. Doom at its best seems like
| it's much more in the design space of, say, Robotron and
| old Mario games. Fewer unique set pieces, much more focus
| on discrete interactive toys to be recombined... and
| given id's background with Commander Keen and their
| earlier recreation of the first level of Mario 3, this
| design influence shouldn't be a surprise. Anyway, Quake
| feels like it is at the intersection of these two styles
| of design.
|
| I think it is true that Peterson did try to go more down
| that second road of design in the episode 4 maps in a way
| that there was less of in other maps, and that it
| interesting.
|
| But the other thing that sticks out to me more so, in
| terms of level design, is about the way the space is
| shaped. A lot of the very best Doom and Quake levels have
| a tendency of having different parts of levels intersect
| and interact in interesting, playful ways. The order that
| you see areas is different from the order that you hear
| areas is different from the order that you can attack
| into or interact with areas is different from the order
| you can move through areas is different from the order
| that different kinds of enemies can move through areas or
| attack areas. And that changes as you progress through a
| level, get keys, and activate switches. There's a
| tendency for levels to start somewhat linear and movement
| constrained but give information about later areas in a
| somewhat more non-linear, tantalizing way, and then as a
| player progresses, for the player's movement in a level
| to become more like a multiply connected graph as
| switches, keys, and activated lifts make a lot of one-way
| paths become two-way. And that style of design plays to
| the strengths of Doom and Quake using BSPs for levels as
| their fundamental data structure - BSPs specifically make
| these kinds of weird and surprising visual and physical
| intersections between areas manageable in terms of
| computational performance on 90's era hardware.
|
| Whether or not someone considers the design approaches I
| just outlined appealing is fundamentally an aesthetic
| issue, obviously - there's no one right way to enjoy a
| game. But my general sense is that the Sandy Peterson
| maps in Doom and Quake tend to explore these approaches
| to play much less than the maps made by other designers.
| phoboslab wrote:
| You assume that the quake maps were built sequentially, but
| that's not the case. Since this was all new technology, the
| "best" maps were conceived at the end of development, after
| the team was familiar with the tech. You want those maps to
| be at the start of the game, as it's the first thing the
| player sees.
|
| Also, the distinct style of the last episode is easily
| explained by the fact that all of its maps were built by
| Sandy Petersen. E3 was mostly American McGee, while John
| Romero and Tim Willits worked on E1 and E2.
|
| I'm not a fan of Petersen's maps either, but they are
| regarded (and liked) as quite unique, compared to the rest
| of the game.
| jasonwatkinspdx wrote:
| Yeah, I didn't like Petersen's levels much at the time,
| but looking back on them later as a designer (I worked on
| a couple doomed Unreal projects) I can see he was trying
| to be as creative as possible within the limits of the
| engine, as far as getting away from "find the yellow key"
| style design that frankly, everyone was already bored of.
|
| I had a pirate pre-release copy of Quake that I'd wished
| I'd saved. But in any case I do remember there were
| changes to the maps all over the game, so the levels were
| definitely not done in order. The biggest difference I
| remember is the ending in the final game is totally
| different. The pre-release had a more Doom style waves of
| monsters fight on a sort of giant terrace. I didn't
| particularly like that doom style ending, but also felt
| the release game's ending was kind of an anti climactic
| gimmick.
| sjm wrote:
| Yeah, the boss at the end of episode 1 (e1m7, House of
| Chthon) was way more interesting than end.bsp, and I
| remember really blew me away as a kid. Makes sense based
| on what others were saying about having the best levels
| up front.
| drzel wrote:
| Yep I'm in this code base a lot, and there's a lot of this.
| Some of it by John's own hand. But you know, if it works,
| it works. I've added plenty of my own bugs in the same
| spirit.
| dadarecit wrote:
| Adding bugs intentionally? Based
| Eisenstein wrote:
| 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
| hardware2win wrote:
| >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
| dadarecit wrote:
| Amount of tickets closed on JIRA lmaoo
| steve_mcdougall wrote:
| [dead]
| gokaygurcan wrote:
| Please no. I know it's a joke, but please.
| dadarecit wrote:
| I know, the truth hurts
| danmur wrote:
| LoC, the ultimate metric
| Eisenstein wrote:
| > 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.
| gopher_space wrote:
| > 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.
| pdntspa wrote:
| 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
| JohnFen wrote:
| > 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.)
| pdntspa wrote:
| 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.
| JohnFen wrote:
| > 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!
| pdntspa wrote:
| 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.
| ionwake wrote:
| Excellent summary
| magicalhippo wrote:
| 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
| ThrowawayR2 wrote:
| 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.
| [deleted]
| cubefox wrote:
| 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_Na
| nite_SI...
| nailer wrote:
| Who made DLSS? Using ML to denoise ray tracing is
| massive.
| cubefox wrote:
| 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.
| nailer wrote:
| DLSS does the upscaling since DLSS 1.0 see 5 mins 30 at
| the DLSS announcement https://youtu.be/pgEI4tzh0dc
|
| It adds frames since I think 3.0.
| barbariangrunge wrote:
| He was a little bit. I wonder what he was up at meta
| before switching to agi
| Cthulhu_ wrote:
| 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.
| itsagavin wrote:
| 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.
| vinyl7 wrote:
| Hobbyists have already made their own implementation of
| Nanite. It's not that complicated.
| ehaliewicz2 wrote:
| 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.
| ahahahahah wrote:
| In that sense, neither is the quake engine.
| nailer wrote:
| He popularised BSP for FPS which meant doom ran faster
| than SystemShock, despite having more complex level
| geometry
| paulryanrogers wrote:
| 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.
| xen2xen1 wrote:
| 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?
| otikik wrote:
| 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.
| Agentlien wrote:
| 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.
| Eisenstein wrote:
| 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...
| otikik wrote:
| Perhaps the Living Videotex slogan can help you:
|
| -- "We Make Shitty Software... With Bugs!"
|
| http://scripting.com/davenet/1995/09/03/wemakeshittysoftw
| are...
|
| 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.
| Eisenstein wrote:
| 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.
| acomjean wrote:
| 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.
| George83728 wrote:
| 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.
| tomashubelbauer wrote:
| 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.
| ndepoel wrote:
| 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
| midasuni wrote:
| So the only requirement to work at iD back in the day was
| to be called John?
| cfj wrote:
| Or Carmack.
| brookst wrote:
| That's what my buddy said, yeah. Good old John Manyjohns.
| klodolph wrote:
| For those who haven't seen Buckaroo Banzai--all the
| people working at Yoyodyne Propulsion are named John.
| It's a plot point.
| TechBro8615 wrote:
| It seems like Amazon has the same idea when promoting
| people named Andy or Jeff to executive roles.
| i_c_b wrote:
| 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.
| baal80spam wrote:
| Wow, this link is something else - you can track what
| problems he tackled and what he worked on DAILY.
| Solvency wrote:
| 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.
| sillysaurusx wrote:
| 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.
| mysterydip wrote:
| "Hi Sandy, hope you're doing well."
| hsjqllzlfkf wrote:
| > Good chance it was John Carmack, probably one the top 10
| programmers of all time.
|
| Where would you rank Linus Torvalds?
| otikik wrote:
| Empathy is a trait that I value highly on a programmer.
| account42 wrote:
| Empathy and faux politeness are different things.
| otikik wrote:
| 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.
| fragmede wrote:
| It's tough to decide if the Linux kernel or git is his
| bigger contribution to society.
| yCombLinks wrote:
| Git isn't even the best DVCS, it won on the back of
| github more than it's own strengths.
| ChoHag wrote:
| [dead]
| Eisenstein wrote:
| 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.
| TechBro8615 wrote:
| It would be fun to make a game that showed you random
| code snippets and asked you to identify the author.
| [deleted]
| Cthulhu_ wrote:
| 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.
| haburka wrote:
| 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.
| [deleted]
| ben7799 wrote:
| 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.
| Eisenstein wrote:
| > 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.
| [deleted]
| saltcured wrote:
| 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.
| Eisenstein wrote:
| > 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
| JadeNB wrote:
| > 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.
| jonhohle wrote:
| Coincidentally (or not), Carmack started Armadillo
| Aerospace and was working rocket control and navigation
| systems. So...
| [deleted]
| hyperman1 wrote:
| 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
| at-fates-hands wrote:
| 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.
| baal80spam wrote:
| > 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".
| mock-possum wrote:
| That's crazy. I've played a bunch of quake and never knew about
| that.
___________________________________________________________________
(page generated 2023-06-15 23:02 UTC)