How Doom's Enemy AI Works

Поделиться
HTML-код
  • Опубликовано: 16 дек 2024

Комментарии • 2,3 тыс.

  • @decino
    @decino  4 года назад +3301

    Forgot to mention that respawned enemies always have their reaction time set to 18 so they don't instantly attack you if they respawn in your proximity. There's a lot to talk about the AI, so there's probably more stuff I forgot to mention. If I gather enough material I'll make a bonus episode.

    • @CROCaptions
      @CROCaptions 4 года назад +19

      Nice

    • @Smokecall
      @Smokecall 4 года назад +15

      Fantastic breakdown as usual. The reaction time is pretty neat to know about as well as what causes some enemies to be stuck

    • @computerarchitecture9480
      @computerarchitecture9480 4 года назад +8

      i am lucky that CacoDemons don't resapwn it would be a nightmare ( sorry if i accideantrly pronnounced "cacodemons" wrong i haven't played doom in ages tbh)

    • @zer02wo85
      @zer02wo85 4 года назад +7

      Gib>jib
      Gif>jif

    • @Seb-Storm
      @Seb-Storm 4 года назад +5

      To be fair is ok you forgot info so 1) we can still manage to understand the info and 2) we get to see another video of yours lol

  • @professormeme6584
    @professormeme6584 4 года назад +4533

    Doomguy: *punches air*
    Demons: *_E n e m y s p o t t e d_*

    • @TheSoundCrafterCompany
      @TheSoundCrafterCompany 4 года назад +49

      True

    • @0promo
      @0promo 4 года назад +15

      lol so true

    • @BloodWolf2005
      @BloodWolf2005 4 года назад +141

      Well, Doomguy can KO demons with a punch. With a swing that strong, I'm sure there's an air *whoosh*.

    • @TheSoundCrafterCompany
      @TheSoundCrafterCompany 4 года назад +1

      I charge at them when i have the berserk in Doom and Doom 2

    • @JeffreyPiatt
      @JeffreyPiatt 4 года назад +17

      its because the Punch and the Chainsaw are Hit scan weapons in the source code there just coded to only affect damage if your next to the Actors Hit box. Doom removed stealth in it's melee attacks as the Knife in Wolf 3d was Silent and that function for weapon slot 1 was retained in the Blake Stone games the combat knife was replaced with a ranged self recharging energy gun with normal range but kept the stealth function. it only failed if you did not kill the actor and the alert sound would wake up every one in the room without a Deaf Flag.

  • @CROCaptions
    @CROCaptions 4 года назад +3986

    How to kill Doomguy
    1: Walk towards enemy
    2: Attack
    3: Celebrate

    • @kg4boj
      @kg4boj 4 года назад +11

      @@comet-fy6pd *pain locked

    • @HappyBeezerStudios
      @HappyBeezerStudios 4 года назад +57

      Pro Tip: To defeat the Doomguy attack him until he dies,

    • @breakfast3006
      @breakfast3006 4 года назад +6

      Not a single person is aloud to like this comment anymore.

    • @timbabcock4757
      @timbabcock4757 4 года назад +1

      @@breakfast3006 for that
      i liked his comment

    • @Architector_4
      @Architector_4 4 года назад +5

      @@timbabcock4757
      And that, together with the attention you gave them, is precisely what they wanted to happen.

  • @beteorite6404
    @beteorite6404 4 года назад +3853

    doomguy: holds very loud chainsaw
    demons: i sleep
    doomguy: punches air
    demons: real shit?

    • @xeanderman6688
      @xeanderman6688 4 года назад +104

      Real shit indeed

    • @kingd8232
      @kingd8232 4 года назад +298

      Doomguy: shoots pistol
      Demons on the other side of the map: *ASCENDED*

    • @jestfullgremblim8002
      @jestfullgremblim8002 4 года назад +27

      @@kingd8232 lmao

    • @sewpkan1297
      @sewpkan1297 4 года назад +145

      someone needs to make a sprite for doom that replaces the punch with doomguy clapping really loud.

    • @boredcast5149
      @boredcast5149 3 года назад +12

      I like your party hat

  • @R4ND0MCR4P123R4ND0MN3SS
    @R4ND0MCR4P123R4ND0MN3SS 4 года назад +2966

    "When you make a sound." But all you did was punch the air, unless Doom Guy is punching the air so hard that it's literally breaking the sound barrier.

    • @JohnWick-pq5su
      @JohnWick-pq5su 4 года назад +113

      R4ND0MCR4P123 he is lol

    • @ravenclawtom
      @ravenclawtom 4 года назад +83

      well yeah he is

    • @frallbobroggins4005
      @frallbobroggins4005 4 года назад +267

      Dude, why didn’t you just ASSUME that he was breaking the sound barrier when he punches? Do you have ANY idea what doomguy is?

    • @Monody512
      @Monody512 4 года назад +132

      Now I want a mod that changes the punch miss animation to a clap.

    • @Johndoe200I
      @Johndoe200I 4 года назад +74

      Probably why he can kill demons with his fist

  • @carljohan9265
    @carljohan9265 4 года назад +2813

    "Even dead enemies think" is probably one of the most video-gamey quotes I've ever heard and I love it :)

    • @ventex1352
      @ventex1352 4 года назад +29

      Never played multiplayer FPS before?

    • @12...
      @12... 4 года назад +32

      but do odd dead enemies think?

    • @portablerefrigerator4902
      @portablerefrigerator4902 4 года назад +2

      Fuck you. You spoiled it.

    • @pandoxyy
      @pandoxyy 4 года назад +70

      @@portablerefrigerator4902 damn bro sorry to hear you got the doom AI spoiled for you.
      Really ruins the narrative.

    • @valletas
      @valletas 4 года назад +22

      @@portablerefrigerator4902 oh yeah worst spoiler ever...
      I mean come on dude this isnt a gameplay or a narrative video just a informative one about how the ai works

  • @dsuse22
    @dsuse22 4 года назад +3483

    Doomguy: “Come over here and fight me baron!”
    Baron of hell: “Dude I can’t, command told me you’re not in my line of sight.”

    • @wallyhackenslacker
      @wallyhackenslacker 4 года назад +349

      Imagine a Doom mode called "Algorithmic Doom": every demon stops to enunciate everything they are going to do before doing it.

    • @roadroller8851
      @roadroller8851 4 года назад +280

      "Take this Doomguy, my ultimate technique! Max Damage Roll Homing Missile!"

    • @bioman1hazard607
      @bioman1hazard607 4 года назад +113

      Here comes flame boi...

    • @ignis5673
      @ignis5673 4 года назад +29

      @Ll Dd coming right to me

    • @JustAJosuke
      @JustAJosuke 4 года назад +26

      @ beat the shit out of

  • @nightmaregats
    @nightmaregats 4 года назад +2669

    "You shoot at them, they get hurt and they die"
    The entire lore of doom using a short phrase

    • @thebiolibrary5572
      @thebiolibrary5572 4 года назад +60

      The lore of Doom:
      Kill things
      Kill more things
      Kill even more things
      Kill angels because they’re working with demons
      Kill eternal...ly.

    • @Gemidori
      @Gemidori 3 года назад +14

      @@thebiolibrary5572 And then at long last
      Kill guy who made all things

    • @EastonB_
      @EastonB_ 3 года назад +1

      Get all weapons, pretty much kill god, and then something stronger, all while killing thousands of helpless demons.

    • @Sam_XNE997
      @Sam_XNE997 3 года назад +1

      Doom lore: YA KILL SHIT

    • @IrnBruCan
      @IrnBruCan 2 года назад +6

      @@thebiolibrary5572 And kill big cow man called the icon of sin.

  • @Slogstin
    @Slogstin 4 года назад +1337

    When the Revenant is walking, he looks like he's slapping the air while trying to hit you.

    • @DjTake1One
      @DjTake1One 4 года назад +162

      "Okay, Doomguy, I'm gonna start slapping air like this, and, if you get hit, it's your OWN fault."

    • @gravijta936
      @gravijta936 4 года назад +20

      He's just swatting flies. Flies like skeletons.

    • @buddyguy4723
      @buddyguy4723 4 года назад +23

      @@DjTake1One tryin to clap them cheeks

    • @TPepeProductions
      @TPepeProductions 4 года назад +1

      @@DjTake1One best comment

    • @ninjawafflezz5356
      @ninjawafflezz5356 4 года назад +11

      Skeletons are always the silliest.
      "NYEH HEH IVE GOTCH YOU NOW HE-MAAN!"

  • @ThalesPanke
    @ThalesPanke 4 года назад +1173

    You made me understand why a Cacodemon 180º noscoped me yesterday

    • @its_n0mad_lads
      @its_n0mad_lads 3 года назад +17

      Lmao

    • @GhostofFarta
      @GhostofFarta 3 года назад +75

      That brings the question of how the hell a caco would hardscope

    • @tl1882
      @tl1882 2 года назад +25

      @@GhostofFarta focusing its eye i guess

    • @CT-1118
      @CT-1118 2 года назад +69

      @@GhostofFarta A monocle, obviously

    • @WaituSnaiku
      @WaituSnaiku 2 года назад +5

      @@CT-1118 surley

  • @geogaming4483
    @geogaming4483 4 года назад +1138

    Lost souls: *Charges at doomguy*
    Doomguy: *Dodges*
    Lost souls: Understandable, have a nice day

  • @breakfast3006
    @breakfast3006 4 года назад +1427

    I saw the tiny thumbnail and went “He didn’t.” And he did. Wow

  • @phantomspaceman
    @phantomspaceman 4 года назад +454

    "The F State, where a player encounters 60 revenants in a single room of raised platforms and slams their keyboard through the monitor."

  • @Mister100Percent
    @Mister100Percent 4 года назад +1851

    Doomguy: “Oh? You're approaching me? Instead of running away, you're coming right to me?”
    Baron: “I can’t get the shit beat out of me without getting closer.”
    Doomguy: “Oh ho! Then come as close as you like.”

  • @SaltyRamen.
    @SaltyRamen. 3 года назад +239

    If computer science teachers are this thorough and efficient, I would be a better programmer

    • @PKMNgamer99
      @PKMNgamer99 11 месяцев назад +8

      this is why I listen to doom music during lectures, it makes me feel like I’m listening to decino and it helps me focus

  • @taison6466
    @taison6466 4 года назад +408

    Guys, I'm starting to think this guy likes DOOM.

    • @memegraveyard9502
      @memegraveyard9502 3 года назад +26

      Nah, he’s more into wolfenstein

    • @sharonmott2888
      @sharonmott2888 3 года назад +13

      Nah he’s into fallout

    • @CEfect
      @CEfect 3 года назад +7

      All of y’all are stupid he is clearly into cyberpunk 2077

    • @lemon_curry_
      @lemon_curry_ 3 года назад +8

      Idiots. He plays Halo.

    • @fsedwuncleriii4190
      @fsedwuncleriii4190 3 года назад +26

      You fools, he enjoys the superior Barbie Salon Tour most.

  • @johnarmstrong5533
    @johnarmstrong5533 4 года назад +183

    I'd heard about the grace period before a monster fires at you, but seeing the example of regular (and even regular with fast monsters) vs nightmare makes that second mode's description of "not even remotely fair" make so much more sense.

  • @tehberral
    @tehberral 4 года назад +420

    Videos like this remind me why I never got into coding. I salute people who can do it.

    • @cfdeers
      @cfdeers 4 года назад +64

      friendly reminder that the source code for Doom 1 is actually really clean C. Just try to start modding and you'll become familiar.

    • @oscargonzalez3599
      @oscargonzalez3599 4 года назад +51

      Videos like this remind me of how incredible we humans have achieve when it comes to coding and video games as a whole, like really, look at all this work and all that. Suggestion, look up for "how does pokemon sprite work" that is insane too....

    • @aziztcf
      @aziztcf 4 года назад +37

      ​@@cfdeers someone should hire that carmack dude, i think he might be pretty smart

    • @cfdeers
      @cfdeers 4 года назад +2

      @Agent 005 and hes working on AI.

    • @discoRyne
      @discoRyne 4 года назад

      @Agent 005 He did, but prioritizes AI now.

  • @gavriloprincip4508
    @gavriloprincip4508 4 года назад +552

    2:07 POV: you said something slightly offensive and the teachers heard you

  • @mordecaijackson461
    @mordecaijackson461 4 года назад +395

    Doomguy: *swats at fly in the air*
    Every demon in a 10000 foot radius: _So you have chosen..._ *_death._*

    • @mariatarango4417
      @mariatarango4417 4 года назад +9

      No You have chosen death I merely started the conflict

    • @doomfan6493
      @doomfan6493 3 года назад +5

      Doomguy: you fool, *I am death*

    • @Breakaway-ic5gj
      @Breakaway-ic5gj 2 года назад +3

      Now all of Hell knows you are here!

  • @5udimax
    @5udimax 4 года назад +762

    This is one heck of a video.
    Also, Jesus Christ what was John Carmack smoking when he wrote his code, he's something else.

    • @wallyhackenslacker
      @wallyhackenslacker 4 года назад +102

      JC has certainly earned being the target of all those super-genius-coder memes and then some!

    • @le_moktar
      @le_moktar 4 года назад +75

      I understand it was John Romero who coded all the interactive stuff from the engine. I'd like to know if he coded too the monsters and all the gameplay stuff (except for Status Bar and Automap which were made or finished by Dave Taylor), as the editing tools and the environment behavior are credited to Romero, and here also seems to be the case.

    • @morgus9215
      @morgus9215 4 года назад +91

      Benevolent hyperintelligent juvenile delinquent John carmack

    • @bioman1hazard607
      @bioman1hazard607 4 года назад +74

      Theres a reason why civvie gives jc those super long titles, John's an actual rocket scientist and in some other dimension an actual evil dictator that rules the world

    • @tylerlackey1175
      @tylerlackey1175 4 года назад +33

      @@bioman1hazard607 other dimension? For all we know, he just hasn't begun yet

  • @generalgk
    @generalgk 4 года назад +621

    Decino: *drops Doom knowledge*
    Id devs: "Huh, I never knew that"

    • @wallyhackenslacker
      @wallyhackenslacker 4 года назад +68

      Given the omissions in the official Unity source port, I actually think decino knows more about the internals of Doom that the current devs at id do.

    • @wallyhackenslacker
      @wallyhackenslacker 4 года назад +16

      The official source port that id Software uses for consoles and is bundled with Doom Eternal is made from scratch in Unity. There is more info in the Doom wiki here doomwiki.org/wiki/Doom_Classic_Unity_port

    • @doodguytheblank2403
      @doodguytheblank2403 4 года назад +29

      Carmack knows everything, EVERYTHING

    • @generalgk
      @generalgk 4 года назад +40

      @@doodguytheblank2403 Yeah but he's an interdimensional tech-warlock.

    • @Arto91
      @Arto91 4 года назад +11

      @@doodguytheblank2403 I dont think even carmack knew about archies making ghost monsters

  • @Ashachi
    @Ashachi 4 года назад +273

    When I was a kid playing this game, I always wondered why there were small holes in the walls of some maps, Now I know that it was there for sound to wake up a hidden room full of monsters so they can teleport into the map. I always just thought it was the last secret I couldn't find.

    • @acidwizzardbastard
      @acidwizzardbastard 4 года назад +4

      Like which maps? Pardon me, I've just never noticed these.

    • @T-West
      @T-West 4 года назад +43

      @@acidwizzardbastard E1M9 "Military Base" in the original Doom (room with the Rocket Launcher) and Map 16 "Suburbs" in Doom II (big outdoor fight near the toxic waste lake) are two notable examples.

    • @xt355
      @xt355 4 года назад +3

      picture?

    • @T-West
      @T-West 4 года назад +25

      @@xt355 Military Base - The hole is in the top of the wall directly across from the stairs: ruclips.net/video/fLzz51ReF20/видео.html
      Suburbs - The hole is on the left, in the wall just below the ledge that leads to the toxic pit: ruclips.net/video/FOcDWLTnk-s/видео.html

    • @Architector_4
      @Architector_4 4 года назад +15

      Or in MAP01 of DooM II too, the secret closet with 2 imps and a stimpack had a hole in its top left corner leading all the way to the fenced but open closet with an imp on the right. That caused the sound to propagate from the main room, into the fenced closed, through the hole and into the secret.

  • @yourfriendlyneighborhoodla2091
    @yourfriendlyneighborhoodla2091 4 года назад +134

    The majority of a Revenant's life cycle consists of dancing, the rest is dying.

  • @jonsku6662
    @jonsku6662 4 года назад +47

    Doomguy: swings arm
    Every enemy nearby on nightmare difficulty: "So you have chosen death"

  • @captainjurgh8142
    @captainjurgh8142 4 года назад +526

    The most impressive part of Doom's AI is that it's so randomized, so unpredictable, fighting each enemy doesn't feel the same although basically they really are.
    Kudos for ID fellas' programming!

    • @Vladimir_Kv
      @Vladimir_Kv 4 года назад +64

      @@IchigoMait Doom speedrunners want to argue with that. There is enough conditions in the code to make mobs semi-random at times.

    • @raz1572
      @raz1572 4 года назад +61

      @@IchigoMait while it is deterministic (demos just repeat player inputs afterall), there are so many calls to the rng array that doing something the same way twice is impossible for a human to actually do past the very first action they take. It's effectively random.

    • @leofwulf268
      @leofwulf268 2 года назад +7

      All thanks to the extradimensional being living in a cocoon named John Carmac

    • @SFJake250
      @SFJake250 2 года назад +8

      Honestly this is an understated point. I've played indie games with "simple AI" where all they did was instantly turn to the player and effectively "hold forward". I felt this to be very unfun to play against. This highlights a very basic yet super important point about AI: Fun has nothing to do with how simple or complex the AIs are, and game AIs should focus on being fun. Its okay that they're stupid, because they're stupid in a way that makes them fun to dispatch.

    • @soylentgreenb
      @soylentgreenb 2 года назад +1

      No. Damage is random. Things like pain states and Wether an enemy dies depends on the outcome ofrandom damage. Monster chase behaviour has some randomness. There is some random spread on some weapons. The player cannot see through pseudorandom numbers and know the state in real time. Pseudorandomness looks and feels like randomness.

  • @Ichijopaniponi
    @Ichijopaniponi 4 года назад +258

    6:49 "They'll toss a projectile from their behinds."
    So, basically they fart out a projectile.

    • @demogorgonzola
      @demogorgonzola 4 года назад +30

      Baron of Farts! :)

    • @RolloTonéBrownTown
      @RolloTonéBrownTown 4 года назад +3

      Me after coffee in morning :)

    • @rompevuevitos222
      @rompevuevitos222 4 года назад +12

      Pretty sure he bled a bit when "expelling" the projectile
      That's commitment if i've ever seen any

    • @EdBoi18
      @EdBoi18 4 года назад +3

      And it's green sooo....😆

    • @derpofnerf6673
      @derpofnerf6673 4 года назад +3

      Someone make a DOOM wad where all monsters that have projectiles fart them out.

  • @goofytycooner5519
    @goofytycooner5519 4 года назад +1216

    1. Accept your mortality.
    2. Casually approach Doomguy.

    • @clonefighter1996
      @clonefighter1996 4 года назад +68

      3. Pause, with anticipation.
      4.
      5.
      6.
      7.
      8.
      9. *ATTACK!*

    • @Bob2854
      @Bob2854 4 года назад +7

      @@clonefighter1996 yes

    • @wowalamoiz9489
      @wowalamoiz9489 4 года назад +2

      3. Go grab a beer, because you're a human and both the guy and the slayer have no problems with people.

    • @ttty2242
      @ttty2242 3 года назад +3

      @@wowalamoiz9489 doom guy and the slayer are the same person

    • @wowalamoiz9489
      @wowalamoiz9489 3 года назад +1

      @@ttty2242 They are from two different canons. Doom guy is a disgraced space marine from the original Doom series. He's a good guy but otherwise a normal but determined person.
      Doom slayer is from the new series, and he's very much not ordinary in any way.

  • @Tkdboy-gk1wk
    @Tkdboy-gk1wk 4 года назад +54

    6:50
    Doomguy: “Ah. You ate Chipotle too, huh?”

  • @NivoUF
    @NivoUF 4 года назад +42

    Best kind of videos, I can't get over how well produced they are. No fluff, no idiotic intros, no bullshiting around, straight to the point and facts supported by code itself - WONDERFUL!!

  • @T-West
    @T-West 4 года назад +86

    I enjoy how your code's syntax highlighting matches so well with Doom's color palette.

  • @xamareik4661
    @xamareik4661 4 года назад +138

    Decino: *uploads*
    Me: *clicks faster than a pinky running at incredibly high speeds*

    • @stylesrj
      @stylesrj 4 года назад +6

      Faster than a Nightmare Fast Monsters Pinky

    • @anew742
      @anew742 4 года назад +6

      T U R B O P I N K Y

    • @xamareik4661
      @xamareik4661 4 года назад

      @@KeksimusMaximus i was gonna say hihg but i couldnt remember if it was high or hihg

  • @GlitchCityMissingNo
    @GlitchCityMissingNo 4 года назад +1434

    is this what it feels like to learn something yet nothing at the same time?
    edit: wtf 1.1k likes?????

    • @Mate_Antal_Zoltan
      @Mate_Antal_Zoltan 4 года назад +73

      me watching every educational video

    • @RolloTonéBrownTown
      @RolloTonéBrownTown 4 года назад +11

      Only if you have a bad attitude

    • @rompevuevitos222
      @rompevuevitos222 4 года назад +29

      @@RolloTonéBrownTown pretty sure that attitude has nothing to do with it
      If anything it depends on your interest in the topic

    • @BrauschN
      @BrauschN 4 года назад +35

      @@rompevuevitos222 interest is important, but coding experience helps a lot.
      i can't even imagine, how someone new to the topic could follow. this is basically video assisted C-code
      hypes me up for going through the source, though

    • @rompevuevitos222
      @rompevuevitos222 4 года назад +13

      @@BrauschN When you're intersted in something, you can put as much time into it without getting as worn out/bored as someone who doesn't really "dig it"
      Wich considering that indeed is REALLY hard to get into coding, it's really important

  • @KeivSquirrel
    @KeivSquirrel 4 года назад +379

    How to kill Doomguy:
    1. Notice Doomguy
    2. Casually approach Doomguy
    3. Atacc Doomguy
    4. Die from Doomguy
    5. Profit for Doomguy

    • @ArtificerProductions
      @ArtificerProductions 4 года назад +1

      5.profit

    • @ej22_gc86
      @ej22_gc86 4 года назад +20

      *5. If on nightmare, respawn and attempt Atacc Doomguy again.
      *6. Repeat.

    • @jestfullgremblim8002
      @jestfullgremblim8002 4 года назад +1

      @@ej22_gc86 lmao

    • @buggy730
      @buggy730 3 года назад +1

      9. Constantly say Atlas it's what you meant to say attack.

  • @Kppilone
    @Kppilone 3 года назад +98

    This guy explains Doom and coding at the same time, and it isn't boring. I love this guy

  • @mikerueffer579
    @mikerueffer579 4 года назад +146

    Demon:"Dark lord we have come up with 2 strategy's for dealing with the doom guy. strategy 1 overwhelm him with a highly coordinated tactical assault comprised of our most elite demons. strategy 2 run up to him screaming like madmen and fire wildly. which do you choose?"
    Dark lord:"....."

    • @femi-naziolanerkek2029
      @femi-naziolanerkek2029 4 года назад +14

      Dark Lord:" ehhhhhh.............
      *the second one* "

    • @Newererviver
      @Newererviver 3 года назад +1

      well, your not wrong

    • @tatotaytoman5934
      @tatotaytoman5934 3 года назад +1

      fire from your ass if you were preoccupied previously with another target

    • @enderman5423
      @enderman5423 3 года назад +3

      Option 1 is just nuts3 wad lol

  • @dragoondirk
    @dragoondirk 4 года назад +58

    Thumbnail is absolutely hilarious.

  • @n00f
    @n00f 4 года назад +775

    Civvie: alright we're going to get into some rick and morty territory

    • @RolloTonéBrownTown
      @RolloTonéBrownTown 4 года назад +14

      Cringe yet funny

    • @n00f
      @n00f 4 года назад +55

      @Just David to be fair Rick and Morty is inherently cringe

    • @RolloTonéBrownTown
      @RolloTonéBrownTown 4 года назад +31

      @Just David rick and morty is awful and I can cringe at it just like you're allowed to like it

    • @Seth-ng5oy
      @Seth-ng5oy 4 года назад +4

      @@RolloTonéBrownTown hater

    • @bioman1hazard607
      @bioman1hazard607 4 года назад +2

      It's funny cus it's true. If you know how to logic this should be easy stuff, else it's just random words and letters...
      See what I did there ; )

  • @NightSprinter
    @NightSprinter 4 года назад +80

    I love how you use the "Gently approach" meme.

  • @kamo7293
    @kamo7293 4 года назад +32

    6:50 "so how did you die?"
    "Baron fart"

  • @ukirocom
    @ukirocom 4 года назад +79

    Incredibly densely packed video, a ton of work must have gone into this. Oh, and nice two see a couple of Anagnorisis appearances :-)

  • @bauul.
    @bauul. 4 года назад +189

    Next time anyone says "Doom is really 2D" I'm going to show them 9:49.

    • @thissitesucks905
      @thissitesucks905 3 года назад +10

      correct
      the maps are 3D
      the enemies are 2D sprites

    • @noop9k
      @noop9k 3 года назад +4

      @@thissitesucks905 Do you really believe you said something useful?

    • @illuminatidad
      @illuminatidad 3 года назад +4

      Sure doom has 3d coordinates, but nothing in the game is an actual 3d model. If that were the case, levels would be nowhere near as editable as they are.

    • @thissitesucks905
      @thissitesucks905 3 года назад +1

      @@noop9k just wanted to say it

    • @willmungas8964
      @willmungas8964 3 года назад +5

      @@illuminatidad yeah the map geometry is super simple collections of planed sprites it’s not full 3d modeling or anything, that’s why the objects and layouts are a bit limited

  • @sergeantmarcusstackerM1903
    @sergeantmarcusstackerM1903 4 года назад +23

    That is one swaggy Baron walk. Didn’t even know their backwards legs could do that

  • @zarnox3071
    @zarnox3071 4 года назад +97

    It would be nice to see some videos about features introduced in Doom 64, such as rooms above rooms not interfering with each other.

    • @happyman2212
      @happyman2212 Год назад +7

      I think doom 64 had vector environments

  • @CoTeCiOtm
    @CoTeCiOtm 4 года назад +24

    Man I'd wish this video existed 20 years ago, I had to understand most of this stuff the hard way when there wasn't that much documentation on the game, yet this still revealed stuff I wasn't aware of like Barons not turning around. Great video!

  • @wssdude
    @wssdude 4 года назад +251

    I don't know if you mentioned it anywhere before so sorry if you did... But, are you a programmer by a chance?
    Because if not, then I'm kinda curious what helped you understand C code this well.

    • @decino
      @decino  4 года назад +226

      I am.

    • @hatefuckable
      @hatefuckable 4 года назад +26

      @ElJoJos Xdxdxd I don't think I'm alone in saying that modding id games is why I learned a lot of things, including C.

    • @RolloTonéBrownTown
      @RolloTonéBrownTown 4 года назад +28

      @ElJoJos Xdxdxd i feel like most ppl watching videos this niche would fall into this category :p

    • @Seb-Storm
      @Seb-Storm 4 года назад +13

      @@RolloTonéBrownTown well I'm not a programmer but I do like to understand how things work

    • @randomname647
      @randomname647 4 года назад +3

      @@decino U are just a Zcsripter, *_Not a big Suprise_*
      Also, I have Decorate Knowledge and even at Doom builder.

  • @terrytrollface
    @terrytrollface 4 года назад +91

    That thumbnail is cursed.

  • @Taffywater
    @Taffywater 4 года назад +75

    Decino: The revenant will hit you if you get too close.
    Me: HE HOO the boney boy go B O N K

  • @Bulkvannderhuge
    @Bulkvannderhuge 4 года назад +188

    The next time someone says "game coding can't be that hard" I'm gonna be like "cool, here's a vid dissecting the code of a 27 year old game. Lemme know when it makes sense to you."

    • @hannahgreb1482
      @hannahgreb1482 4 года назад +24

      Yes. And if this was what 1990s code looked like, the 2020 stuff would be a lot more complicated!

    • @greebj
      @greebj 4 года назад +13

      This code is elegant in its simplicity. Having modded Quake 2 in the late 90s and then a bot to work with it, reverse engineering id's dense clean code was a breeze, I had zero prior experience with C++ and was able to get in there and figure out everything from the simple cluster nade mod to the server side and client side flows in days, with only a c++ syntax reference

    • @robsku1
      @robsku1 4 года назад +26

      First I thought that I would say that the code seen in this video is actually pretty elegant and easy to understand - for a programmer. Then it dawned upon me that anyone who already had experience in programming wouldn't make that statement anyway, so yeah :)

    • @noop9k
      @noop9k 3 года назад +13

      This is what makes Doom a masterpiece, and what kids, idiots and journalists don’t see behind its apparent simplicity.
      Many later bad shooters had crap AI, because their creators wasted all their time on graphics.

    • @themenacingpenguin.7152
      @themenacingpenguin.7152 Год назад +3

      @@hannahgreb1482 it's more or less the same, you forget a bracket or semicolon somewhere and reality collapses in on itself.

  • @AnonArandom
    @AnonArandom 3 года назад +23

    This is awesome! As a IT engineer, anyone out there looking to get into software dev should subscribe to this guys channel. Excellent analysis of the code and even explained how some of the bugs/in game hacks work. Great job!

    • @jsdevlog1865
      @jsdevlog1865 2 года назад +2

      As a janitorial engineer, I agree.

  • @sanctifizzle
    @sanctifizzle 4 года назад +18

    Makes me happy to see that list getting longer every video. Keep up the great content.

  • @noecarrier5035
    @noecarrier5035 4 года назад +491

    Normal people: Revenant
    Me, an intellectual: Slap Daddy

  • @MartianBuddy
    @MartianBuddy 4 года назад +19

    my god finally, been looking through my feed to find good video to watch while eat my lunch.

  • @nickplaysviola
    @nickplaysviola 4 года назад +8

    Your video editing skills are underrated. So clear, no unnecessary flowers, great visual examples. I enjoy this series as Doom was a fav of mine as a kid.

  • @thatdude3938
    @thatdude3938 4 года назад +47

    Build engine AI is even more primitive. No cones of vision, no hearing (and no ambush flags), no group aggro

  • @nortonrory
    @nortonrory 4 года назад +5

    Still the best videos. No bad timewasting jokes, great editing, and straightforward explanations of Doom's fascinating programming. Eagerly awaiting the completion of your Sunlust playthrough. Great thumbnails too.

  • @jacderida
    @jacderida 4 года назад +14

    Sorry, I don't have much to add here, but just feel compelled to thank you for the big effort this must have taken! Very interesting and insightful!

  • @alicetretyakova3971
    @alicetretyakova3971 4 года назад +11

    So much knowledge in one video, I'll need to rewatch it some more times to truly absorb it

  • @BirgerBurgerBargir
    @BirgerBurgerBargir 4 года назад +8

    This is maybe one of my all-time favorite videos ever. As just a hobby game programmer, it is so inspiring. I really wish there were more videos like this, explaining source code in such a rapid fashion.
    Best video ever.

  • @zabuaaronmetal0399
    @zabuaaronmetal0399 4 года назад +10

    decino, I have to say I really love the detail you go into with DOOM's source code. This series is criminally underrated. Keep doing it!!

  • @XzMondayNightzX
    @XzMondayNightzX 4 года назад +60

    What? The chaingunner actually has more than one line of code other than telling it to shoot gun until player in view is dead?
    Edit - 9:34 I remember learning from civvie that the red symbol on the side of that door means there's demons inside. I'm learning so much I'm going to upgrade from tiny spider to Rick and Morty Mastermind spider in no time.

  • @FelihKitten
    @FelihKitten 4 года назад +6

    i'm glad you specify "no not oney" in every video now because it genuinely does catch me off guard every time i hear the name and i was wondering about it but i didn't want to ask cause thats weird.

    • @karlk5801
      @karlk5801 4 года назад +1

      "no not oney"?

  • @masterneme
    @masterneme 4 года назад +37

    WTF man, I was literally thinking the other day: "Wouldn't it be cool if decino made a video about Doom's AI?" 😀
    Great video, very thorough, I guess it took you a lot of time...

  • @BanishedSilentShadow3318
    @BanishedSilentShadow3318 4 года назад +38

    Doom guy: oh you're approaching me instead of running away?
    Baron of hell: how else am I gonna rip you apart?

  • @Jan_Strzelecki
    @Jan_Strzelecki 4 года назад +23

    3:53 - when you play Revenants anim at this speed, it looks like he's aggressively finger-snapping at you :)

  • @medexamtoolscom
    @medexamtoolscom 4 года назад +29

    I like how you give detailed specifications by poring through the code. It's easy to forget it's just a computer procedure when you actually play it, but you really give a coders level understanding of everything. It's amazing that you can just look at the code and say "ahhh, I understand all the implications of all of this". If you had written the code and were proudly explaining how the code you created worked that would be one thing, but you're analyzing open source code made by someone else.

  • @EduardoAndFriends
    @EduardoAndFriends 4 года назад +6

    Fascinating stuff, decino. Love all of these analytics videos. Thanks!

  • @stuff31
    @stuff31 4 года назад +8

    I like how his videos are quite serious but the thumbnail is made to look funny and joke about

  • @SASSY-tw6mv
    @SASSY-tw6mv 4 года назад +48

    0:24 y’all mind if I praise the lord

  • @StefanoBorini
    @StefanoBorini 4 года назад +8

    The most impressive thing is how well written the code is... It's a joy to any programmers' eyes

  • @alexeiman8925
    @alexeiman8925 4 года назад +22

    This vid in a nutshell:
    1- Casually approach doomguy
    2-Slap him
    3- Repeat

  • @AAAlvarezXIII
    @AAAlvarezXIII 4 года назад +12

    The thumbnail: CASUALLY APPROACH CHILD

  • @boden_staendig
    @boden_staendig 4 года назад +3

    Now I finally understand why some monsters won't walk down some stairs. And also why it's possible to keep shooting at an idle monster until it dies, without it ever waking up and attacking the player. Thank you so much for all those explanations.

  • @DavidXNewton
    @DavidXNewton 4 года назад +2

    Another amazing video - such a stack of special cases! The bit about enemies not waking up on their second idle frame is something I hadn't realized

  • @d4n737
    @d4n737 Год назад +2

    0:26 The Revenant looks like he's slappin someone's booty really energetically with both hands, I love it

  • @carljohnson4285
    @carljohnson4285 4 года назад +8

    Imagine if modern gaming had enemy AI this elaborate. DOOM was and still is ahead of it's time.

  • @legice
    @legice 4 года назад +9

    I have played the old doom games exactly once, but just listening how the logic behind the games works is fascinating! =)

  • @vanillabeans32087
    @vanillabeans32087 4 года назад +14

    Amazing how much programming goes into just making the enemies do something like decide whether to remain idle. Makes you appreciate designers more, instead of wanting to complain about glitches 😄 Also realize just how ahead of the curve id was

  • @angiovanni7356
    @angiovanni7356 2 года назад +1

    Loved the effort put into your thumbnails

  • @VoidloniXaarii
    @VoidloniXaarii Год назад +1

    I was surprised the sound propagation was so physicality correct going through sectors and being blocked by closed doors... Thank you for another great insight. Spent many tens of hours staring into Carmack's code yet never figured this out

  • @serafettin6116
    @serafettin6116 4 года назад +4

    Most enemies: Walks towards the Doomguy
    Pinky Demons: Zig-zags in the whole place

  • @SmokeyOwOs
    @SmokeyOwOs 4 года назад +8

    Step one: enemy approachs doomguy
    Step two: enemy attacks doomguy
    Step three: Enemy becomes an introvert and runs away

  • @taztaz54
    @taztaz54 4 года назад +4

    The work for understanding the AI working, just deserve the blue thumb. Thank you for the work, the search, and the time you take to make us understand

  • @tristarnova3454
    @tristarnova3454 Год назад +2

    9:24 ah Barney the archvile, he’s the most helpful demon in the entire franchise, able to allow you to skip level 27 in doom 2

  • @realasifromreal
    @realasifromreal 4 года назад +7

    6:55 why did i read that line of code as, "MOTHERFUCKER JUST ATTACKED."

  • @zakazany1945
    @zakazany1945 4 года назад +5

    Another interesting episode about Doom mechanics!
    Would love to see one about splash damage, too.

  • @edgelord8337
    @edgelord8337 4 года назад +16

    Imp: I have a plan to defeat doomguy
    1# spot doomguy
    2# approach doomguy
    3# attach doomguy
    4# celebrate

    • @xyzzy-dv6te
      @xyzzy-dv6te 4 года назад +1

      Protip: To defeat Doomguy, shoot him until he dies

    • @shrekonion8307
      @shrekonion8307 4 года назад

      Oh you meant attack

  • @bundleoffuck2986
    @bundleoffuck2986 4 года назад +3

    I really like how simple the scripting the Doom A.I. is;

  • @RandomAwesomeDude
    @RandomAwesomeDude 3 года назад +4

    Its crazy to see how simple the coding is, but how complex the construction of all the functions combined works

  • @Zinfidel1
    @Zinfidel1 4 года назад

    Man, those recent Doom ports are all sorts of weird. Really great video man. Keep it up.
    Also, 9:49 haha. It's funny to see that from the side. It's like 'Flappy Cacodemon'.

  • @shii5795
    @shii5795 4 года назад +5

    This sounds like how my youngest Brothers brain works. I'll have to keep an eye out for his wake up sound, and his raise state animation.

  • @Danlovar
    @Danlovar 4 года назад +6

    Doomguy: Why are you running? Why are you running?
    Enemy: (goes slow)

  • @ripeyyyy7530
    @ripeyyyy7530 4 года назад +77

    Did anyone notice that decino changed his circle, instead with a orange background he putted gray.

    • @ldalipis
      @ldalipis 4 года назад +3

      I really liked that yellow!

    • @FakeAdminZ
      @FakeAdminZ 4 года назад +1

      why did I read that as decino changed his dick. Hmm. I seem to have issues.

    • @bakruptfern329
      @bakruptfern329 4 года назад

      I thought I was just imagining it

    • @mohamedamineboughadou4096
      @mohamedamineboughadou4096 4 года назад +3

      Gathering The Easter Eggs

  • @ArkVogel
    @ArkVogel 4 года назад

    1:53 Decino, you never cease to amaze with details I never knew about a game that I've played for as long as it existed. Kudos! :D

  • @IgnisRex64
    @IgnisRex64 4 года назад +3

    0:32 That Revenant is GROOVIN'!

  • @dookan755
    @dookan755 4 года назад +5

    While cyber demon walks towards doomguy while doomguy just stands there
    *M E N A C I N G L Y*

  • @soviet8578
    @soviet8578 3 года назад +4

    Doom guy: randomly punches air demons: DID I JUST HEAR SOMETHING

  • @the643212816
    @the643212816 4 года назад +7

    What really blew me away is that Carmack opted to use bitwise operations whenever possible. Take the bit at 12:04 for example: the enemy's height is quartered using a bit shift two places to the right, and then it gets shifted back 2 places when resurrected. This is especially important here since subtractions and multiplications are fairly expensive operations computation-wise, while bitwise operations are about as cheap as you can get.
    It's pretty insane to what lengths he went to optimize the game, and how inventive he was at it.

  • @simon-ricardokuhn1713
    @simon-ricardokuhn1713 4 года назад +6

    So that's why some of my monsters fart out projectiles. I also had an A_FaceTarget oversight!

  • @MistaHoward
    @MistaHoward 4 года назад +35

    The xdeath state, where enemies are gibbed, is not to be confused with the Exdeath state, where THE LAWS OF THE UNIVERSE MEAN NOTHING

    • @Omnicrom
      @Omnicrom 4 года назад +2

      Now THERE'S a fight I'd pay to see.

    • @Ireallylikeeggs
      @Ireallylikeeggs 4 года назад

      Yo I appreciate this comment