Just to inform you. Our university course of modelling lacks some real-life examples. I suggested to use this video as the example of usage of a table-based RNG, and professor agreed. Be proud of your work
Imagine being a zombie man and accidentally killing doom guy due to the rng saying that you’re suddenly an elite sniper instead of a blind old man with a nerf gun
@@TVdinnermasterchef I think that’s when the A.I. might hit you if you’re either not moving fast enough or they calculate where you’re heading and lead their shot
@@truefailure6359 slower movement probably allows them to lead easier too. Headshot from 500 yards while doing an SR50 over a gap, yet still only do 3 points of damage. Give that guy a medal, then fire his ass
It's amazing how innovative this game really was, and you pointed out how a lot of those innovations are so behind the scenes you were never supposed to notice them at all!
@bloodrunsclear - Wolfenstein 3D did it before Doom, and Ultima Underworld did it before Wolfenstein (and was, in some ways, more advanced even than Doom 2 - but ran at lower frame rates). Id software created highly optimised algorithms, but did not invent the concept of texture-mapped "2.5D" games.
@@bloodrunsclear It's not simulated. It is 3D. It's a myth that the game is 2D. Projectiles fly entirely in a 3D pattern when enemies/yourself is at a different level, showing the game clearly has height information. And you know, there are PLATFORMS in the game, windows etc. Stop saying the game isn't 3D just because the map editor behaves like 2D. Goddamit, so tired of this stupid myth.
that's the genius of old RNG systems. without a good way to actually do it, they rely on the randomness of the player's interaction itself and re-purposed that randomness for its own
All games are 100% deterministic. (unless there's an oddball I don't know about) Computers are incapable of producing true random numbers. The only thing that varies between games is how the Pseudorandom number generator works, how large of a pool of numbers it has, and how well it's set up to truly match the expected outcome of actual randomness. That, and how seed values are chosen dictates how random a game appears to be... But it's ALWAYS deterministic. Whether it seems to be anything else says more about how they initialise things. A common strategy on more modern games is to get your PRNG seed values from the windows system clock. Since time never has the same value twice, the initial starting point is always different, so things aren't repeatable unless you keep track of what the seed was when you started... There really isn't any such thing as true randomness in games though...
@@KuraIthys Computers are not incapable of producing true random numbers, it's just generally more useful to use pseudorandom number generators. You can easily get true randomness by measuring atmospheric noise or fluctuations in temperature or some other physical phenomenon.
@@MrZoolook Agreed. I didn't say the computer "creates" the numbers, I said it "produces" the numbers, as in it takes the information gathered from the external environment and turns that into a sequence of true random numbers. That said, there are electronic components that are capable of creating true randomness which some computers have, in which case the numbers are generated entirely by the computer, with no external influence.
@@jesuscrist3512 the longer milk remains in the bowl of cereal, the stronger the Icon of Sin becomes? What about the demons that use water as a replacement to milk?
That voice personally scared the crap out of me. Perfect timing; I was expecting something _particularly_ horrifying, nevertheless I was not disappointed. Great job to whoever that was. 👌
Imagine how those 2 guys are bored of their miserable existance. They've been standing on these stairs for decades, achivieving nothing. They never ever killed a doomguy. And they die miserably every time, humiliated by a chainsaw. Not surprisingly they also hate each other, all stories told, all jokes remembered and painfully echoing in their brains. Each of them two wants to subdue the other one to dominate at least in this small room. But they can't move until alerted! This game isn't player's Hell - it's those 2 guys hell!!!
I never realized that enemy damage AND your own damage was that random. I knew it felt like sometimes a projectile would hit harder than usual, or less hard than usual, but I subconsciously assumed it had something to do with how directly it hit you or something.
I remember them saying that in Doom 3 they had per-pixel hit detection instead of hit boxes that surrounded otherwide spindly arms / torsos. They thought they needed to tweak enemy health as they all seemed to suddenly be bullet sponges... actually, the testers were just missing.
The most embarrasing is the RANGE of those numbers! I never realized a Baron could punch for 8 or 16 points... Or a Cyberdemon 20 points. I always thought there is some minimal damage plus a small random variation. And it turned out to be a direct product of a small "base" and rnd(8), much like dice roll in D&D.
Everything as old as Doom used basic RNG tables, some just hide it better than others. It wasn't until the past decade/decade in a half, that RNG has been minimized as much as possible. I mean look at the difference between Morrowind and Oblivion.
Wonder if this doesn't occur in the console versions? I grew up on the PS1 versions and can't recall lava or acid ever randomly causing damage while in a radiation suit...
Love this series. Having worked as a programmer in a few game studios, I can say that things have changed a lot since then! Doom had to run on very limited hardware, so nearly everything was part of the code and compiled in the executable. Today, anyone who hardcodes values like this would be scheduled to have a serious meeting with the project lead.
One of the reasons they did it this way, wasn't just to "prevent network desync," but to reduce the amount of network traffic to run while keeping sync. Instead of sending a vector which had been randomized on one machine over the network, only the random offset needed to be sent to be calculated on each machine independently.
@@dsandoval9396 instead of constantly updating the computer about which values to use, it just needs to send which offset (how deep it is in the list) instead
Imp: "I died! Quick give me a number to see which way i fall" this is so interesting. I started playing Doom again bc of your vids. It just popped up in my recommended vids and ive watched quite a few of yours and subbed.
Also funny to note with the RNG table all set to the same value is that Doomguy's face constantly stares in the same direction (except when a non-RNG face would play, like firing a weapon continuously).
On the surface this seems like a simple game. When you get down into it though a lot of this is rather ingenious. Especially the stuck attempts and the use of randomized angles when firing at an invisible Doom Guy.
I think it often turns out that simple is actually exceedingly complicated. It's relatively easy to shovel a ton of random crap into something to make it seem expansive, but when you have such a focused, narrow goal, it turns out that you have to think very, very carefully about every little thing to make it seem just right.
and the bigger surprise is the code is so goddamn easy to understand even for a beginner programmer like me ?!?!?!?!?! when my code reaches enough lines that it can't be considered a script it turns into spaghetti that even i don't understand.
I never knew about the leaky rad suit until now. When I was like 13, I was doing a no death UV run and failed due to that. I always blamed it on a bug. Wow.
I've played doom for years, and I did not know about the environment suit sometimes getting damage leaked through. So much in one video, I learned a lot. Makes me wonder if someone ever made a mod that removed rng to make doom "fair and balanced." Either way, quality content as always.
one time during the ASS speedmapping session we themed the levels entirely on the leaky radsuit and made maps with lots of damaging floors you need radsuits to go over and had the leaking in mind during the design
@@AleK0451 I wonder if Carmack and Romero did that on purpose or not. What I mean is if they thought, 'people are gonna make a shit ton of doom levels, better make a penalty if there's a lot of toxic waste suits and hazardous environments. Because it's certainly never leaked damage for me in any of the original levels.
@@terrytrollface I've never got damage through the suit either, and I've been playing doom for like 20 years. Maybe the information in the video is true, but I don't believe the implementation during the game works that way. There is no way I didn't get damage through suit with my luck over the 20 years.
Giving monsters a random last seen value prevents all of them from chasing the same player in multiplayer games. Otherwise, all the monsters would target player 1 until attacked by other players.
Fun fact: Back in the days before computers were everywhere, people still needed random numbers, such as for taking "fair" statistical sampling, so they published HUGE books that were just full of a large quantity of numbers in an apparently random order. That's pretty much what that static list of "random" numbers in Doom reminds me of. :)
The Cacodemon is literally the cropped head of an "Astral Dreadnought", featured on the cover of the D&D book "Manual of the Planes". pbs.twimg.com/media/BjSRcqxCYAEX50M.jpg
5:05 so that's why I could hear wonderful zombiemen choirs after using the supershotty back in 95-96. Some would yell "mwuhhnnng" Others "mwuh-uhnnn-uhnng"
I always thought the variance (deviation) was far too high in doom. It just didn't seem right that a revenant can do 80 damage sometimes and 10 the next. Other games like system shock had a 10% variance in damage (plus an additional chance to proc a critical) same with your own weapon damage. Your shotgun can do 5, 10 or 15 damage per pellet - sometimes your shotgun rounds are only a third as strong as other ones? I can see why ID took the mechanic out of their later games
I agree, but i also understand how it happened. Doom's engine is, as far as I'm aware, the second ever of it's kind, and the first one to stand the tests of time. (Sorry Wolfenstein 3D) of course it's going to be flawed, it's the first *good* fps. Nobody does it completely right their first time, so the fact that doom does as much right as it does it's a testiment to doom's great design. ... But yeah taking 10-80 damage from an attack is silly.
It works suprisingly well in general, but I'm pretty surprised to learn how huge the difference between the min damage and max damage is, especially when it comes to the big enemies like the cyberdemon and its rockets.
Great video, I'm actually building a "Doom Clone" using Unreal Engine and to mimic some behaviors I read some of the documentation available that explains how the Doom Engine works. This makes me appreciate Doom even more because it's full of ingenuity and clever tricks behind the scenes, and you explained it very well. Fortunately with today's computers you can just use real random generation. I'll save this video for further watching because RNG is the spice that makes Doom gameplay so awesome and there are some other uses that I haven't explore yet that will add extra coolness to my work.
Just as a heads up, there isn't such a thing as "real random generation" in computing. The RNG that was used on Doom is kind of primitive but it isn't very different from what many games to this day still use. To emulate "real" random generation you need some very complex maths and processes that don't realistically serve to games.
@@JardsonJean And its not just modern computers that do this, Super Mario World on the SNES used a simple pRNG algorithm to create its random numbers. RetroGameMechanicsExplained has a great video on it.
@@JardsonJean both you and TOZE are only half right. Modern random number god uses a) good sources of data that are effectively impossible to predict, especially when combined, eg. hard drive read head movements and clock drift, and b) somewhat performance-intensive algorithms to create a uniform distribution of numbers from those bits. Encryption relies on this number generation being unpredictable.
@@four-en-tee The idea is to make an homage, something that looks and feels similar to old-school but with modern tech. Using modern number generators is just far simpler because they're already there ready to use. And yes it's true, computers don't know random, what I mean by "real" is letting the built-in algorithm come up with a number from its calculations instead of from a list manually picked up beforehand. And for demos, Unreal Engine has a system that makes use of the networking one to record the replicated variables and functions. Which means more extra time available for something else. It also allows to view demos that were recorded with older versions without any compatibility issues.
This video makes me appreciate DOOM even more! All those little things the devs put in that make it seem like a living world and add a bit of unpredictability are so impressive, and add so much to the experience but I never really thought about them.
They must have been drunk, wnen they came up with this idea. How on Earth one could guess there are INVISIBLE TRACES, radiating from the gun and leaving no marks on walls! But wait, he didn't mention the WEIRD part of it: those "tracer" pellets ignore the location of the main blob impact and the gun pointing direction. Instead they are projected at the same azimuth the player WAS LOOKING at the moment of initial fire! E.g. if you shoot it north, the tracers will then emit north direction too (with spread), regardless of looking direction and impact coordinates. This produces unexpected results: - you can fire the BFG blob, then hop into a teleport to another location; the blob hits a wall in the initial room, doing absolutely no damage, but in the new room a spray of traces emanates from your new location and kills all monsters; basically, one can "pre-fire" the BFG before engaging in combat - the most of the damage comes from tracers; - you fire the blob to north direction, then stand behind a cover (south to it) - only 1 monster will be potentially hit (by the blob), all secondary invisible pellets will shoot the wall in front of you; - you are in the middle of a large room, filled with monsters; you shoot the blob at nearest pillar, hoping to produce splash damage quickly around your location; nobody gets hurt at all, ammo wasted; - shoot a blob at monster crowd, then turn your look away 180; when you turn back, everyone is dead - the invisible tracers magically emitted from your ass killed everyone.
@@ПавелКорешков-ь4г it's actually still using code from the aborted Alpha version where it would fire red and green plasma balls in a shotgun like blast. It was dropped because it made a 486/DX slow to a crawl rendering it and it looked like Christmas . So the gun post press demo became the iconic green Ball of deadly plasma that kills everything not you.
@@JeffreyPiatt Yeah, I've heard about Christmas looks recently on @decino's)) Still there are many things that don't make much sense: - why wait for the ball explosion? Or at least have a fixed, short, unconditional delay before the secondary emission; - why ignore both actual ball direction and player view vectors? This fixed azimuth approach is counter intuitive and makes the gun "stupid" to the log level - despite commonly labeled as "smart" weapon; - why not make wall-hit effect for tracers? The engine can obviously handle that much sparks when hitting enemies; the whole thing wouldn't be so obscure! Most people have been playing it of decades - without realizing it's a shotgun, not AoE launcher; - isn't there a friendly-fire feature in the engine? The imps can't hurt each other afaik. The BFG mechanics would be much faster with an AoE blast (checking only distance to target instead of tracers individual collisions), with the single check for friendly wielder (once per blast!). In the end the ball is a burden. I'm curious.
Better yet, the gun could have the dual-trigger behavior: - on the first press it behaves as is (delay, charge, launch the ball); - show some fancy animation on the gun - e.g. bulbs flashing at increasing rate (it's simply a sprite switch, doesn't require additional time to render); this would create a cue - it's not done yet, brace for the REAL part! - after a delay (or when the ball explodes) the gun is fully charged, bulbs going crazy; - on the second press it releases the pellets spray with a violent knockback; the user appreciates its full potential and instanly learns how to wield it properly - without waiting for 25 years to be explained on YT. It would make the BFG much more dangerous, possibly breaking balance. But it could be managed (nerf for multipleer, or make the second phase very brief, so the players couldn't carry the full charge long, etc.)
Okay, this was really great. Very well put together, nice narration and awesome video examples. Definitely beats reading the wiki! Great work, please more of this.
It's not RNG (the values aren't being generated). Since they are using a table, it's as fast to do it this way as it would to have a hard-coded "animation" of the light flickering. This way they save some memory (and improve the performance of hardware caching) by using the same table for (almost) everything.
Found your channel on a random youtube recommendation and have already watched this and the sprites video, good content! I knew about Doom's RNG but I had no idea damage values could be THAT varied, no wonder Revenants always piss me off lol
2:37 -- took me a while to realise how this code snippet works. And when I did, I also got this creeping sensation that I will never be as good at programming as the Geek Overlord John.
@@Goodbutevilgenius But as a general rule, modern games don't have this crazy level of damage varience. I love me some good ol classic Doom, but having attacks do anywhere from 10 to 80 to me based on RNG is something I'm glad modern games don't do.
@@lankymaccrazyhair264 have you not played the incredibly recent Baldur's Gate 3? The randomness there is insane. You can very much have 10-80 spreads there, preceeded by also using RNG for determining if the attack will even hit.
@@Goodbutevilgenius i have not played Balders gate. Any of them. How much health do you have in that game? If it's in any way comparable to Doom, that's nuts, I'm shocked a big name game, or any modern game, has that level of variance, even if it's a DnD tie in. If you have 1000 health, that big of a difference would be a lot less noticable.
WTF you must have, sometimes a direct shotgun hit from up close doesnt kill an Imp, while other times far range snipe from shottie kills him right away.
@@ResidentOfficial You'd think it'd be that obvious, but even I didn't notice till learning what RNG even was. I just thought it was all poor accuracy/timing on my part lol.
2:25 "The second index is only used for a specific player's perspective, so things like screen melt and sandwiches" *Yes I know he said "sound pitches", when I first heard this I was like, "what?"
This video is so, so, _so_ clear and concise, I want to thank you even just for that alone. But furthermore, I had no idea how much RNG actually went into DOOM, and it just shows how necessary RNG is in the mechanics that you would never typically associate with RNG. Sure, I've thought about RNG going a _little_ further than just drop tables, like the random damage of guns, but never to this extent -- and DOOM is obviously upheld as one of the greatest games ever, with a still enticing play-ability even to those who have never touched it before. Thanks so much for this video, it has really inspired me to start thinking in new ways about game design!
Your dedication to documenting the DOOM games is really commendable. I love this approach to deconstructing the code, sprites, sounds, and other technical aspects that make up DOOM. Great stuff!
in DOOM"s early betas, there was a wall texture that was actually replaced with that texture of a game of cards. No idea why it was there, but i think it was removed by the time Beta 0.5 was made.
More fun facts: the characters playing cards were the crew from Rise of the Triad. They were intended to be selectable characters for Doom (each with their own unique quirks, advantages, and drawbacks) before the idea was scrapped.
This is an excellent analysis. I'm 32, so I was playing Doom when the initial shareware version was released and I've never had any idea there was this much randomness involved in the gameplay until you broke it all down like this. Ridiculously informative video, man - keep up the great work and I'll keep watching and liking.
It's simply bewildering on how a video explaining a relatively obscure subject can ascertain such a huge amount of views. It's something to be proud of. It speaks volumes on how entertaining your videos actually are. Best wishes man.
Wow, I always knew Doom had randomized hit chances and damage but I never quite realized just how big the variance actually is. Some of those damage ranges are crazy.
Another great video!! I love these vids where dive into the inner workings of a game :) Whenever I see a vid with something over that yellow background i know it's gonna be a good day!
@@decino Isn't that technically still being "random"? (Nothing is truly random, so when we say random, it means perceived to be random). For example, the first shots were always doing the exact same thing since it pulls from a table, though it "seems" random in normal gameplay. Determining what the exit sound plays is pretty much the same thing, except instead of a table of a variety of set numbers, it's a table of consecutive numbers that are constantly "running".
Difficult to tell. If you time the exit well using e.g. a stopwatch you will always play the same exit sound. However, same could be said about your player input during gameplay.
@@RpTheHotrod True, and it's even more random and unpredictable in a sense (because it's really based on the time the player decided to quit) compared to getting the next value in a static table.
This channel is so underrated omg, the amounts of information in one video. And not only that, the way in which you deliver it along with the graphic content. Hellish material.
I’m subscribing to this channel because the attention to detail and paying attention to the viewers!! Thank you. I love old school doom and keep up the videos! I love them thank you soooo much!!!
the absolute worst feeling in any game is losing not to your own lack of skill, but just by some random bullshit. Which is why I love games like doom and sekiro who practically don’t have any rng at all
This is why TH-cam is great. Something like this never would have made it to television but it's absolutely fantastic and we'd never get to see it without a platform like this.
Brutal Doom has a feature that randomizes sound pitches, but it is such a big difference that one sound is of a medium-low pitch and the next one is really high-pitched
This is the smartest gameplay variation i've seen. You can't bang your head doing the same stuff over and over until you get lucky rolls, but you won't be randomly punished for using a good strat either, it's rng, but your actions actually are worth a damn :D It also assures all values have proper variations, so you don't get 5 missiles with 160 damage in a row, nor with 20
Dude this is an insanely amazing video not just for learning how doom's RNG works but just a bit of game development. How things are connected on the programming side and how to understand a bit of the actions being called
10:52 That can't be right. I beat both games more times than I can remember, 100% every level, yet not a single time I took damage from that leaking you mentioned. Or maybe I did take damage but I can't remember because there was a zombie nearby that shot me... or at least I thought he shot me... Mark my words, from this point on I will always notice this. Damn you and your good, informative videos!
I used this video as a reference on how to do table based randomness for a presentation on cache replacement strategies. The counter + random table works really well on low power devices. The only difference is that i generate the contents of the table at startup using analogRead of multiple analog pins as the random seed. Thanks again for such a concise explanation of how Doom's RNG works.
I’ve been binging your doom videos while seeing plushies, since my brother introduced me to your channel. I really like the casual nature of these bite-sized videos. I love niche video game mechanical information!!!! I love learning while working!!!
Since playing the old Doom games again Ive watched alot of your vids as I found em by chance. You have given me a new love for these truely timeless games.
Apparently, the Id Software team played tons of D&D, and the entire demons and hell aspect of Doom was inspired by it. I'm pretty sure that the damage variance was derived from the same source.
One thing about Doom monsters is, instead of just idling, why don’t some of them wander around or patrol their areas before being alerted by the player? If you go into the monsters “Decorate” script with Slade, their Idle state uses the A_look function, which looks for the player, you can insert a function called A_Wander into some of their walking animation frames and then add few frames with A_Look which causes monsters to randomly walk around an area and still be able to see the player. I know there are situations where dormant monsters location needs to be specific, but there are other times where it would be better if they were moving around. I like that better than their silly looking idle animations that look as if they’re dancing.
4:26 At some point I noticed when video games started to force a killed enemy to fall over a ledge or railing or whatnot, I can't believe Doom always had this function!
Awesome, very informative video! Doom is really its own universe. Important thing though: it appears that newer source ports have better RNGs which prevent 1:34 from happening. I couldn't replicate this effect in both GZDoom and PrBoom+ but manage to do that in Chocolate Doom which is almost vanilla.
Wow this is really good. I was curious to see the averages and bell curves for the various random elements, but i suppose that's just more effort on your part. Still, great stuff
Just to inform you. Our university course of modelling lacks some real-life examples. I suggested to use this video as the example of usage of a table-based RNG, and professor agreed. Be proud of your work
Whew, that's awesome to hear!
@@cormishii1542 yea it's pretty awesome
This comment has 666 upvotes. Quick, no one upvote it!
@@MrSpinachguy I just wanted to upvote it, noticed the 666, and quickly punched my finger away from the thumbs up.
@@King_Firebrand There are 667 upvotes now. Someone probably did that on purpose smh
So there really is a "Stormtrooper" mode and a "Jackal Sniper" mode for these guys lol
I still hear the Beam rifle sound effect in my nightmares
Texan Don *shivers in I need a weapon*
@@mr.nickname9172 "right this way"
A halo and Star wars reference?!
You never hear the shot. It's just last checkpoint
"I want to hurt doomguy"
"Okay roll a D256"
"excuse me, a _WHAT?!"_
D∞
“I rolled a nat 167”
@@megamaster1610 You deal that much damage. However, his armor saves him, absorbing half damage. doomguy, what do you do?
@@somegenericscpnu-7soldier270 "kill"
Imagine being a zombie man and accidentally killing doom guy due to the rng saying that you’re suddenly an elite sniper instead of a blind old man with a nerf gun
“aw hell yeah!”
@Hudson Kylo oh boy it's the virus spambot and his little buddy again
Oh my god the Flixzone spambot actually left
By that logic, elite sniper with a nerf gun must also be a possible outcome
@@TVdinnermasterchef I think that’s when the A.I. might hit you if you’re either not moving fast enough or they calculate where you’re heading and lead their shot
@@truefailure6359 slower movement probably allows them to lead easier too. Headshot from 500 yards while doing an SR50 over a gap, yet still only do 3 points of damage. Give that guy a medal, then fire his ass
It's amazing how innovative this game really was, and you pointed out how a lot of those innovations are so behind the scenes you were never supposed to notice them at all!
Using look-up tables as a fast replacement for complex calculations isn't particularly innovative.
@@RFC3514 Simulating three dimensions using two dimensions is
@Lassi Kinnunen Fair enough :)
I didn't know about it personally so maybe I was projecting. I thought it was cool
@bloodrunsclear - Wolfenstein 3D did it before Doom, and Ultima Underworld did it before Wolfenstein (and was, in some ways, more advanced even than Doom 2 - but ran at lower frame rates). Id software created highly optimised algorithms, but did not invent the concept of texture-mapped "2.5D" games.
@@bloodrunsclear It's not simulated. It is 3D. It's a myth that the game is 2D. Projectiles fly entirely in a 3D pattern when enemies/yourself is at a different level, showing the game clearly has height information. And you know, there are PLATFORMS in the game, windows etc. Stop saying the game isn't 3D just because the map editor behaves like 2D. Goddamit, so tired of this stupid myth.
that's the genius of old RNG systems. without a good way to actually do it, they rely on the randomness of the player's interaction itself and re-purposed that randomness for its own
All games are 100% deterministic. (unless there's an oddball I don't know about)
Computers are incapable of producing true random numbers.
The only thing that varies between games is how the Pseudorandom number generator works, how large of a pool of numbers it has, and how well it's set up to truly match the expected outcome of actual randomness.
That, and how seed values are chosen dictates how random a game appears to be...
But it's ALWAYS deterministic.
Whether it seems to be anything else says more about how they initialise things.
A common strategy on more modern games is to get your PRNG seed values from the windows system clock.
Since time never has the same value twice, the initial starting point is always different, so things aren't repeatable unless you keep track of what the seed was when you started...
There really isn't any such thing as true randomness in games though...
@Shallex Wait til this guy hears about dwangoAC.
@@KuraIthys Computers are not incapable of producing true random numbers, it's just generally more useful to use pseudorandom number generators.
You can easily get true randomness by measuring atmospheric noise or fluctuations in temperature or some other physical phenomenon.
@@MrZoolook Agreed. I didn't say the computer "creates" the numbers, I said it "produces" the numbers, as in it takes the information gathered from the external environment and turns that into a sequence of true random numbers.
That said, there are electronic components that are capable of creating true randomness which some computers have, in which case the numbers are generated entirely by the computer, with no external influence.
what about 'entropy' in some systems
each random thing can affect it
I had no idea I wanted this kind of Doom content until I got it.
TheBigH same
Imagine the face the id team had made if in 1993 someone had told them that people would make videos like this about their game in 2020.
s a m e
e
@@axethannanth r/decreasingly_verbose
or "_verbosen't_"
"what happens to the icon of sin now?"
me: he wouldn't happen to get stronger the longer he's on earth, would he?
The longer the cereal in the milk the soggyir it will become
@@jesuscrist3512 wise words jesus
@@jesuscrist3512 the longer milk remains in the bowl of cereal, the stronger the Icon of Sin becomes?
What about the demons that use water as a replacement to milk?
@@TinyDeskEngineer they empower it faster
@@clockworkpotato9892 they empower it *instantly*
I don't think I'd feel comfortable playing cards with the arch-vile unless I was on the other side of that table.
and with a BFG under the box
I think you'd have plenty of time to move to the other side. But then you have to worry about the imp.
OMG 4 LIKES OWO I AM NOW UTUBR AND I GET MONETISSSSSSS!
@@demon9554 OMG Ow0 U R YuToobir
demon I’m proud of u!
"Look at the code you nerd."
You got a keeper there...
Deciyes is a lady slayer.
what do you mean Peter is not decino's wife?
That voice personally scared the crap out of me.
Perfect timing; I was expecting something _particularly_ horrifying, nevertheless I was not disappointed. Great job to whoever that was. 👌
@@audiosurfarchive ah, yes, deci _no_ is overrated.
@@nikotheoneshot If decino exclusively made education content:
He'd be _deciknow_
>Regular Imp
>Big Imp
>Flying Imp
>Cyber Imp
Love it!
Cacos ain't no Imps. Plus, he forgot Skeleton Imp, Fatso Imp and Spider Imp.
@@CarbonRollerCaco doom 2016 has cyborg fatso imp
Icon of Simp
I'm guessing the Revenant is a Spoopy Imp
Caco
Cocos
Cocas
That guard at the beginning of Doom 2 really hates the other guard, shooting him in the back each time.
"i know the doom slayer is right there but fuck this guy" *bang*
Imagine how those 2 guys are bored of their miserable existance. They've been standing on these stairs for decades, achivieving nothing. They never ever killed a doomguy. And they die miserably every time, humiliated by a chainsaw.
Not surprisingly they also hate each other, all stories told, all jokes remembered and painfully echoing in their brains. Each of them two wants to subdue the other one to dominate at least in this small room. But they can't move until alerted! This game isn't player's Hell - it's those 2 guys hell!!!
@@ПавелКорешков-ь4г LoL that fan fiction we didn't know we needed :)
Hey, when you sleep with a man's wife, make sure you don't give him a convenient excuse...
Doom is best gambling game
Ecs deeee
everybody knows that doom is casino simulator
@@sonoda944 i didnt. but i always wondered about a few things in the game o.O
@@A_Stranger2256 modding
Because you can predict the winning answer.
I never realized that enemy damage AND your own damage was that random. I knew it felt like sometimes a projectile would hit harder than usual, or less hard than usual, but I subconsciously assumed it had something to do with how directly it hit you or something.
That's probably intentional. It's an efficient way to simulate that while not really simulating it at all, just in the mind of the player.
Same!
I remember them saying that in Doom 3 they had per-pixel hit detection instead of hit boxes that surrounded otherwide spindly arms / torsos. They thought they needed to tweak enemy health as they all seemed to suddenly be bullet sponges... actually, the testers were just missing.
The most embarrasing is the RANGE of those numbers! I never realized a Baron could punch for 8 or 16 points... Or a Cyberdemon 20 points.
I always thought there is some minimal damage plus a small random variation.
And it turned out to be a direct product of a small "base" and rnd(8), much like dice roll in D&D.
Everything as old as Doom used basic RNG tables, some just hide it better than others. It wasn't until the past decade/decade in a half, that RNG has been minimized as much as possible. I mean look at the difference between Morrowind and Oblivion.
"Leaky Radiation Suit"
Wait what? I have never noticed that happen before. Ive been playing doom for close to 20 years.
I had it happen to me on mount erebus while playing the ultimate doom on steam. It was vanilla (only an emulator) so yeah it happens
Wonder if this doesn't occur in the console versions? I grew up on the PS1 versions and can't recall lava or acid ever randomly causing damage while in a radiation suit...
I think, it was just fixed at modern doom ports
@@olexayko2499 it's not a glitch
Removed*)
_No Doomguys were hurt during the making of this video_
Idk man, some of that stuff looked pretty painful..
I smell some bullcrap
They did, however, die mercilessly.
But they felt nothing.
Now the demons on the other hand.
14:08 Somebody show this to Joel.
I can already hear his Swedish screams.
i shall do the thing
100 points off!
Love this series. Having worked as a programmer in a few game studios, I can say that things have changed a lot since then! Doom had to run on very limited hardware, so nearly everything was part of the code and compiled in the executable. Today, anyone who hardcodes values like this would be scheduled to have a serious meeting with the project lead.
One of the reasons they did it this way, wasn't just to "prevent network desync," but to reduce the amount of network traffic to run while keeping sync. Instead of sending a vector which had been randomized on one machine over the network, only the random offset needed to be sent to be calculated on each machine independently.
Ah, I know you're trolling because that didn't make any sense.
JK. I know you're not trolling... but it still didn't make any sense to me.
@@dsandoval9396 instead of constantly updating the computer about which values to use, it just needs to send which offset (how deep it is in the list) instead
Not even the index needs to be sent over network. Because all players need to join at beginning of game, each machine knows the current index.
So many years playing and this game still surprises me, I never realized.
3:54
"The closer the target,the bigger the chance it will perform a missile atack"
-Dr. Decino Hayden
So glory kills in classic Doom are just a challenge for the enemy to missile both of you.
But also the best way to get maximum BFG damage.
Imp: "I died! Quick give me a number to see which way i fall" this is so interesting. I started playing Doom again bc of your vids. It just popped up in my recommended vids and ive watched quite a few of yours and subbed.
So imps basically roll d8 for damage.
Ironic considering the concept of Doom was based on a dnd campaign where demons invaded
@@Spectrik it was also going to be a game based on alien
Reroll your stats
Haydn Whitechurch funnily enough I recently started a paladin (on baldurs gate) and spent 20 minutes rolling and got 94 total
@@Spectrik actually that was a binding of isaac reference
Archville only Icon of Sin is truly the stuff of nightmares.
Arch-Vile-only Icon of Sin is so cursed it's unreal
Unless you are doing for map 30 pacifist, then it's amazing.
Also funny to note with the RNG table all set to the same value is that Doomguy's face constantly stares in the same direction (except when a non-RNG face would play, like firing a weapon continuously).
I can imagine the thumbnail goes like:
Imp: How the *HELL* did you won 10 times in a row?! You gotta be cheating!
Doomguy: Mpph.
I love all your videos but those informative ones are the closest to my heart.
That Tyrian pfp tho
@@chainsawpl6189 noice
On the surface this seems like a simple game. When you get down into it though a lot of this is rather ingenious. Especially the stuck attempts and the use of randomized angles when firing at an invisible Doom Guy.
I think it often turns out that simple is actually exceedingly complicated. It's relatively easy to shovel a ton of random crap into something to make it seem expansive, but when you have such a focused, narrow goal, it turns out that you have to think very, very carefully about every little thing to make it seem just right.
and the bigger surprise is the code is so goddamn easy to understand even for a beginner programmer like me ?!?!?!?!?! when my code reaches enough lines that it can't be considered a script it turns into spaghetti that even i don't understand.
Shows the power of Carmack's big brain
I still come to this video every now and again. A wonderful video.
Your Doom playthroughs are wonderful. 👍
I never knew about the leaky rad suit until now. When I was like 13, I was doing a no death UV run and failed due to that. I always blamed it on a bug. Wow.
I've played Doom for god knows how many hours and I've never had the leaky radiation suit feature happen to me for some odd reason.
@@SoldierOfFate lucky you
@@SoldierOfFate I get it often on high-damage floors, like lava. Otherwise I pretty much never get it
@@creeperhunterD it only happens on high-damaging floors, thats why
I've played doom for years, and I did not know about the environment suit sometimes getting damage leaked through.
So much in one video, I learned a lot. Makes me wonder if someone ever made a mod that removed rng to make doom "fair and balanced."
Either way, quality content as always.
one time during the ASS speedmapping session we themed the levels entirely on the leaky radsuit and made maps with lots of damaging floors you need radsuits to go over and had the leaking in mind during the design
@@AleK0451 I wonder if Carmack and Romero did that on purpose or not. What I mean is if they thought, 'people are gonna make a shit ton of doom levels, better make a penalty if there's a lot of toxic waste suits and hazardous environments.
Because it's certainly never leaked damage for me in any of the original levels.
BigMacDavis made me aware that this could happen
Weird things happen if you remove the RNG: jmtd.net/log/deterministic_doom/
@@terrytrollface I've never got damage through the suit either, and I've been playing doom for like 20 years. Maybe the information in the video is true, but I don't believe the implementation during the game works that way. There is no way I didn't get damage through suit with my luck over the 20 years.
Imp: Go fish
Arch Vile: RHHHHUUUUUAAAAEEEEEEEEIIIIIIIIII
Doom Guy: Mmph! Mmph!
Giving monsters a random last seen value prevents all of them from chasing the same player in multiplayer games. Otherwise, all the monsters would target player 1 until attacked by other players.
7:30 I'd always wondered why the Revenant's missiles were sometimes homing and other times unguided. Now I know! Thanks!
So it's a pseudo-random number pseudo-generator. Well, at lest the "number" part is real.
No, it seemed integer to me ;) (uint8)
@@MrAndris999 lies, lies everywhere! xD
Fun fact: Back in the days before computers were everywhere, people still needed random numbers, such as for taking "fair" statistical sampling, so they published HUGE books that were just full of a large quantity of numbers in an apparently random order. That's pretty much what that static list of "random" numbers in Doom reminds me of. :)
Oh god, the ultimate troll had John decided to put it in nightmare difficulty, Icon of Sin but it spawns Arch Villes.
The game became predictable: you will get your ass burn to a crisp everytime
Anyone else realise the projectiles are D&D spells?
Ah yes, "Homing Rocket", my favorite D&D spell
Yeah shotgun slugs, very effective on undead
The team at Id played a lot of D&D during Doom's development so I'm not surprised.
@@12manny34 Yeah, there is probably some inspiration of D&D and also heavy metal bands in dooms development
The Cacodemon is literally the cropped head of an "Astral Dreadnought", featured on the cover of the D&D book "Manual of the Planes".
pbs.twimg.com/media/BjSRcqxCYAEX50M.jpg
5:05 so that's why I could hear wonderful zombiemen choirs after using the supershotty back in 95-96.
Some would yell "mwuhhnnng"
Others "mwuh-uhnnn-uhnng"
that explosion tube at the end made me laugh. nice vid!
I always thought the variance (deviation) was far too high in doom. It just didn't seem right that a revenant can do 80 damage sometimes and 10 the next. Other games like system shock had a 10% variance in damage (plus an additional chance to proc a critical)
same with your own weapon damage. Your shotgun can do 5, 10 or 15 damage per pellet - sometimes your shotgun rounds are only a third as strong as other ones?
I can see why ID took the mechanic out of their later games
I couldn't agree more.
I agree, but i also understand how it happened. Doom's engine is, as far as I'm aware, the second ever of it's kind, and the first one to stand the tests of time. (Sorry Wolfenstein 3D) of course it's going to be flawed, it's the first *good* fps. Nobody does it completely right their first time, so the fact that doom does as much right as it does it's a testiment to doom's great design.
... But yeah taking 10-80 damage from an attack is silly.
It works suprisingly well in general, but I'm pretty surprised to learn how huge the difference between the min damage and max damage is, especially when it comes to the big enemies like the cyberdemon and its rockets.
Great video, I'm actually building a "Doom Clone" using Unreal Engine and to mimic some behaviors I read some of the documentation available that explains how the Doom Engine works.
This makes me appreciate Doom even more because it's full of ingenuity and clever tricks behind the scenes, and you explained it very well.
Fortunately with today's computers you can just use real random generation. I'll save this video for further watching because RNG is the spice that makes Doom gameplay so awesome and there are some other uses that I haven't explore yet that will add extra coolness to my work.
For real authenticity in your doom clone, you'd think that you'd want to keep Doom's version of RNG generation.
Just as a heads up, there isn't such a thing as "real random generation" in computing. The RNG that was used on Doom is kind of primitive but it isn't very different from what many games to this day still use. To emulate "real" random generation you need some very complex maths and processes that don't realistically serve to games.
@@JardsonJean And its not just modern computers that do this, Super Mario World on the SNES used a simple pRNG algorithm to create its random numbers. RetroGameMechanicsExplained has a great video on it.
@@JardsonJean both you and TOZE are only half right. Modern random number god uses a) good sources of data that are effectively impossible to predict, especially when combined, eg. hard drive read head movements and clock drift, and b) somewhat performance-intensive algorithms to create a uniform distribution of numbers from those bits.
Encryption relies on this number generation being unpredictable.
@@four-en-tee The idea is to make an homage, something that looks and feels similar to old-school but with modern tech.
Using modern number generators is just far simpler because they're already there ready to use.
And yes it's true, computers don't know random, what I mean by "real" is letting the built-in algorithm come up with a number from its calculations instead of from a list manually picked up beforehand.
And for demos, Unreal Engine has a system that makes use of the networking one to record the replicated variables and functions. Which means more extra time available for something else.
It also allows to view demos that were recorded with older versions without any compatibility issues.
Boss:
Implement a random number generator.
Me:
uint Random()
{
return 4; //Random number. Chosen by a diceroll.
}
Guaranteed to be random.
I see what you did there - an XKCD reference.
This is almost verbatim the code that allowed people to bypass the ps3 security engine, Sony genuinely coded an RNG that always returned 7
*How dare you pump out good and informative content!*
Lovin your videos :)
Aaaaaaaayyyyyyy
This video makes me appreciate DOOM even more! All those little things the devs put in that make it seem like a living world and add a bit of unpredictability are so impressive, and add so much to the experience but I never really thought about them.
I'm trying to learn how to code, and this was... shockingly helpful. Thank you!
I know what you are talking about. It's one thing to know how to do something in code, it's another thing to apply your knowledge to the real world.
After 16 years i finally understand how the bfg works XD
They must have been drunk, wnen they came up with this idea. How on Earth one could guess there are INVISIBLE TRACES, radiating from the gun and leaving no marks on walls!
But wait, he didn't mention the WEIRD part of it: those "tracer" pellets ignore the location of the main blob impact and the gun pointing direction. Instead they are projected at the same azimuth the player WAS LOOKING at the moment of initial fire! E.g. if you shoot it north, the tracers will then emit north direction too (with spread), regardless of looking direction and impact coordinates.
This produces unexpected results:
- you can fire the BFG blob, then hop into a teleport to another location; the blob hits a wall in the initial room, doing absolutely no damage, but in the new room a spray of traces emanates from your new location and kills all monsters; basically, one can "pre-fire" the BFG before engaging in combat - the most of the damage comes from tracers;
- you fire the blob to north direction, then stand behind a cover (south to it) - only 1 monster will be potentially hit (by the blob), all secondary invisible pellets will shoot the wall in front of you;
- you are in the middle of a large room, filled with monsters; you shoot the blob at nearest pillar, hoping to produce splash damage quickly around your location; nobody gets hurt at all, ammo wasted;
- shoot a blob at monster crowd, then turn your look away 180; when you turn back, everyone is dead - the invisible tracers magically emitted from your ass killed everyone.
Wait, decino has it covered actually: th-cam.com/video/MsCqLQJ1EOc/w-d-xo.html
Highly recommended.
@@ПавелКорешков-ь4г it's actually still using code from the aborted Alpha version where it would fire red and green plasma balls in a shotgun like blast. It was dropped because it made a 486/DX slow to a crawl rendering it and it looked like Christmas . So the gun post press demo became the iconic green Ball of deadly plasma that kills everything not you.
@@JeffreyPiatt Yeah, I've heard about Christmas looks recently on @decino's))
Still there are many things that don't make much sense:
- why wait for the ball explosion? Or at least have a fixed, short, unconditional delay before the secondary emission;
- why ignore both actual ball direction and player view vectors? This fixed azimuth approach is counter intuitive and makes the gun "stupid" to the log level - despite commonly labeled as "smart" weapon;
- why not make wall-hit effect for tracers? The engine can obviously handle that much sparks when hitting enemies; the whole thing wouldn't be so obscure! Most people have been playing it of decades - without realizing it's a shotgun, not AoE launcher;
- isn't there a friendly-fire feature in the engine? The imps can't hurt each other afaik. The BFG mechanics would be much faster with an AoE blast (checking only distance to target instead of tracers individual collisions), with the single check for friendly wielder (once per blast!). In the end the ball is a burden.
I'm curious.
Better yet, the gun could have the dual-trigger behavior:
- on the first press it behaves as is (delay, charge, launch the ball);
- show some fancy animation on the gun - e.g. bulbs flashing at increasing rate (it's simply a sprite switch, doesn't require additional time to render); this would create a cue - it's not done yet, brace for the REAL part!
- after a delay (or when the ball explodes) the gun is fully charged, bulbs going crazy;
- on the second press it releases the pellets spray with a violent knockback; the user appreciates its full potential and instanly learns how to wield it properly - without waiting for 25 years to be explained on YT.
It would make the BFG much more dangerous, possibly breaking balance. But it could be managed (nerf for multipleer, or make the second phase very brief, so the players couldn't carry the full charge long, etc.)
Okay, this was really great. Very well put together, nice narration and awesome video examples. Definitely beats reading the wiki! Great work, please more of this.
I always knew that guys from id software are nerds, but to add rng code to flashing lights on buildings in map screen, that is ultra nerds.
It's not RNG (the values aren't being generated). Since they are using a table, it's as fast to do it this way as it would to have a hard-coded "animation" of the light flickering. This way they save some memory (and improve the performance of hardware caching) by using the same table for (almost) everything.
Found your channel on a random youtube recommendation and have already watched this and the sprites video, good content! I knew about Doom's RNG but I had no idea damage values could be THAT varied, no wonder Revenants always piss me off lol
2:37 -- took me a while to realise how this code snippet works. And when I did, I also got this creeping sensation that I will never be as good at programming as the Geek Overlord John.
Imagine releasing a game today where an attack could do 6 or 60 DMG based on RNG.
That's how csgo feels sometimes...
RPGs still exist to this very day.
@@Goodbutevilgenius But as a general rule, modern games don't have this crazy level of damage varience. I love me some good ol classic Doom, but having attacks do anywhere from 10 to 80 to me based on RNG is something I'm glad modern games don't do.
@@lankymaccrazyhair264 have you not played the incredibly recent Baldur's Gate 3? The randomness there is insane. You can very much have 10-80 spreads there, preceeded by also using RNG for determining if the attack will even hit.
@@Goodbutevilgenius i have not played Balders gate. Any of them.
How much health do you have in that game? If it's in any way comparable to Doom, that's nuts, I'm shocked a big name game, or any modern game, has that level of variance, even if it's a DnD tie in. If you have 1000 health, that big of a difference would be a lot less noticable.
Wow, I've been playing Doom for thousands of hours and never realised damage is random
same lmao
WTF you must have, sometimes a direct shotgun hit from up close doesnt kill an Imp, while other times far range snipe from shottie kills him right away.
You never noticed how the Revenant first hits for a measly 15 damage and then immediately hits you for 70?
@@ResidentOfficial You'd think it'd be that obvious, but even I didn't notice till learning what RNG even was. I just thought it was all poor accuracy/timing on my part lol.
@@rileyrosswalker hah I mean I can understand it would seem like that to someone, but I was playing Doom on and off since I was like 10 soooo :D
2:25
"The second index is only used for a specific player's perspective, so things like screen melt and sandwiches"
*Yes I know he said "sound pitches", when I first heard this I was like, "what?"
Can't...unhear...😆
Doom, now with RSG: Random Sandwich Generator
This video is so, so, _so_ clear and concise, I want to thank you even just for that alone. But furthermore, I had no idea how much RNG actually went into DOOM, and it just shows how necessary RNG is in the mechanics that you would never typically associate with RNG. Sure, I've thought about RNG going a _little_ further than just drop tables, like the random damage of guns, but never to this extent -- and DOOM is obviously upheld as one of the greatest games ever, with a still enticing play-ability even to those who have never touched it before. Thanks so much for this video, it has really inspired me to start thinking in new ways about game design!
"Berserk damage is inapplicable to chaisaw" - sad Khornate noizes.
Your dedication to documenting the DOOM games is really commendable. I love this approach to deconstructing the code, sprites, sounds, and other technical aspects that make up DOOM. Great stuff!
I like the image in the video showing the Card Game
in DOOM"s early betas, there was a wall texture that was actually replaced with that texture of a game of cards. No idea why it was there, but i think it was removed by the time Beta 0.5 was made.
@@mechanismeight9565 The idea was that all the player characters were playing cards when hell broke out
@@cdru515 "Go fish! HA! I win again! Hey... what's that noise? It sounds like a demon or something."
And that's how it started.
More fun facts: the characters playing cards were the crew from Rise of the Triad. They were intended to be selectable characters for Doom (each with their own unique quirks, advantages, and drawbacks) before the idea was scrapped.
I'm waiting for when "Doom A1 on Ultra Nightmare mode" is a thing.
It would probably be named "A1 Ultra Nightmare Speedrun" or "A1 UNS" for short.
This is an excellent analysis. I'm 32, so I was playing Doom when the initial shareware version was released and I've never had any idea there was this much randomness involved in the gameplay until you broke it all down like this. Ridiculously informative video, man - keep up the great work and I'll keep watching and liking.
It's simply bewildering on how a video explaining a relatively obscure subject can ascertain such a huge amount of views. It's something to be proud of. It speaks volumes on how entertaining your videos actually are. Best wishes man.
13:54 that was an impressive shot.
Wow, I always knew Doom had randomized hit chances and damage but I never quite realized just how big the variance actually is. Some of those damage ranges are crazy.
Another great video!! I love these vids where dive into the inner workings of a game :) Whenever I see a vid with something over that yellow background i know it's gonna be a good day!
Heck, I have played Doom maybe twice, yet these are some of my favorite videos. Also the thumbnails are brilliant.
Wait. What was the explanation for the exit sound NOT being randomized?
Doom runs an internal timer and depending on which digit it ends decides the exit sound.
@@decino Isn't that technically still being "random"? (Nothing is truly random, so when we say random, it means perceived to be random). For example, the first shots were always doing the exact same thing since it pulls from a table, though it "seems" random in normal gameplay. Determining what the exit sound plays is pretty much the same thing, except instead of a table of a variety of set numbers, it's a table of consecutive numbers that are constantly "running".
Difficult to tell. If you time the exit well using e.g. a stopwatch you will always play the same exit sound. However, same could be said about your player input during gameplay.
@@RpTheHotrod True, and it's even more random and unpredictable in a sense (because it's really based on the time the player decided to quit) compared to getting the next value in a static table.
Infact it could be even more random if the p_random table was also increasing by 1 value every tick
So that time would also play a role
This channel is so underrated omg, the amounts of information in one video. And not only that, the way in which you deliver it along with the graphic content. Hellish material.
::Hasn't played Doom in years, opens the video::
0:01 - Sigh... yeah, those damned revenants. We can all relate to that daily struggle.
can only recommend The Revenant Problem.
I’m subscribing to this channel because the attention to detail and paying attention to the viewers!! Thank you. I love old school doom and keep up the videos! I love them thank you soooo much!!!
the absolute worst feeling in any game is losing not to your own lack of skill, but just by some random bullshit.
Which is why I love games like doom and sekiro who practically don’t have any rng at all
Someone NEEDS to make a mod that does this 14:14 to the screen melt cuz that just looks so funny!
Edit: thx for the heart!
This is why TH-cam is great. Something like this never would have made it to television but it's absolutely fantastic and we'd never get to see it without a platform like this.
Very true.
Brutal Doom has a feature that randomizes sound pitches, but it is such a big difference that one sound is of a medium-low pitch and the next one is really high-pitched
The pitch-shifting for BFG Edition was taken up to 11, making it sound ABSOLUTELY DISGUSTING
Absolutely love watching these videos. There is so much information, and so well presented, great job sir!!
This is the smartest gameplay variation i've seen.
You can't bang your head doing the same stuff over and over until you get lucky rolls, but you won't be randomly punished for using a good strat either, it's rng, but your actions actually are worth a damn :D
It also assures all values have proper variations, so you don't get 5 missiles with 160 damage in a row, nor with 20
i'd prefer to just do 100 with all my missiles
Dude this is an insanely amazing video not just for learning how doom's RNG works but just a bit of game development. How things are connected on the programming side and how to understand a bit of the actions being called
awesome video. love learning about how the classics work, and there ain't no classic classic'er than doom
11:21 Mock2 really knew how to make the most perfectly designed *horrible* *horrible* maps.
10:52
That can't be right. I beat both games more times than I can remember, 100% every level, yet not a single time I took damage from that leaking you mentioned.
Or maybe I did take damage but I can't remember because there was a zombie nearby that shot me... or at least I thought he shot me...
Mark my words, from this point on I will always notice this. Damn you and your good, informative videos!
Keep in mind that it only happens with super damaging floors that deal 20 damage per cycle.
I used this video as a reference on how to do table based randomness for a presentation on cache replacement strategies. The counter + random table works really well on low power devices. The only difference is that i generate the contents of the table at startup using analogRead of multiple analog pins as the random seed.
Thanks again for such a concise explanation of how Doom's RNG works.
Love your deep analysis of Doom! Subscribed.
I’ve been binging your doom videos while seeing plushies, since my brother introduced me to your channel. I really like the casual nature of these bite-sized videos. I love niche video game mechanical information!!!! I love learning while working!!!
That bit about how the RNG affects the demos is actually quite ingenious.
Today, on "things I sure did not know but i'm kinda thankful that *decino* spend time explaining in a well thought and entertaining way"
Since playing the old Doom games again Ive watched alot of your vids as I found em by chance. You have given me a new love for these truely timeless games.
I play D&D too much. The first thing I thought of when you talked about projectiles damage is that they roll a D8.
Apparently, the Id Software team played tons of D&D, and the entire demons and hell aspect of Doom was inspired by it. I'm pretty sure that the damage variance was derived from the same source.
13:50 "The Icon of Sin will only spawn Imps." Bro then proceeds to fire the most immaculately timed rocket ever. Bravo!
One thing about Doom monsters is, instead of just idling, why don’t some of them wander around or patrol their areas before being alerted by the player? If you go into the monsters “Decorate” script with Slade, their Idle state uses the A_look function, which looks for the player, you can insert a function called A_Wander into some of their walking animation frames
and then add few frames with A_Look which causes monsters to randomly walk around an area and still be able to see the player. I know there are situations where dormant monsters location needs to be specific, but there are other times where it would be better if they were moving around.
I like that better than their silly looking idle animations that look as if they’re dancing.
A_Wander isn't an OG Doom function.
My friend, your targeted choice of small code snippets and your clear explanations are very good. Very nicely done.
4:26 At some point I noticed when video games started to force a killed enemy to fall over a ledge or railing or whatnot, I can't believe Doom always had this function!
I am glad to see info videos about the original Dooms in 2019!!Keep up the great work!
I like your vids its like going to listen to a professor. At the doom uniniversity
Professor doom. Or professor of doom.. I like the sound of that
He evens talks like a real professor, in a very slow and boring monotone...
DOOMU(.WAD)
i love how a game in the early 90s still has a huge buzz and appreciation
6:27 oldschool runescape :D
Awesome, very informative video! Doom is really its own universe.
Important thing though: it appears that newer source ports have better RNGs which prevent 1:34 from happening. I couldn't replicate this effect in both GZDoom and PrBoom+ but manage to do that in Chocolate Doom which is almost vanilla.
4:40 archvile has lowest pain chance? what a terrible news to hear
10:24 That tracer impact was perfectly in synch with the rimshot. LOL
Wow this is really good. I was curious to see the averages and bell curves for the various random elements, but i suppose that's just more effort on your part. Still, great stuff
This was pretty cool. I loved how you were able to replicate the exact same outcome by standing there and shooting once.
You must sign into bnet to continue this video. You will connect to the internet.
->Okay