Things about Doom you just found out

That's really stupid, too. It's not like the blood is free flowing, it's just a scar. I've seen children's cartoons that allow scars. Could just have dulled the color so it doesn't look like a fresh wound.

Share this post


Link to post

Cacodemons don't have a melee attack like other monsters do - while their attack function is a "combo" attack that'll do a melee attack if you're close enough, they don't try to use this. Instead, they only try attacking via their missile attack, and won't try to continuously melee a nearby target like other monsters.

 

Might explain why said combo attack doesn't make a melee sound; the melee attack might've been meant to be removed entirely, but the guy who did it didn't really understand how combo attacks worked.

2 people like this

Share this post


Link to post

I have a possible explanation of how it might have happened. Here are the attack functions of the Imp, Demon and Cacodemon, respectively:

 

Spoiler

void A_TroopAttack (mobj_t* actor)
{
    int		damage;
	
    if (!actor->target)
	return;
		
    A_FaceTarget (actor);
    if (P_CheckMeleeRange (actor))
    {
	S_StartSound (actor, sfx_claw);
	damage = (P_Random()%8+1)*3;
	P_DamageMobj (actor->target, actor, actor, damage);
	return;
    }

    
    // launch a missile
    P_SpawnMissile (actor, actor->target, MT_TROOPSHOT);
}


void A_SargAttack (mobj_t* actor)
{
    int		damage;

    if (!actor->target)
	return;
		
    A_FaceTarget (actor);
    if (P_CheckMeleeRange (actor))
    {
	damage = ((P_Random()%10)+1)*4;
	P_DamageMobj (actor->target, actor, actor, damage);
    }
}

void A_HeadAttack (mobj_t* actor)
{
    int		damage;
	
    if (!actor->target)
	return;
		
    A_FaceTarget (actor);
    if (P_CheckMeleeRange (actor))
    {
	damage = (P_Random()%6+1)*10;
	P_DamageMobj (actor->target, actor, actor, damage);
	return;
    }
    
    // launch a missile
    P_SpawnMissile (actor, actor->target, MT_HEADSHOT);
}

 

 

These three functions actually immediately follow each other in the source code, and there are signs that the Cacodemon's function was based on the previous two, as it mostly looks like the Imp's function, but lacks a sound just like the Demon's function does. But the reason why the Demon's function lacks a sound is because the Demon makes it as a result of its attack sound property in the thing table. So, the function's creator may have assumed that the thing table will take care of the sound, while the thing table's creator may have assumed that the function will take care of the sound. Even if they were the same person, he could have made a mistake this way, by failing to realize that neither the side he was currently working on, nor the other side, took care of the sound.

Edited by scifista42
5 people like this

Share this post


Link to post

I think it's far more likely that the sound in A_TroopAttack was added later and A_HeadAttack was just forgotten about when the change was made.

Doom actually shows lots of signs of sloppy and unorganized development all throughout its code.

 

1 person likes this

Share this post


Link to post

I like that theory, but if it were a code ness-up, wouldn't the unplayed sound be in the iwad?

Edited by Empyre
ninja'd
1 person likes this

Share this post


Link to post

Not necessarily. If they never added it, it would make sense, so would it if they just culled all unused sound prior to mastering.

Share this post


Link to post

@scifista42 Seems reasonable. It looks to me like they copypasted A_TroopAttack as A_HeadAttack then went "hmm, making a scratch sound on a bite attack is stupid"

 

5 hours ago, Arctangent said:

[cacodemons] won't try to continuously melee a nearby target like other monsters

This seems to be a side-effect of the monster's large radius causing P_CheckMeleeRange to fail unless you're pushed up right next to it. I managed to get a cacodemon to bite continuously only by trapping it in a 64 unit square then having the player trapped in a 32 unit space next to it so he couldn't be pushed away. If the player has even 8 units more room between him and the wall the monster will space out its attacks.

 

(You have to start with player and monster apart, then move/drop into position once the monster is awake, you can't place them adjacent in a 96x64 box because then the monster will never move)

 

test map / demo

 

Edited by RjY

Share this post


Link to post
39 minutes ago, Empyre said:

wouldn't the unplayed sound be in the iwad?

If Cacodemon had a melee attack sound, it would probably be the same sound as both Imp's and Baron's melee attack sound, which is already included in the IWAD only once despite being used by 2 monsters, so it wouldn't be included more than once if used by 3 monsters either.

Edited by scifista42

Share this post


Link to post

Well, unlikely. Both Imp and Baron have a scratch attack, while the Cacodemon would bite and thus require a different sound.

 

Share this post


Link to post

Oh, I completely forgot about realism. :P

1 person likes this

Share this post


Link to post
5 hours ago, RjY said:

This seems to be a side-effect of the monster's large radius causing P_CheckMeleeRange to fail unless you're pushed up right next to it.

No, it's literally right there in the code:

    {		// MT_HEAD
	3005,		// doomednum
	S_HEAD_STND,		// spawnstate
	400,		// spawnhealth
	S_HEAD_RUN1,		// seestate
	sfx_cacsit,		// seesound
	8,		// reactiontime
	0,		// attacksound
	S_HEAD_PAIN,		// painstate
	128,		// painchance
	sfx_dmpain,		// painsound
	0,		// meleestate
	S_HEAD_ATK1,		// missilestate
	S_HEAD_DIE1,		// deathstate
	S_NULL,		// xdeathstate
	sfx_cacdth,		// deathsound
	8,		// speed
	31*FRACUNIT,		// radius
	56*FRACUNIT,		// height
	400,		// mass
	0,		// damage
	sfx_dmact,		// activesound
	MF_SOLID|MF_SHOOTABLE|MF_FLOAT|MF_NOGRAVITY|MF_COUNTKILL,		// flags
	S_HEAD_RAISE1		// raisestate
    },

No melee state, not even a single attack state that pulls double duty as missile and melee like the imp's and bruisers'.

1 person likes this

Share this post


Link to post

The code that's responsible for melee badgering might not care. It may simply use the available missile attack when in melee range. Might wanna examine the walking codepointer to be sure.

Share this post


Link to post
6 hours ago, Graf Zahl said:

Doom actually shows lots of signs of sloppy and unorganized development all throughout its code.

 

That's actually not that surprising to me, given the development history of Doom. John Romero was doing an interview (I don't remember with who) where he said that if he came upon something that he needed (like a type of trigger or something), he would just add it. So, while John Carmack wrote most of the code, apparently all of the members of the id team were accomplished in coding to various degrees and were perfectly capable of writing code for the game. The downside to that is that you had the possibility of almost any member of the team being able to amend the code. So, in that light, it's not a shock to me that there is some sloppiness.

2 people like this

Share this post


Link to post
1 hour ago, Arctangent said:

No, it's literally right there in the code:

Hmm. I never even thought to look in the mobjinfo table. Sorry for the noise.

Share this post


Link to post
16 hours ago, scifista42 said:

I have a possible explanation of how it might have happened. Here are the attack functions of the Imp, Demon and Cacodemon, respectively:

 

These three functions actually immediately follow each other in the source code, and there are signs that the Cacodemon's function was based on the previous two, as it mostly looks like the Imp's function, but lacks a sound just like the Demon's function does. But the reason why the Demon's function lacks a sound is because the Demon makes it as a result of its attack sound property in the thing table. So, the function's creator may have assumed that the thing table will take care of the sound, while the thing table's creator may have assumed that the function will take care of the sound. Even if they were the same person, he could have made a mistake this way, by failing to realize that neither the side he was currently working on, nor the other side, took care of the sound.

Something like this is very likely. We know that they had imp and demon images in Doom Alpha 0.2, so it's reasonable that they animated them before the caco. We also know from videos that the real sounds were added very late in development, as they were using Wolfenstein sounds for the longest time. It could also just be an evolution of how they chose to handle sounds. My guess is that they added monsters as they needed them for levels (and as they were drawn: drawing all those frames was probably the most lengthy task of all), and, once added, very little adjustment was done. I think they were having too much fun playing the game, to devote much time to tweaking health, radius, speed, etc. We know they totally botched height, for example. It's probably very lucky that we ended up with something as balanced as it is :) Good questions for Romero!

1 person likes this

Share this post


Link to post
On 10/11/2017 at 11:13 AM, Graf Zahl said:

Well, unlikely. Both Imp and Baron have a scratch attack, while the Cacodemon would bite and thus require a different sound.

 

A kind of bone-crushing chomp, perhaps?

Share this post


Link to post

^

 

 

Edited by rdwpa
1 person likes this

Share this post


Link to post

Doom 2's Map 10, Refueling Base, has no less than 18 secrets. I had always assumed that IWAD maps had no more than 6 or 7 in most cases. I was playing through it last night and found several secrets I had never known about. It's interesting that several secrets are in the same place (that former human/chaingunner area with all the alcoves and the yellow key), something I had never given much consideration to.

Share this post


Link to post

I love when I find secrets in the IWADs I never knew about. I conciously avoid looking at the IWADs in the editor for this very reason.

3 people like this

Share this post


Link to post

This is going to sound stupid but I did not know about the shareware version of doom. I though whole game was knee deep in the dead. i played it one or twice and played doom 2 since then..... Needless to say, I have been distracted and playing doom for about two days because of the "bonus" episodes.

 

1 person likes this

Share this post


Link to post

I was recently playing Doom 2 and noticed that in the rocket launcher animation, the "tab" goes invisible. Never noticed this. Is it in all source ports?

 

Screenshot 2017-11-12 at 19.15.38.png

Edited by _42_

Share this post


Link to post
1 hour ago, DemonusDefunctus said:

This is going to sound stupid but I did not know about the shareware version of doom. I though whole game was knee deep in the dead. i played it one or twice and played doom 2 since then..... Needless to say, I have been distracted and playing doom for about two days because of the "bonus" episodes.

 

It's not that stupid. Even John Carmack remarked that he sort of regrets the shareware release only because many people assumed Episode 1 was the entirety of Doom. I was the same way when I was younger. Had the shareware, played it many times, didn't understand at the time I had to do a mail order for the other two episodes. So when I got Doom II for Christmas, I just assumed it was split into "Shores of Hell" and "Inferno," like the README file on the shareware stated.

 

I actually didn't play the original Doom (plus Episode 4) until buying the Collector's Edition in the early 00s. And even then, I only bought it because I had lost Doom II at some point and wanted to play it again. That it included the original Doom and Final Doom was just a nice bonus for me.

1 person likes this

Share this post


Link to post
10 hours ago, _42_ said:

Is it in all source ports?

It's in the weapon's firing sprite. All ports should display this sprite when the weapon fires.

Share this post


Link to post
On 11/11/2017 at 7:07 PM, GoatLord said:

Doom 2's Map 10, Refueling Base, has no less than 18 secrets. I had always assumed that IWAD maps had no more than 6 or 7 in most cases. I was playing through it last night and found several secrets I had never known about. It's interesting that several secrets are in the same place (that former human/chaingunner area with all the alcoves and the yellow key), something I had never given much consideration to.

It's one of my favorite IWAD maps. It's cool, because, as soon as you start to move, no matter which way you go, you've got monsters coming after you from everywhere. Very tough pistol start map (for me, anyway). A fun fact: MAP10 was around in the Doom Alpha days, and was skipped entirely for Doom, and revamped for Doom II.

2 people like this

Share this post


Link to post

I like it a lot too, it's one of those maps where you can get this whole parade of baddies trailing behind you. It makes for an extremely chaotic playthrough and you can have a different experience each time. My only quip is that, like several Doom 2 maps (such as The Inmost Dens), it has somewhat ugly texturing and that brings down the experience just a bit...

1 person likes this

Share this post


Link to post
22 hours ago, GoatLord said:

I like it a lot too, it's one of those maps where you can get this whole parade of baddies trailing behind you. It makes for an extremely chaotic playthrough and you can have a different experience each time. My only quip is that, like several Doom 2 maps (such as The Inmost Dens), it has somewhat ugly texturing and that brings down the experience just a bit...

Yeah, Doom II feels like a rush job in so many ways. I hate to think that they were just having too much fun playing Doom to do justice to Doom II. I imagine their map tools were probably kinda sketchy, without the years of refinement, and countless thousands of people thinking about it, like we do. Also, it's hard to remember just how slow those old computers were - node/reject building, and just starting the game took a long time. But, knowing what a hit Doom was, it seems like they could have produced something that looks a little better. Abstract design only goes so far for me. Ironically, my favorite Doom II map is a map that was around before the first Doom...

Share this post


Link to post
1 hour ago, kb1 said:

Yeah, Doom II feels like a rush job in so many ways. I hate to think that they were just having too much fun playing Doom to do justice to Doom II. I imagine their map tools were probably kinda sketchy, without the years of refinement, and countless thousands of people thinking about it, like we do. Also, it's hard to remember just how slow those old computers were - node/reject building, and just starting the game took a long time. But, knowing what a hit Doom was, it seems like they could have produced something that looks a little better. Abstract design only goes so far for me. Ironically, my favorite Doom II map is a map that was around before the first Doom...

I wonder how Doom II would have been released in 2017. Probably just some DLC, right? Doom II, with a few minor exceptions, was effectively just a set of new maps for Doom, anyway.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now