How Doom's Enemy AI Works

Поділитися
Вставка
  • Опубліковано 26 вер 2024

КОМЕНТАРІ • 2,3 тис.

  • @decino
    @decino  4 роки тому +3278

    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 роки тому +4

      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

  • @CROCaptions
    @CROCaptions 4 роки тому +3949

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

  • @dsuse22
    @dsuse22 4 роки тому +3447

    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 роки тому +344

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

    • @roadroller8851
      @roadroller8851 4 роки тому +277

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

    • @bioman1hazard607
      @bioman1hazard607 4 роки тому +114

      Here comes flame boi...

    • @ignis5673
      @ignis5673 4 роки тому +29

      @Ll Dd coming right to me

    • @JustAJosuke
      @JustAJosuke 4 роки тому +26

      @ beat the shit out of

  • @beteorite6404
    @beteorite6404 4 роки тому +3827

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

    • @xeanderman6688
      @xeanderman6688 3 роки тому +103

      Real shit indeed

    • @kingd8232
      @kingd8232 3 роки тому +297

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

    • @jestfullgremblim8002
      @jestfullgremblim8002 3 роки тому +28

      @@kingd8232 lmao

    • @sewpkan1297
      @sewpkan1297 3 роки тому +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 роки тому +2903

    "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 роки тому +109

      R4ND0MCR4P123 he is lol

    • @ravenclawtom
      @ravenclawtom 4 роки тому +78

      well yeah he is

    • @frallbobroggins4005
      @frallbobroggins4005 4 роки тому +261

      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 роки тому +130

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

    • @Johndoe200I
      @Johndoe200I 4 роки тому +72

      Probably why he can kill demons with his fist

  • @ThalesPanke
    @ThalesPanke 4 роки тому +1158

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

    • @its_n0mad_lads
      @its_n0mad_lads 3 роки тому +17

      Lmao

    • @GhostofFarta
      @GhostofFarta 3 роки тому +73

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

    • @tl1882
      @tl1882 2 роки тому +24

      @@GhostofFarta focusing its eye i guess

    • @CT-1118
      @CT-1118 2 роки тому +68

      @@GhostofFarta A monocle, obviously

    • @WaituSnaiku
      @WaituSnaiku 2 роки тому +5

      @@CT-1118 surley

  • @nightmaregats
    @nightmaregats 4 роки тому +2659

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

    • @thebiolibrary5572
      @thebiolibrary5572 3 роки тому +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.

    • @SamXNE_997
      @SamXNE_997 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 роки тому +1322

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

    • @DjTake1One
      @DjTake1One 4 роки тому +159

      "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 роки тому +10

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

  • @breakfast3006
    @breakfast3006 4 роки тому +1419

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

  • @geogaming4483
    @geogaming4483 4 роки тому +1127

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

  • @taison6466
    @taison6466 4 роки тому +405

    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.

  • @professormeme6584
    @professormeme6584 4 роки тому +4495

    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 роки тому +140

      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.

  • @phantomspaceman
    @phantomspaceman 4 роки тому +450

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

  • @tehberral
    @tehberral 4 роки тому +416

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

    • @cfdeers
      @cfdeers 4 роки тому +62

      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 роки тому +36

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

  • @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 3 роки тому +9

      No You have chosen death I merely started the conflict

    • @doomfan6493
      @doomfan6493 2 роки тому +5

      Doomguy: you fool, *I am death*

    • @Breakaway-ic5gj
      @Breakaway-ic5gj 2 роки тому +3

      Now all of Hell knows you are here!

  • @SaltyRamen.
    @SaltyRamen. 3 роки тому +238

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

    • @PKMNgamer99
      @PKMNgamer99 8 місяців тому +7

      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

  • @5udimax
    @5udimax 4 роки тому +759

    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 роки тому +101

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

    • @le_moktar
      @le_moktar 4 роки тому +73

      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 роки тому +90

      Benevolent hyperintelligent juvenile delinquent John carmack

    • @bioman1hazard607
      @bioman1hazard607 4 роки тому +73

      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 роки тому +618

    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

  • @johnarmstrong5533
    @johnarmstrong5533 4 роки тому +182

    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.

  • @yourfriendlyneighborhoodla2091
    @yourfriendlyneighborhoodla2091 4 роки тому +131

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

  • @gavriloprincip4508
    @gavriloprincip4508 4 роки тому +550

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

  • @Mister100Percent
    @Mister100Percent 4 роки тому +1849

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

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

  • @jonsku6662
    @jonsku6662 4 роки тому +46

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

  • @zarnox3071
    @zarnox3071 4 роки тому +93

    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 9 місяців тому +7

      I think doom 64 had vector environments

  • @captainjurgh8142
    @captainjurgh8142 4 роки тому +523

    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 роки тому +63

      @@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 роки тому +60

      @@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 роки тому +6

      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 Рік тому +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.

  • @mikerueffer579
    @mikerueffer579 4 роки тому +144

    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 3 роки тому +13

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

    • @Newererviver
      @Newererviver 2 роки тому +1

      well, your not wrong

    • @tatotaytoman5934
      @tatotaytoman5934 2 роки тому +1

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

    • @enderman5423
      @enderman5423 2 роки тому +2

      Option 1 is just nuts3 wad lol

  • @Tkdboy-gk1wk
    @Tkdboy-gk1wk 4 роки тому +54

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

  • @kamo7293
    @kamo7293 4 роки тому +32

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

  • @Ashachi
    @Ashachi 4 роки тому +272

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

  • @Ichijopaniponi
    @Ichijopaniponi 4 роки тому +257

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

    • @demogorgonzola
      @demogorgonzola 4 роки тому +30

      Baron of Farts! :)

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

  • @T-West
    @T-West 4 роки тому +86

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

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

  • @KeivSquirrel
    @KeivSquirrel 4 роки тому +380

    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 3 роки тому +21

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

    • @jestfullgremblim8002
      @jestfullgremblim8002 3 роки тому +1

      @@ej22_gc86 lmao

    • @buggy730
      @buggy730 3 роки тому +1

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

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

    • @BigboiiTone
      @BigboiiTone 4 роки тому +14

      Cringe yet funny

    • @n00f
      @n00f 4 роки тому +55

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

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

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

  • @GlitchCityMissingNo
    @GlitchCityMissingNo 4 роки тому +1432

    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 роки тому +74

      me watching every educational video

    • @BigboiiTone
      @BigboiiTone 4 роки тому +11

      Only if you have a bad attitude

    • @rompevuevitos222
      @rompevuevitos222 4 роки тому +29

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

    • @BrauschN
      @BrauschN 4 роки тому +36

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

  • @NightSprinter
    @NightSprinter 4 роки тому +80

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

  • @Kppilone
    @Kppilone 3 роки тому +98

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

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

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

    • @BigboiiTone
      @BigboiiTone 4 роки тому +1

      @@toretronio9030 kool!

    • @arycontiello2771
      @arycontiello2771 4 роки тому

      Ah, a man of culture

  • @noecarrier5035
    @noecarrier5035 4 роки тому +490

    Normal people: Revenant
    Me, an intellectual: Slap Daddy

  • @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 роки тому +225

      I am.

    • @hatefuckable
      @hatefuckable 4 роки тому +25

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

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

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

  • @thatdude3938
    @thatdude3938 4 роки тому +47

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

  • @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 роки тому +14

      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.

  • @terrytrollface
    @terrytrollface 4 роки тому +91

    That thumbnail is cursed.

  • @sergeantmarcusstackerM1903
    @sergeantmarcusstackerM1903 4 роки тому +23

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

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

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

  • @SASSY-tw6mv
    @SASSY-tw6mv 4 роки тому +46

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

  • @alexeiman8925
    @alexeiman8925 4 роки тому +22

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

  • @sanctifizzle
    @sanctifizzle 4 роки тому +18

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

  • @AnonArandom
    @AnonArandom 3 роки тому +22

    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.

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

  • @MartianBuddy
    @MartianBuddy 4 роки тому +19

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

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

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

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

  • @alicetretyakova3971
    @alicetretyakova3971 4 роки тому +11

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

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

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

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

  • @stuff31
    @stuff31 3 роки тому +8

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

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

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

  • @AAAlvarezXIII
    @AAAlvarezXIII 4 роки тому +12

    The thumbnail: CASUALLY APPROACH CHILD

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

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

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

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

  • @simon-ricardokuhn1713
    @simon-ricardokuhn1713 4 роки тому +6

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

  • @StefanoBorini
    @StefanoBorini 3 роки тому +8

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

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

  • @alessiobubbles5345
    @alessiobubbles5345 4 роки тому +14

    1:57 It's Plutonia basically!🥵

  • @carljohnson4285
    @carljohnson4285 4 роки тому +8

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

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

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

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

  • @SmokeyOwOs
    @SmokeyOwOs 4 роки тому +8

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

  • @oaisian8030
    @oaisian8030 4 роки тому +10

    Yup, that's my history class teacher.

  • @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 10 місяців тому

      barney calhoun the archvile security guard

  • @soviet8578
    @soviet8578 3 роки тому +4

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

  • @Danlovar
    @Danlovar 4 роки тому +6

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

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

  • @bundleoffuck2986
    @bundleoffuck2986 4 роки тому +3

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

  • @realasifromreal
    @realasifromreal 4 роки тому +7

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

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

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

  • @TheNethIafin
    @TheNethIafin 4 роки тому +18

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

    • @decino
      @decino  4 роки тому +9

      If only.

  • @purplekey9330
    @purplekey9330 4 роки тому +17

    Yeahhh gimme that code goodness

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

  • @angiovanni7356
    @angiovanni7356 2 роки тому +1

    Loved the effort put into your thumbnails

  • @serafettin6116
    @serafettin6116 4 роки тому +4

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

  • @dudunikolaishvili8096
    @dudunikolaishvili8096 4 роки тому +6

    The Baron with completely straight legs is cursed

  • @MistaHoward
    @MistaHoward 4 роки тому +36

    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 3 роки тому

      Yo I appreciate this comment

  • @abyssbnana8542
    @abyssbnana8542 3 роки тому +3

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

  • @RandomAwesomeDude
    @RandomAwesomeDude 3 роки тому +4

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

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

  • @ScriptDetect
    @ScriptDetect 4 роки тому +4

    ''You shot them, they get hurt and they die.''
    - decino