Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Kyka

Hitscan shots that miss... wtf?

Recommended Posts

yeah so bear with me while I explain this. This is probably the biggest mystery to me ever in Doom and something I have never worked out.

 

Let us say that you have a shotty. And there is a couple of imps above you on a raised platform. And you shoot at the imps. And thanks to the wonders of auto-aim, the 7 pellets from your shotty rise up and head towards the imps. But somehow all 7 pellets miss. Now, the fact that the shotty auto targeted upwards at the imps means that the imps were in line to be hit by your hitscan shot. So how the f**k can the shotty miss in that instance? Because hitscans are instant hit, so it is not as if the imps could dodge or something. And I have seen the same thing happen with the pistol and the chaingun. Bullets target up or down but then miss their target and hit the wall behind, even though they must have targeted the, well, the target to be able to travel up or down.

 

How is this possible?

Share this post


Link to post

Sounds like you're not familiar with the blockmap bug, which is the most likely explanation. This article explains it in more detail. It's also why attempting to melee certain enemies is difficult unless you aim directly for their center.

 

ZDoom fixes this bug, however, so if you're using that port (though "Doom (strict)" might reinstate the bug) then this wouldn't be the problem. Wouldn't know what else would cause it.

Share this post


Link to post

the range a target has to be to auto aim at it is a little wider than than the spread of the guns fire, so its not totally unusual that you can autoaim at an imp with the shotgun, and not all 7 pellets sink for the imps heart, because the pellets spread. A couple might hit its right shoulder and the rest of them go to the left for example.

 

if you're playing a non-ZDoom based port, there is such a thing as a "blockmap bug." I forget what the technical explanation for it is, but sometimes depending on where a monster is standing in alignment with the grid, some hitscan bullets will simply pass through the monster. Its frustrating, yes. Especially if you're in a tiny room with a hell knight or a group of imps and every super shotgun needs to land to keep yourself from being cornered. But I try to rationalize it as some bullets passing over its shoulder or between his arm and torso, etc.

Share this post


Link to post
1 hour ago, CapnClever said:

Sounds like you're not familiar with the blockmap bug, which is the most likely explanation. This article explains it in more detail. It's also why attempting to melee certain enemies is difficult unless you aim directly for their center.

 

ZDoom fixes this bug, however, so if you're using that port (though "Doom (strict)" might reinstate the bug) then this wouldn't be the problem. Wouldn't know what else would cause it.

Yea, Zdoom Strict compatibility has this bug and yea, it's probably the blockmap bug. 

Share this post


Link to post
1 hour ago, CapnClever said:

It's also why attempting to melee certain enemies is difficult unless you aim directly for their center.

Actually, it is difficult unless you aim for their corner, because you need to hit the monster's "cross-section", aka one of the diagonal lines between the opposite corners of the monster's hitbox, and if the monster's radius is wide, the line might be too far from you if you aim for the center, but close enough if you aim for the corner.

Share this post


Link to post

We've all been there. You round a corner, find yourself face to face with a Shotgun Sergeant. You pull the trigger, and all 20 of your lovely SSG pellets sail merrily through him and decorate the wall behind him.

 

He smiles. He knows. He waits for just long enough for you to realize what has happened, and gives it to you with both barrels.

 

As the Doomguy lies gurgling in his own blood, his dying whisper echoes down the hall...

 

"Damn you Blockmap..."

Share this post


Link to post
17 hours ago, CapnClever said:
14 hours ago, Bauul said:

We've all been there. You round a corner, find yourself face to face with a Shotgun Sergeant. You pull the trigger, and all 20 of your lovely SSG pellets sail merrily through him and decorate the wall behind him.

 

He smiles. He knows. He waits for just long enough for you to realize what has happened, and gives it to you with both barrels.

 

As the Doomguy lies gurgling in his own blood, his dying whisper echoes down the hall...

 

"Damn you Blockmap..."

Well said Bauul. Also, I have just realised that my name is a bizarre tribute to the blockmap bug.

17 hours ago, CapnClever said:

Sounds like you're not familiar with the blockmap bug, which is the most likely explanation. This article explains it in more detail. It's also why attempting to melee certain enemies is difficult unless you aim directly for their center.

 

ZDoom fixes this bug, however, so if you're using that port (though "Doom (strict)" might reinstate the bug) then this wouldn't be the problem. Wouldn't know what else would cause it.

Good sir I am aware of the blockmap bug, though not its deeper technical aspects. I am not referring to hitscan shots passing through a monster, but missing the monster entirely, even though the game has autoaimed up or down and therefore should not be able to miss, I would have thought.

 

I have seen the blockmap bug in action a number of times, (But only in the last few years, since I 'discovered' it and know to look for it.)

 

I am using ZDoom but not in strict compatibility mode. I also use Chocolate Doom when able to do so. I don't use PrBoom as my system hates it for whatever reason.

17 hours ago, CapnClever said:

edit... this new quoting thing is kinda f***ked up. My bad, I am used to cutting and pasting if I want to quote several people. And that does clearly not work here. :(

Share this post


Link to post
17 hours ago, 40oz said:

the range a target has to be to auto aim at it is a little wider than than the spread of the guns fire, so its not totally unusual that you can autoaim at an imp with the shotgun, and not all 7 pellets sink for the imps heart, because the pellets spread. A couple might hit its right shoulder and the rest of them go to the left for example.

 

Soz double post. I already messed up the f**kn quoting system badly enough. I am referring to this situation you speak of, but every one of the pellets misses. Not passes through, like in the blockmap bug, but misses entirely, in spite of the vertical autoaim.

Share this post


Link to post

It's just Doom's pellet spread. Since you're aiming at the enemy, the vertical autoaim kicks in, but the spread is quite wide for the shotgun, so all 7 pellets end up to the enemy's left or right. This will pretty much never occur if you're less than 128 units away from an enemy, but with even just a little range, the pellet spread can screw you at times since the pellets have a potential variance from the actual spot you're aiming at. You're not going crazy, it's definitely a thing that happens. Trust me, it's even more frustrating in a deathmatch!

Share this post


Link to post
9 hours ago, bLOCKbOYgAMES said:

Soz double post. I already messed up the f**kn quoting system badly enough. I am referring to this situation you speak of, but every one of the pellets misses. Not passes through, like in the blockmap bug, but misses entirely, in spite of the vertical autoaim.

To quote multiple people, press the + button next to where it says "quote" after everyone's message you want to quote. It'll create a new reply with all the quotes neatly included. Took me a while to work that out too!

 

On topic, vertical autoaim will point the gun to the right vertical angle, but it won't stop the bullets spreading to either side of the enemy. That's hard-coded into the projectiles.  Autoaim works horizontally too - you'll automatically aim at monsters a good 10 degrees either side of your crosshair (in vanilla anyway).

 

However, the first shot of the chaingun and pistol doesn't have bullet spread. So if the enemy is at distance, the only way to guarantee your hitscans will hit is by tapping fire with those two weapons.

Share this post


Link to post

You say the imps were higher than you? Maybe autoaim aimed the shot at their feet and you hit the wall below them. I would use freelook and turn off autoaim. Then, except for the randomness of the spread, your shot will go where you aim, or at least the spread will be centered where you aim.

Share this post


Link to post
On 20/03/2017 at 4:58 PM, Doomkid said:

It's just Doom's pellet spread. Since you're aiming at the enemy, the vertical autoaim kicks in, but the spread is quite wide for the shotgun, so all 7 pellets end up to the enemy's left or right. This will pretty much never occur if you're less than 128 units away from an enemy, but with even just a little range, the pellet spread can screw you at times since the pellets have a potential variance from the actual spot you're aiming at. You're not going crazy, it's definitely a thing that happens. Trust me, it's even more frustrating in a deathmatch!

Oh Ok. So i think the solution to my question is that the engine autoaims first, and targets the monster in that moment, but then applies a pellet spread, which would cause even an aimed hitscan to miss. Thank you.

On 21/03/2017 at 1:45 AM, Bauul said:

To quote multiple people, press the + button next to where it says "quote" after everyone's message you want to quote. It'll create a new reply with all the quotes neatly included. Took me a while to work that out too!

 

On topic, vertical autoaim will point the gun to the right vertical angle, but it won't stop the bullets spreading to either side of the enemy. That's hard-coded into the projectiles.  Autoaim works horizontally too - you'll automatically aim at monsters a good 10 degrees either side of your crosshair (in vanilla anyway).

 

However, the first shot of the chaingun and pistol doesn't have bullet spread. So if the enemy is at distance, the only way to guarantee your hitscans will hit is by tapping fire with those two weapons.

Yeah got it. So the engine autoaims first, and then applies a pellet spread to all of the pellets. I guess i had always assumed that in a shotgun hitscan attack that at least one of the pellets should hit. But apparently this is not the case. Thank you for the reply.

 

And thank you for explaining the multiquote thing too.

On 21/03/2017 at 2:24 AM, Empyre said:

You say the imps were higher than you? Maybe autoaim aimed the shot at their feet and you hit the wall below them. I would use freelook and turn off autoaim. Then, except for the randomness of the spread, your shot will go where you aim, or at least the spread will be centered where you aim.

No it wasn't hitting the wall below them, but behind them. I think the randomness of the spread applied after the autoaim hitscan would explain what i am seeing. i had always assumed that at least one pellet should hit from a shotgun blast once the autoaim had targeted something.

Share this post


Link to post
7 hours ago, bLOCKbOYgAMES said:

So i think the solution to my question is that the engine autoaims first, and targets the monster in that moment, but then applies a pellet spread, which would cause even an aimed hitscan to miss.

This is correct. For example, here is the relevant part of the SSG firing code:

    P_BulletSlope (player->mo);
	
    for (i=0 ; i<20 ; i++)
    {
	damage = 5*(P_Random ()%3+1);
	angle = player->mo->angle;
	angle += (P_Random()-P_Random())<<19;
	P_LineAttack (player->mo,
		      angle,
		      MISSILERANGE,
		      bulletslope + ((P_Random()-P_Random())<<5), damage);
    }

P_BulletSlope calculates the vertical inclination of the shot as a whole (and saves it into a global variable "bulletslope", used on the last line), but then each pellet's spread (both vertical and horizontal) is randomized individually, by adding random values to the player's horizontal angle and to the vertical inclination from P_BulletSlope.

Share this post


Link to post
On 3/19/2017 at 8:30 AM, CapnClever said:

Sounds like you're not familiar with the blockmap bug, which is the most likely explanation. This article explains it in more detail. It's also why attempting to melee certain enemies is difficult unless you aim directly for their center.

 

ZDoom fixes this bug, however, so if you're using that port (though "Doom (strict)" might reinstate the bug) then this wouldn't be the problem. Wouldn't know what else would cause it.

Welp, That explains why it's so hard to berserk punch in vanilla.

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
×