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

Imp gibbed Former human?

Recommended Posts

2 mins ago I was playing doom and when I arived at e2m3 (UV) I ran to the berserker pack in the next room. As soon as I picked it up a former human tried to shoot me but instead hit an imp. As I punched one of the cacodemons to dead I saw the imp hurl a fireball to the former human and it gibbed. I was like: WTF? Is that even possible?
Does someone have a clarification for this?

EDIT: another example: I also gibbed an Imp with the plasma gun once :S

Share this post


Link to post

To gib a monster, you have to get it to negative of its starting health. Former humans have 20 health. Imp fireballs do from 3-24 damage. So if the former human had 4 health or less, it is possible.

Edit: I see your edit and I can't explain that one, since Imp has 60 health and a plasma ball does up to 40. I also don't understand why a BFG blast can gib but a Super Shotgun can't.

Share this post


Link to post
DuckReconMajor said:

I also don't understand why a BFG blast can gib but a Super Shotgun can't.

Because SSG does 20 small separate attacks, instead of one big attack.

Share this post


Link to post
DuckReconMajor said:

To gib a monster, you have to get it to negative of its starting health. Former humans have 20 health. Imp fireballs do from 3-24 damage. So if the former human had 4 health or less, it is possible.

Edit: I see your edit and I can't explain that one, since Imp has 60 health and a plasma ball does up to 40. I also don't understand why a BFG blast can gib but a Super Shotgun can't.


I've looked at the Doom source code, and if I remember correctly the super shotgun works by doing about 40 "line attacks" in a loop, giving each one random damage and a random angle. So maybe each one counts as a different attack? Or maybe only projectiles can gib enemies?

Share this post


Link to post
DuckReconMajor said:

Edit: I see your edit and I can't explain that one, since Imp has 60 health and a plasma ball does up to 40. I also don't understand why a BFG blast can gib but a Super Shotgun can't.


A shotgun pellet does between 5 and 15 points of damage. No pellet can deal enough harm to gib a monster: even the lowly zombieman has 20 health.

A BFG, on the other hand, does a lot more damage. The main ball does between 100 and 800 points of damage; and each tracer does between 49 and 87 points of damage. The average damage for the ball is therefore 450, and the average damage for a tracer is therefore 68. Suppose an imp is hit by a first tracer and it deals a bit less than 60 damage: the imp survives to intercept another tracer, which will probably make enough damage to bring him to -60. If an imp is hit by the main ball, it'll usually (statistically 7 times out of 8) suffer more than 120 damage and therefore be gibbed as well.


@bgraybr: no, the shotgun shoots 7 hitscan pellets that deal 1d3*5 damage. The SSG shoots 20 of the same. The BFG shoots one big ball that deals 1d8*100 damage and, when it explodes, it shoots 40 tracers from the player in a cone, each dealing 15d8 damage. (Not 1d8 *15 contrarily to other attacks. It actually uses a for loop and make 15 different rolls for each of the 40 tracers. The minimum and maximum are 49 and 87 in vanilla Doom at least because of the pseudo-random number generator's limitations; theoretically it'd be between 15 and 120 damage if it were truly random.)

Share this post


Link to post
Jodwin said:

Because SSG does 20 small separate attacks, instead of one big attack.

Unless you've got a 40 core processor taking each of the tracer rays, I don't understand what you mean.

bgraybr said:

Or maybe only projectiles can gib enemies?

It'll gib even if the ball doesn't hit.

Gez said:

Suppose an imp is hit by a first tracer and it deals a bit less than 60 damage: the imp survives to intercept another tracer, which will probably make enough damage to bring him to -60.

Ah, I see, thanks.

edit: ok, now that that is all straightened out, how bout that plasma?

Share this post


Link to post

DuckReconMajor said:
Unless you've got a 40 core processor taking each of the tracer rays, I don't understand what you mean.

He means that the extreme death mode can only be produced by a single attack, and none of the 20 pellets can produce enough damage by itself to gib anything that can be damaged which is normally in the game.

darkfusion said:
EDIT: another example: I also gibbed an Imp with the plasma gun once :S

That's possible only in a mod that increases plasma damage from its usual damage of 5 (5-40) to 9 (9-72) or more, decreases the imp's hit points to 40 or less, or both.

Share this post


Link to post
myk said:

He means that the extreme death mode can only be produced by a single attack, and none of the 20 pellets can produce enough damage by itself to gib anything that can be damaged that's normally in the game.

Right, but I didn't know why he called a BFG blast "one big attack".

Share this post


Link to post

The BFG has both one big attack and forty small ones. :p

DuckReconMajor said:

Unless you've got a 40 core processor taking each of the tracer rays, I don't understand what you mean.


Let's look at what happens when you pull the trigger of your trusty sawed-off:

The A_FireShotgun2 function is run.

//
// A_FireShotgun2
//
void A_FireShotgun2 (player_t* player, pspdef_t* psp) 
{
    int		i;
    angle_t	angle;
    int		damage;
		
	
    S_StartSound (player->mo, sfx_dshtgn);
    P_SetMobjState (player->mo, S_PLAY_ATK2);

    player->ammo[weaponinfo[player->readyweapon].ammo]-=2;

    P_SetPsprite (player,
		  ps_flash,
		  weaponinfo[player->readyweapon].flashstate);

    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);
    }
}
It does a ton of boring stuff, like playing sounds, changing the player sprite, depleting ammo and so on. Boring. But it also does some interesting stuff: see that "for (i=0 ; i<20 ; i++)" loop? That means that it's going to run through the following code twenty times. And what's that code? Why, it's the damage computation (5 times a random number between 1 and 3), some random spread computation, and, yes, the attack.

All that is run in a matter of microseconds, and in a single tic, so it seems to all happen at the exact same time for us. But it's actually 20 separate attacks, made each after the other. The other shotgun works like that too (except there's only seven iterations in the loop, rather than 20, and there's no vertical spread), and so does the BFG's tracer (with, again, small differences).

By the way, that's why a single shotgun blast can kill two or more enemies in one go: one attack kills the first enemy, and since it's now dead it's no longer shootable, so it doesn't intercept the next attacks which are free to hit another enemy behind it. If the attacks were all at the same time (no matter the technical impossibility), they'd all be intercepted by the same enemy (unless it misses entirely because of the spread of course)...

Share this post


Link to post

DuckReconMajor said:
Right, but I didn't know why he called a BFG blast "one big attack".

Ah... BFG blast can be interpreted as the big ball.

Share this post


Link to post
myk said:

Ah... BFG blast can be interpreted as the big ball.

Ooh, heh. Yeah, in gib conversations I always take the ball part for granted because it was always obvious to me how the ball could do a gibbin' but I was always mesmerized at how the others around it dropped.

We did get a lengthy paragraph out of Gez, though :)

Gez said:

The BFG has both one big attack and forty small ones. :p

Yeah but the tracers come a bit after the ball, right? The core playing with the ball would be done by then.

Share this post


Link to post

because technically each pellet is hitting the zombieman in sequence, and when enough of the pellets hit him enough to kill him, the rest pass directly through and hit whatever is behind him.

Share this post


Link to post
DuckReconMajor said:

We did get a lengthy paragraph out of Gez, though :)Yeah but the tracers come a bit after the ball, right? The core playing with the ball would be done by then.


Doom's gameplay mechanics and state are atomic and meant to be processed in a single-threaded fashion, because of the interaction priorities.

Nothing prevents splitting damage or other kinds of gameplay computations across multiple threads, but it would only make it more of a PITA for developers to maintain, present opportunities for sync issues/bugs, inconsistent results, almost impossible demo recording and playback, and would with mathematical certainty run slower because of the overhead.

Share this post


Link to post

Well, when I said "taking each of the tracer rays", I was implying that it was set up to be handled this way, along with shared imp memory they somehow access at the same time.

And don't you DARE tell me that MOAR COREZ =/= FASTER! I will put my fingers in my ears and go "la la la"

Share this post


Link to post

Unless you run MS-DOS, more cores are faster because different, non-Doom process can be shunted to other cores. And there are a lot of processes on a computer nowadays.

It's just that for a single application, multithreading is not necessarily useful. As far as Doom goes, you can quite safely get the sound engine in its own thread, maybe even the input handling code. But everything else will need to be in a single thread.

Share this post


Link to post
Gez said:

It's just that for a single application, multithreading is not necessarily useful. As far as Doom goes, you can quite safely get the sound engine in its own thread, maybe even the input handling code. But everything else will need to be in a single thread.


Exactly. Offloading UNRELATED or loosely-coupled processes to another core is -almost- always a win-win situation, but the music changes dramatically when you have to do computations with interdependencies, computations that rely on precise order of certain results etc. or just single application that offload THE SAME TASK to ALL available cores, saturating both CPU and I/O capacities very quickly, plus requiring synchronization mechanisms etc.

I had to deal with the inherent problem in parallel computing during my thesis and solve them when applied to my particular problem (e.g. parallelization, but for a good beginning look upon the following terms:

  • Amdahl's law
  • Parallel computing efficiency
  • Parallel computing scalability
  • Inherently parallel/serial problem
  • Thread barrier
  • Race condition
  • Deadlock
  • Critical dependencies path
Just because multi-core (hah! We're still talking about 2-4 cores for Joe Consumer here) has become "t3h f4d" and is considered all fancy and shit, doesn't mean the basic principles governing parallel computing have become invalid. And any serious CS would laugh at the notion that just because you threw N cores at a problem, it WILL run N times faster.

Share this post


Link to post

This thread inspired me to go out and gib a Cyberdemon with a pistol. At least, it must've been a gib because he exploded and left behind nothing but a leg and some red chunks.

That's one hell of a pea-shooter. :P

Share this post


Link to post
Xaser said:

That's one hell of a pea-shooter. :P


Not to mension the AWESOME POWER of DOOMGUY'S FIST which can RIP AND TEAR some poor cybie's butt!!!!!!!!!!111!!!

Share this post


Link to post
Xaser said:

This thread inspired me to go out and gib a Cyberdemon with a pistol. At least, it must've been a gib because he exploded and left behind nothing but a leg and some red chunks.

That's one hell of a pea-shooter. :P


Have you seen how many rockets those things pump out? They have to keep them somewhere! I always just thought cyberdemon death meant you'd pierced through their cold hard exterior to their warm fuzzy rocket storage heart, which was why they explode.

Share this post


Link to post

I've seen an imp gib a former human with his melee attack once or twice but I always found the Revenant's punch gibbing zombiemen or shotgunners amusing...tho it's also amusing seeing a baron/knight gibbing an imp or commando with their melee attack.

Share this post


Link to post
ElFuzzo said:

Have you seen how many rockets those things pump out? They have to keep them somewhere! I always just thought cyberdemon death meant you'd pierced through their cold hard exterior to their warm fuzzy rocket storage heart, which was why they explode.


For what do you think Cyberdemon has that big butt?

Share this post


Link to post
Clonehunter said:

I wish we could gib demons... It would be cool to see pink flesh fly!


Some mods I've seen do allow this, with custom sprites for gibbing. However, they don't look too great and I can't exactly remember which wads they are in.

Share this post


Link to post
Ultraboy94 said:

Some mods I've seen do allow this, with custom sprites for gibbing. However, they don't look too great and I can't exactly remember which wads they are in.

Two mods I know do this are Beautiful Doom and Demon Eclipse.

Share this post


Link to post

I have seen a Spectre gib a former human and even a shotguy before, they must reduce the health to < 0 and gib them that way, like how sometimes you can gib a zombieman with the plasma rifle.

Share this post


Link to post
Clonehunter said:

I wish we could gib demons... It would be cool to see pink flesh fly!


Printz is back in the house.

There are bestiary monsters who can be gibbed. If I remember correctly, the blood fiend. Heh, even some baron variants can be gibbed, for reasons only the developers know.

EDIt:

Quake does it somehow to combine all the trace-hit damages hitting a given creature into one big damage, hence the possible gibbing in there. Naturally, due to that wasting of damage into a c001 effect, the piercing blast effect was gone. I think this is available for ALL games with gibbage, such as |>()()|\/| 3

But can people be exploded in real life by rifle bullets? Do Hokuto Shinken pressure points REALLY exist?

Share this post


Link to post

Of course not.

Also, some weapons (notably the tier 4 weapons in Hexen) always gib when they kill, regardless of damage inflicted.

Share this post


Link to post
printz said:

But can people be exploded in real life by rifle bullets?

Not exploded, but gibbed. Yes.

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
×