How Doom's Enemy AI Works

แชร์
ฝัง
  • เผยแพร่เมื่อ 7 ม.ค. 2025

ความคิดเห็น • 2.2K

  • @decino
    @decino  4 ปีที่แล้ว +3300

    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 ปีที่แล้ว +4541

    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 ปีที่แล้ว +142

      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 ปีที่แล้ว +3996

    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 ปีที่แล้ว +3860

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

    • @xeanderman6688
      @xeanderman6688 4 ปีที่แล้ว +104

      Real shit indeed

    • @kingd8232
      @kingd8232 4 ปีที่แล้ว +299

      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 4 ปีที่แล้ว +12

      I like your party hat

  • @R4ND0MCR4P123R4ND0MN3SS
    @R4ND0MCR4P123R4ND0MN3SS 4 ปีที่แล้ว +2981

    "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 ปีที่แล้ว +115

      R4ND0MCR4P123 he is lol

    • @ravenclawtom
      @ravenclawtom 4 ปีที่แล้ว +84

      well yeah he is

    • @frallbobroggins4005
      @frallbobroggins4005 4 ปีที่แล้ว +268

      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 ปีที่แล้ว +133

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

    • @Johndoe200I
      @Johndoe200I 4 ปีที่แล้ว +75

      Probably why he can kill demons with his fist

  • @carljohan9265
    @carljohan9265 4 ปีที่แล้ว +2821

    "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 ปีที่แล้ว +3487

    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 ปีที่แล้ว +350

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

    • @roadroller8851
      @roadroller8851 4 ปีที่แล้ว +281

      "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 ปีที่แล้ว +2670

    "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 ปีที่แล้ว +1341

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

    • @DjTake1One
      @DjTake1One 4 ปีที่แล้ว +163

      "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 ปีที่แล้ว +1176

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

    • @its_n0mad_lads
      @its_n0mad_lads 3 ปีที่แล้ว +17

      Lmao

    • @GhostofFarta
      @GhostofFarta 3 ปีที่แล้ว +76

      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 ปีที่แล้ว +1140

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

    • @doomfan6493
      @doomfan6493 3 ปีที่แล้ว +16

      It do be like that tho

    • @bluefin844
      @bluefin844 2 ปีที่แล้ว +17

      lost soul: mimir

    • @CatInSuit69
      @CatInSuit69 3 หลายเดือนก่อน

      a mimir 😭

  • @breakfast3006
    @breakfast3006 4 ปีที่แล้ว +1429

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

    • @ar_xiv
      @ar_xiv 4 ปีที่แล้ว +44

      is there a reference I'm not getting

    • @breakfast3006
      @breakfast3006 4 ปีที่แล้ว +18

      Pocari S yeah

    • @fartsmelly1348
      @fartsmelly1348 4 ปีที่แล้ว +4

      Real

    • @heyyou9472
      @heyyou9472 4 ปีที่แล้ว +3

      No.

    • @ar_xiv
      @ar_xiv 4 ปีที่แล้ว +10

      @@breakfast3006 thx

  • @phantomspaceman
    @phantomspaceman 4 ปีที่แล้ว +456

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

    • @Danlovar
      @Danlovar 4 ปีที่แล้ว +23

      Or 60 archviles.

    • @Psychoangel-d23
      @Psychoangel-d23 4 ปีที่แล้ว +53

      *Typing of IDDQD at mach 10 speed intensifies*

    • @theholycrusaderjacknuke722
      @theholycrusaderjacknuke722 4 ปีที่แล้ว +4

      Top coment god

    • @jestfullgremblim8002
      @jestfullgremblim8002 4 ปีที่แล้ว +3

      @@Psychoangel-d23 lmao a pro gamer here

    • @Psychoangel-d23
      @Psychoangel-d23 4 ปีที่แล้ว +14

      @@jestfullgremblim8002 You gotta draw the line somewhere. And mass revenant spam is mine.

  • @gavriloprincip4508
    @gavriloprincip4508 4 ปีที่แล้ว +553

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

  • @mordecaijackson461
    @mordecaijackson461 4 ปีที่แล้ว +396

    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!

  • @taison6466
    @taison6466 4 ปีที่แล้ว +409

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

    • @memegraveyard9502
      @memegraveyard9502 4 ปีที่แล้ว +26

      Nah, he’s more into wolfenstein

    • @sharonmott2888
      @sharonmott2888 4 ปีที่แล้ว +13

      Nah he’s into fallout

    • @CEfect
      @CEfect 4 ปีที่แล้ว +7

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

    • @lemon_curry_
      @lemon_curry_ 4 ปีที่แล้ว +8

      Idiots. He plays Halo.

    • @fsedwuncleriii4190
      @fsedwuncleriii4190 3 ปีที่แล้ว +26

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

  • @Mister100Percent
    @Mister100Percent 4 ปีที่แล้ว +1852

    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.”

    • @shirohimayumikira234
      @shirohimayumikira234 4 ปีที่แล้ว +54

      Shiro: ''It's a trap!''

    • @jonathanblankenship2820
      @jonathanblankenship2820 4 ปีที่แล้ว +83

      It was me, Doomguy!

    • @oscargonzalez3599
      @oscargonzalez3599 4 ปีที่แล้ว +33

      When your wish of "dying" just reach a new level.

    • @DocLudwig
      @DocLudwig 4 ปีที่แล้ว +20

      Jojo references

    • @aulderx1437
      @aulderx1437 4 ปีที่แล้ว +10

      *Doomguy holding a super shotgun*
      "HOHO, I could say the same about you!" *BOOM*

  • @SaltyRamen.
    @SaltyRamen. 3 ปีที่แล้ว +241

    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

  • @yourfriendlyneighborhoodla2091
    @yourfriendlyneighborhoodla2091 4 ปีที่แล้ว +135

    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"

  • @tehberral
    @tehberral 4 ปีที่แล้ว +422

    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 ปีที่แล้ว +38

      ​@@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 ปีที่แล้ว +1

      @Agent 005 He did, but prioritizes AI now.

  • @johnarmstrong5533
    @johnarmstrong5533 4 ปีที่แล้ว +184

    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.

  • @generalgk
    @generalgk 4 ปีที่แล้ว +622

    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

  • @Tkdboy-gk1wk
    @Tkdboy-gk1wk 4 ปีที่แล้ว +54

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

  • @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.

  • @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

  • @Ashachi
    @Ashachi 4 ปีที่แล้ว +274

    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: th-cam.com/video/fLzz51ReF20/w-d-xo.html
      Suburbs - The hole is on the left, in the wall just below the ledge that leads to the toxic pit: th-cam.com/video/FOcDWLTnk-s/w-d-xo.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.

  • @mikerueffer579
    @mikerueffer579 4 ปีที่แล้ว +147

    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

  • @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!!

  • @Kppilone
    @Kppilone 4 ปีที่แล้ว +98

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

  • @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.

  • @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

  • @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.

  • @zarnox3071
    @zarnox3071 4 ปีที่แล้ว +100

    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

  • @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 4 ปีที่แล้ว +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.

  • @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

  • @T-West
    @T-West 4 ปีที่แล้ว +86

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

  • @AnonArandom
    @AnonArandom 3 ปีที่แล้ว +24

    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 ปีที่แล้ว +3

      As a janitorial engineer, I agree.

  • @thatdude3938
    @thatdude3938 4 ปีที่แล้ว +47

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

    • @theylivewesleep.5139
      @theylivewesleep.5139 2 ปีที่แล้ว +4

      Bubblegum engine.

    • @yurifairy2969
      @yurifairy2969 ปีที่แล้ว

      that is insane

    • @michaelandreipalon359
      @michaelandreipalon359 ปีที่แล้ว +1

      Primitive, maybe, but you can't help but accept that a bunch of games did interactive justice with it, especially Blood.

  • @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 ปีที่แล้ว +32

      @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 ; )

  • @dragoondirk
    @dragoondirk 4 ปีที่แล้ว +58

    Thumbnail is absolutely hilarious.

  • @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 :-)

    • @decino
      @decino  4 ปีที่แล้ว +19

      But of course, that map's a masterpiece.

    • @RolloTonéBrownTown
      @RolloTonéBrownTown 4 ปีที่แล้ว

      Correct

    • @toretronio9030
      @toretronio9030 4 ปีที่แล้ว +3

      Fan fact: Anagnorisis means recognition in Greek. Now let's see if this has anything to do with the map

    • @RolloTonéBrownTown
      @RolloTonéBrownTown 4 ปีที่แล้ว +1

      @@toretronio9030 kool!

    • @arycontiello2771
      @arycontiello2771 4 ปีที่แล้ว

      Ah, a man of culture

  • @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!

  • @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"

    • @CyberSZ
      @CyberSZ 2 ปีที่แล้ว +1

      LMAO

  • @bauul.
    @bauul. 4 ปีที่แล้ว +189

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

    • @thissitesucks905
      @thissitesucks905 4 ปีที่แล้ว +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

  • @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...

  • @SASSY-tw6mv
    @SASSY-tw6mv 4 ปีที่แล้ว +49

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

  • @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

  • @terrytrollface
    @terrytrollface 4 ปีที่แล้ว +91

    That thumbnail is cursed.

  • @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.

  • @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.

  • @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.

  • @sanctifizzle
    @sanctifizzle 4 ปีที่แล้ว +18

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

  • @nortonrory
    @nortonrory 4 ปีที่แล้ว +6

    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.

  • @noecarrier5035
    @noecarrier5035 4 ปีที่แล้ว +491

    Normal people: Revenant
    Me, an intellectual: Slap Daddy

  • @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!!

  • @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?

  • @MartianBuddy
    @MartianBuddy 4 ปีที่แล้ว +19

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

  • @alexeiman8925
    @alexeiman8925 4 ปีที่แล้ว +22

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

  • @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!

  • @StefanoBorini
    @StefanoBorini 4 ปีที่แล้ว +8

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

  • @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 :)

  • @alicetretyakova3971
    @alicetretyakova3971 4 ปีที่แล้ว +11

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

  • @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"?

  • @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.

  • @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

    • @UH-60_Blackhawk
      @UH-60_Blackhawk ปีที่แล้ว

      barney calhoun the archvile security guard

  • @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

  • @EduardoAndFriends
    @EduardoAndFriends 4 ปีที่แล้ว +6

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

  • @carljohnson4285
    @carljohnson4285 4 ปีที่แล้ว +8

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

  • @AAAlvarezXIII
    @AAAlvarezXIII 4 ปีที่แล้ว +12

    The thumbnail: CASUALLY APPROACH CHILD

  • @stuff31
    @stuff31 4 ปีที่แล้ว +8

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

  • @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

  • @SmokeyOwOs
    @SmokeyOwOs 4 ปีที่แล้ว +8

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

  • @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*

  • @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.

  • @d4n737
    @d4n737 ปีที่แล้ว +2

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

  • @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! =)

  • @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

  • @serafettin6116
    @serafettin6116 4 ปีที่แล้ว +4

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

  • @zakazany1945
    @zakazany1945 4 ปีที่แล้ว +5

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

  • @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'.

  • @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

  • @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

  • @coincident
    @coincident 4 ปีที่แล้ว +8

    Amazing video as always - that is a LOT of information; you made me feel curious about looking into the code directly :)
    btw decino have you discovered yet why do (or it looks like) revenants fire homing missiles more than 50% of the time?

    • @decino
      @decino  4 ปีที่แล้ว +2

      I guarantee you it's 50% chance. I wrote some code to simulate it: pastebin.com/b9pzFsrL

  • @soviet8578
    @soviet8578 4 ปีที่แล้ว +4

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

  • @angiovanni7356
    @angiovanni7356 2 ปีที่แล้ว +1

    Loved the effort put into your thumbnails

  • @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

  • @the643212816
    @the643212816 4 ปีที่แล้ว +8

    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.

  • @Danlovar
    @Danlovar 4 ปีที่แล้ว +6

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

  • @RandomAwesomeDude
    @RandomAwesomeDude 3 ปีที่แล้ว +4

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

  • @simon-ricardokuhn1713
    @simon-ricardokuhn1713 4 ปีที่แล้ว +6

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

  • @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.

  • @TheNethIafin
    @TheNethIafin 4 ปีที่แล้ว +18

    5:07 is that a hint on Peter doing the Nightmare! run of Eviternity?

    • @decino
      @decino  4 ปีที่แล้ว +9

      If only.

  • @GrumpyMonk86
    @GrumpyMonk86 4 ปีที่แล้ว +9

    I would love to see a side by side comparison on how AI in FPS is usually done today compared to doom's.

  • @bundleoffuck2986
    @bundleoffuck2986 4 ปีที่แล้ว +3

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

  • @abyssbnana8542
    @abyssbnana8542 4 ปีที่แล้ว +3

    “All mortally challenged staff, please exit the building.”

  • @marcodragon4995
    @marcodragon4995 4 ปีที่แล้ว +2

    It always amazed me that a game as old as Doom managed to have some fairly complex ai behavior, with enemies that will in-fight, react to noises made by the player, and even search for the player. It gives the game a surprising level of complexity, where experienced players can actually make noises to lure enemies into more favorable positions and avoid making noises in certain sections to keep some enemies from moving. It introduces a new sort of psuedo-stealth system for high-skill players to take advantage of