Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
Zed

Zombie Players

Recommended Posts

Hello there, fellow doomers.

This time I've got a question about zombie players:

A couple of days ago I was playing through the first Community Chest, MAP20: Technodrome. This level has a number of voodoo dolls. Now, I know about the ones used for the "timer", but I'd like to refer to something in particular: zombie players. From what I can read in the wiki, there seem to be two types of zombie players:

Case one:
-Player has less than 100% health
-Player encounters voodoo doll
-Player attacks voodoo doll (or it's damaged by monsters), taking own's health below zero (if I understand correctly, at this point the voodoo doll has more than 0% health)
-Player enters in zombie state: From the Wiki: "The undead player can move around, but cannot select any weapons, and will die if damaged further. Monsters who were already pursuing the player continue to do so, but other monsters cannot target the player until his health becomes 1% or higher.

Undead players can pick up objects, open doors, and press switches. If an undead player exits a level, he loses the ability to pick up objects, effectively trapping him in the undead state until he finds a way to take damage. Exiting the level with positive health restores all normal abilities, including the use of any weapons and ammo picked up while undead."

Case two:
-Player has more than 100% health
-Player encounters voodoo doll
-Player (or monsters) attacks voodoo doll, taking the voodoo doll's health below zero (the actual player still has more than 0%)
-Again, quoting the Wiki: "Like the other undead player, the weapon is lost. The differences start in that the player cannot move, and the screen lowers to the floor as if you are dead. The difference is that the HUD face does not appear dead, and will instead look around as if alive. Another difference is that the actual player can still be attacked. Eventually when the actual player's health is depleted to zero, then the normal death sequence takes place."

Now, what happened to me was a little different.

My case:
-I had like 25-30% health, well below 100%.
-I had just entered the yellow doors, which were already closed (I mention this because there is a couple of voodoo dolls at the top of the stairs before opening the yellow doors which may be hit by mistake if, for example, a monster attacks, player dodges, and the doll takes the damage; this wasn't the case).
-I was attacked, my health dropped to 0%. Here is where the problems begin:

-I could still move (as in Case one)
-The screen lowered to the floor, like if I was dead (Case two)
-The face in the HUD was "dead" (Case one, I think)
-I could not select/fire any weapons (Case one)
-It seems that I still had some health (despite being in 0%), because I still received a shot by a sergeant and a couple of blows by an imp before actually dying (you know, the aarrgh!! and all that) (Case two)
-Monsters that had been chasing me continued to do so (Case one), but I could still alert, and get attacked by other monsters (Case two)

Now, I don't know if a voodoo doll was damaged earlier in the level (and I don't know if this could explain it), and I'm sure the dolls at the top of the stairs weren't being attacked (I was at the other side of the doors, which were already closed, so the doll being hit by mistake was not the case; also, I'm not sure, but it seems that monsters don't target voodoo dolls intentionally, right?)

Anybody could explain what happened?

Thanks in advance, and good day.

Share this post


Link to post

I don't understand this problematique well, I'm only gonna tell you one thing:

The behaviour varies in different ports, specially ZDoom based ones.

I have experienced on one of the Vanguard maps that at the start I forcedly picked a megasphere, and then I always died whenever my health dropped below 100%. I played in Zandronum.

Share this post


Link to post

That's a good point, thanks for mentioning it. I was playing in PrBoom 2.5.0, but yeah, I would like to know how this works around the various source ports.

Share this post


Link to post
Zed said:

From the Wiki: "The undead player ... will die if damaged further.

The Wiki is wrong. To understand how zombie players work, remember that the player actually has two health stats: the number on the status bar, and the player Thing's hit points. In the absence of voodoo dolls, these numbers will always be the same. When voodoo dolls are involved, however, the status bar health will decrease if either the doll or the real player is damaged, but only one of the two Things will lose actual hit points (the one which was damaged, obviously). In your case, damaging the voodoo doll caused your status bar health to drop to zero, but since the real player Thing wasn't damaged, its hit points remained at 25-30%, and you don't properly die until they (or the voodoo doll's hit points) are reduced to zero as well (which, contrary to what the Wiki implies, may take multiple hits).

Zed said:

-The screen lowered to the floor, like if I was dead (Case two)
-Monsters that had been chasing me continued to do so (Case one), but I could still alert, and get attacked by other monsters (Case two)

These shouldn't normally be possible. In vanilla at least, the only known way that the view can lower to the floor while still being able to move around is by a multiplayer respawn glitch (in which the player remains a corpse after failing to respawn correctly). No such behaviour can be caused by voodoo dolls.

Zed said:

Now, I don't know if a voodoo doll was damaged earlier in the level (and I don't know if this could explain it),

No, that would not explain it.

Zed said:

also, I'm not sure, but it seems that monsters don't target voodoo dolls intentionally, right?

Right.

Zed said:

That's a good point, thanks for mentioning it. I was playing in PrBoom 2.5.0, but yeah, I would like to know how this works around the various source ports.

I'm pretty sure PrBoom has exactly the same voodoo doll behaviour as vanilla. I have no idea what could have caused the behaviour you experienced.

Share this post


Link to post
Foxpup said:

These shouldn't normally be possible. In vanilla at least, the only known way that the view can lower to the floor while still being able to move around is by a multiplayer respawn glitch (in which the player remains a corpse after failing to respawn correctly). No such behaviour can be caused by voodoo dolls.


You are right, I tried it again and the screen didn't lowered (but curiously enough, almost every time I die in this level this whole "zombie shit" happens), but everything else is just like I mentioned it.

So, the wiki is wrong. What should be changed? Are there more than 2 types of zombie players? Is the wiki missing something, or we should add some missing info?

Share this post


Link to post

Actually, it would be more helpful if you remembered what WAD you had this problem with, with what compatibility settings, and see whether you can replicate it and produce a LMP demo of it occuring.

Even if you do, however, and it's determined to be a bug, it's unlikely it will be fixed as prBoom (not prBoom-plus) is not actively maintained AFAIK, or it might be fixed already elsewhere.

Share this post


Link to post
Zed said:

but curiously enough, almost every time I die in this level this whole "zombie shit" happens

No "zombie shit" can possibly happen unless a voodoo doll is damaged or killed. While voodoo dolls being accidentally damaged is unusually likely on this particular level, the mere presence of a voodoo doll does not, by itself, cause zombie behaviour.

Zed said:

So, the wiki is wrong. What should be changed?

The "will die if damaged further" bit should be changed to reflect the fact that the player or the voodoo doll must be sufficiently damaged to bring the corresponding Thing's (non-indicated) hit points to zero. Also, the part about voodoo dolls not working in Doom Legacy should be removed. As of version 1.44, voodoo dolls do work in Doom Legacy, which also fixes various glitches that can result from voodoo dolls (and has a compatibility option to restore vanilla behaviour).

Zed said:

Are there more than 2 types of zombie players? Is the wiki missing something, or we should add some missing info?

No, there are only 4 possible living/dead states the player can be in, 2 of which are the 2 types of zombies:

+---------------------------+---------------+---------------+
|                           |  Health = 0   |  Health > 0   |
+---------------------------+---------------+---------------+
| All players & dolls alive | Case 1 zombie | Normal alive  |
| Any player or doll dead   | Normal dead   | Case 2 zombie |
+---------------------------+---------------+---------------+

Share this post


Link to post

No! there are only 4 possible living/dead states the player can be in, 2 of which are the 2 types of zombies!


And then Zed was a third type of zombie.

Jokes apart, a thing that hasn't been proposed so far is some voodoo doll gaining health during this process, e.g. by being pushed around onto health bonuses.

Voodoo dolls can pick items up and be pushed back by fire, and this is sometimes exploited in some maps as a gimmicky "give items" action, which even works in vanilla. This might disrupt the "normal" zombie-ification processes, if picking up health occurs during one of the critical phases.

Share this post


Link to post
Maes said:

Jokes apart, a thing that hasn't been proposed so far is some voodoo doll gaining health during this process, e.g. by being pushed around onto health bonuses.

Voodoo dolls can never gain hit points (except by being hit by an attack that does negative damage, but there's no such thing outside of DeHackEd patches). A voodoo doll picking up a health item adds hit points to the real player Thing, not the voodoo doll. (Actually, it sets the real player Thing's hit points to the player's new health, so a case 2 zombie is not possible by this method, regardless of all other factors.) Similarly, voodoo dolls will fail to pick up health items if the real player is at maximum health, regardless of the doll's health. And a dead doll cannot pick up anything, obviously.

Maes said:

This might disrupt the "normal" zombie-ification processes, if picking up health occurs during one of the critical phases.

There is an edge case where a case 1 zombie will switch to an undefined weapon if a health item is picked during the weapon lowering animation (described in the Wiki), but this happens regardless of whether it was the doll or the real player who picked up the item (another Wiki inaccuracy, or omission rather).

Share this post


Link to post
Foxpup said:

Voodoo dolls can never gain hit points (except by being hit by an attack that does negative damage, but there's no such thing outside of DeHackEd patches...


...whose use hasn't been explicitly ruled out by the OP, so far, so anything could go. This could very well end up being one of those "Oh, I was also loading some custom DEHs/PWADs along with it/using a beta/hacked/custom version of the .exe. Well duh, soooorreee!!!!" stories.

If that's not the case though, then at this point it's a case of "LMP or it didn't happen". It would be interesting to see if the effects are reproducible on other "almost" vanilla (or Boom?) compatible ports, with the proper settings.

Share this post


Link to post

OK, so is there a definite explanation of what are voodoo dolls, what can they do, how they work?

Maes said:

If that's not the case though, then at this point it's a case of "LMP or it didn't happen". It would be interesting to see if the effects are reproducible on other "almost" vanilla (or Boom?) compatible ports, with the proper settings.


I'll try to do it again. LMP coming soon (I hope; PrBoom 2.5 compatible).

Share this post


Link to post
Zed said:

OK, so is there a definite explanation of what are voodoo dolls, what can they do, how they work?

At the start of the level, the game goes through each Thing in the map in sequence and spawns the appropriate object. If that Thing is a player start, the game will spawn a player object if that player is in the game (player 1 is always present in single-player games, players 2-4 are only spawned in multiplayer, obviously), and associate the newly spawned object with that player (for viewpoint, movement, etc). If there is more than one player start for a particular player in single player or coop (deathmatch starts work differently, and voodoo dolls cannot be spawned in deathmatch), the game will simply spawn a duplicate player object, and associate the player with the new player object, leaving multiple player objects associated with the player. Only the most recently spawned player object (the highest-numbered Thing) will have the player's viewpoint and movement (the others just stand still and you can't see their point of view), but all of the player objects have their damage associated with the player's health. Thus damaging either player object will cause the player's health to decrease.

The zombie player glitch results because health is not the same thing as hit points. All Things have hit points (but only shootable Things actually use them), including the player object(s), but the player's health (as indicated on the status bar) is not the same thing. Normally this is never noticed, because damaging a player object causes the player's health to be reduced by the same amount, so the numbers should always be identical. When voodoo dolls are involved, they are not. For example, if the player and a voodoo doll are both hit for 10 damage, the player will lose 20 health, but the player object will only lose 10 hit points. Thus the health can be desynced from hit points, which leads to a problem when one of the two numbers drops to zero.

Doom considers a monster or player to be dead when the Thing's hit points are reduced to zero. This has the consequence that reducing a voodoo doll's hit points to zero will cause the player to "die" (faceplant, can't move, can't do anything except restart/respawn), regardless of how much health he actually has. However, the real player object still has nonzero hitpoints, so it can still be attacked, and may eventually "die" again. In fact, if you respawn in multiplayer, you can see your "corpse" still standing there, and you can "re-kill" it yourself. This will not harm you, since respawning disassociates the player from the "corpse" (but not from any surviving voodoo dolls, so they will still be active).

The case 1 zombie is the reverse of this. The player's health is reduced to zero (triggering the loss of his weapon), but not the player object or the voodoo doll's hit points. With nonzero hit points, the player is not considered to be dead, and can move around and do most things that a living player can do (except fire or wake up monsters, since monsters can't be awoken by dead players, and the player's health is used to determine this).

Exiting the level causes a new player object to spawned, with its hit points set to the player's current health, ending all zombie shenanigans... unless the player still had zero health when exiting the level. There is special handling for dead players exiting levels, but since the player isn't considered dead, this doesn't come into play. Instead, the new player object is spawned with zero hit points, and is now considered truly dead (cannot be attacked, cannot pick up items, etc), except that since it didn't go through the normal death sequence, the view height is still normal, and you cannot restart/respawn.

That's how zombie players work. The other main effect of voodoo dolls is that they can, if propelled by an outside force (directional damage or conveyor belt), pick up items and trigger walkover linedefs (including level exits), and the game will treat these events as though they were triggered by the corresponding player (items picked up by a voodoo doll will be added to the player's inventory, for instance).

In all other respects, voodoo dolls act like monsters (or rather Keens, since they cannot voluntarily move or attack). Voodoo dolls do not wake up monsters, and monsters will never deliberately attack a voodoo doll (unless provoked, but that's impossible because voodoo dolls cannot attack). Voodoo dolls can be damaged by crushing ceilings but not damaging floors, and cannot telefrag anything except on MAP30 (though the real player can always telefrag any voodoo doll, even his own, which is used in some instant death traps). Dead voodoo dolls cannot be resurrected by Arch-Viles (because they have no resurrection frame), do not respawn in Nightmare! mode (because they don't count as kills), nor do they respawn in multiplayer when the corresponding real player does (which means any tricks involving the death of a voodoo doll will only work once in multiplayer).

I think that covers just about everything. Note that this only applies to vanilla Doom, Boom, and strictly compatible ports. Other source ports may alter voodoo doll behaviour (in particular, Doom Legacy has some neat enhancements for voodoo doll behaviour, but that's a whole new topic).

Share this post


Link to post

OK, so I finally had some time and recorded the demo. In fact, they are two:

In the first one, happens what I was saying. I reach zero, face in HUD dies, I can still move, can't select/fire weapons, and still receive a couple of hits before dying (this is not obvious because both are almost at the same time, but you can still hear the "hurt" sound before the death one). Now, two things:

-I think I mistakenly hit a voodoo doll with the SSG, but I'm not sure
-With all that was going on, I can't say if I indeed alerted other monsters while in zombie state

So, with this in mind, I'll probably try it again and submit "clean" demos in a couple of days. For now, I hope this ones will suffice.

Now, in the second demo, I intentionally damage a voodoo doll with the SSG, just to show the difference.

Good day.

Link:

http://www.doomworld.com/vb/attachment.php?postid=1242476

PS: Expect bad playing. You are warned.

Big Edit:

Thanks for the explanation Foxpup, it seems that the demos are according to what you said. Just one thing:

Foxpup said:

The other main effect of voodoo dolls is that they can, if propelled by an outside force (directional damage or conveyor belt), pick up items and trigger walkover linedefs (including level exits), and the game will treat these events as though they were triggered by the corresponding player (items picked up by a voodoo doll will be added to the player's inventory, for instance).

In all other respects, voodoo dolls act like monsters (or rather Keens, since they cannot voluntarily move or attack). Voodoo dolls do not wake up monsters, and monsters will never deliberately attack a voodoo doll (unless provoked, but that's impossible because voodoo dolls cannot attack).


I was thinking about this thread, especially this post, where it's suggested that a PE can telefrag a barrel and "be blamed" and attacked by other monsters. Can voodoo dolls do this? Will they teleport, fail to teleport? Will the doll get attacked by other monsters, or will the monsters chase the actual player instead?

Thanks again.

Share this post


Link to post
Zed said:

I was thinking about this thread, especially this post, where it's suggested that a PE can telefrag a barrel and "be blamed" and attacked by other monsters. Can voodoo dolls do this? Will they teleport, fail to teleport? Will the doll get attacked by other monsters, or will the monsters chase the actual player instead?

Thanks again.


Ever since I wrote this thread, I discovered more things about barrel "blame": in vanilla it's much more complicated that people think to cause barrel-induced infighting or even trigger the "suicidal monsters" bug in v1.1.

In essence, if a barrel is destroyed in ONE hit, none gets "the blame" for it. A barrel must survive at least ONE hit to have an "attacker" set, and even then, the one that actually delivers the finishing blow to the barrel is NOT the one who's taking the blame (yes, it's possible to deliberately provoke infighting vs a specific monster by blowing up the barrel it has damaged -but not blown- before you).

In any case, just telefragging a barrel is definitively NOT going to cause the telefragger to be held accountable for the explosion.

The result is that "barrel chains" also don't transmit "blame" from one barrel to another. Of course, that's what happens in vanilla. With source ports, YMMV.

Share this post


Link to post
Foxpup said:

Wiki stuff


So it's OK if I change this:

The undead player can move around, but cannot select any weapons, and will die if damaged further


to this:

The undead player can move around, but cannot select any weapons, and will die if damaged enough to bring it's hit's points to zero


...and the Doom Legacy paragraph be removed?

Also, two things:

-Can you give a "formal explanation" of what you wroteabout zombie players, to include it there?

-Everyone else agrees on this?

Thanks, and good night.

Share this post


Link to post
Zed said:

So it's OK if I change this:

to this:

No, there's two apostrophes too many.

Zed said:

...and the Doom Legacy paragraph be removed?

Yes.

Zed said:

-Can you give a "formal explanation" of what you wroteabout zombie players, to include it there?

But I don't like writing formally. Oh, very well. I'm also throwing in mutliplayer information, since that's sorely lacking from the article as well. Here goes (I hope I'm not forgetting anything):

Zombie players
If a voodoo doll's hit points are reduced to zero, the player will die; this will happen even if the player's actual health is still greater than zero, in which case a strange result occurs: the player loses his weapon, falls to the floor and cannot move or attack, but the status bar face does not appear dead, and monsters will continue to attack the player until his health is reduced to zero, causing the player to "die" a second time. The player may restart the level as though he were dead even while his health is greater than zero, and exiting the level in this living-dead state is functionally identical to a suicide exit.

The reverse occurs if the voodoo doll is damaged to the point of reducing the player's health to zero, without killing the voodoo doll. In this case, the player's weapon lowers as though he were dead, but the player does not fall to floor and can continue to move around and open doors, collect items, etc, exactly as if he were alive. Monsters that were already active continue to chase and attack the player, but inactive monsters cannot be awoken by the player. The player will properly die if he sustains "real" (non-voodoo) damage equal to or greater than the damage done to the voodoo doll to cause this state. Picking up any health item will allow the player to awaken monsters and immediately ends the damage incongruity, allowing the player to die normally if his health is subsequently reduced to zero, but the player will not regain the ability to use weapons until exiting the level with greater than zero health, which restores all normal abilities. Exiting the level with zero health in this zombie state will instead cause the player to permanently lose the ability to pick up items and use weapons.

Multiplayer
In co-op games, a voodoo doll will be spawned for each player that has a duplicate player start (if only the Player 1 start is duplicated, there will only be a Player 1 voodoo doll). Each voodoo doll is linked to its own player (damaging the Player 2 voodoo doll causes Player 2 to be damaged, for example).

The death and respawning of a real player has not effect on the voodoo doll's behaviour, however the death of the voodoo doll will cause the real player to not go through the normal death animation, becoming a standing corpse. This standing corpse can be "re-killed", which will not harm the real player. Dead voodoo dolls do not respawn, so any tricks involving the death of a voodoo dolls will only work once.

Many maps contain only a Player 1 voodoo doll, which causes two problems for co-op multiplayer:
* Actions affecting the voodoo doll will only affect player 1, regardless of which player caused the action.
* If Player 1 is not present at the start of the level (eg, if the other players entered the level after Player 1 disconnected), the voodoo doll will not be spawned.

Technical
The player's health is tracked separately from the hit points of the player object(s). Normally this is never noticed, because damaging the player object causes the player's health to be reduced by the same amount, so the numbers should always be identical. When there are multiple player objects, however, the hit points of one or both of those objects will not always match the player's health. For most purposes, Doom considers the player to be dead when the player object's hit points are reduced to zero, regardless of player health; but for other purposes, Doom regards a player with zero health as being dead, regardless of the state of the player object, leading to the "zombie player" behaviour.

Share this post


Link to post

OK, done.

-I deleted the Legacy part, but left in the "Most ports do not alter voodoo doll behavior" thing.
-I deleted the Zombie Players part, and put the one you wrote in place of it, but I didn't removed the "Undefined behavior" part, and I left the YouTube video in as well.

I didn't touch the rest. If anyone else has something more in mind, please feel free to say it.

Thanks again and good day.

Share this post


Link to post
Zed said:

If anyone else has something more in mind, please feel free to say it.

By "say it", I presume you mean say it in this thread, so that errors can be pointed out, rather than committing erroneous information to the Wiki article? Unmaker, I'm looking in your direction.


It is possible to restart the level even while the player's health is still positive; in any case, restarting the level (or finishing via type 11 damaging floor) in this undead state is functionally identical to a suicide exit and does not affect the gameplay in any way.

Restarting a level after death can be never cause a suicide exit. Dead players, regardless of how they died, restart on the current level, not the next one, unless their corpse triggers a level exit. Exiting the level after death causes a suicide exit, which may be unexpected if the player's health is greater than zero.

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
Sign in to follow this  
×