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

How do voodoo dolls work in multiplayer?

Recommended Posts

I know that in single player, if I place secondary player 1 starts, they will spawn player-like objects with player privileges when it comes to linedef activation, which can also be used as death or pain triggers too.

How about cooperative? Does each player start (either up to 4, or up to 8) placed multiple times spawn voodoo dolls? How do the voodoo dolls get distributed to each player? In classic multiplayer, does each of players 1-4 (1-8 in Hexen or ZDoom) get his/her voodoo dolls for each duplicate start? What about client/server multiplayer where there may be more players than starts? The voodoo dolls belong to whom?

In deathmatch, there are no voodoo dolls at all, right? This means that Boom maps will NOT HAVE ANY complicated mechanisms... and those with single-player design WILL NOT WORK in deathmatch?

Share this post


Link to post

I'm pretty sure voodoo dolls work in cooperative mode too, e.g. having multiple player2 starts will create voodoo dolls for the second player.

Since deathmatch uses the deathmatch start things, voodoo dolls are not created in that mode -- so maps that rely on voodoo dolls will be broken.

As for ports that allow more than 4 player coop (whether client server or not) -- it depends on how exactly they implement that feature, but they probably don't bother trying to associate voodoo dolls with the extra players. I think Wesleyjohnson has worked on this problem in the Doom Legacy port and can say more about it.

Share this post


Link to post

Voodoo dolls can't practically work in co-op, since you can't know who will activate the voodoo doll action. For example, on TNT map 30, if player 2 will cross voodoo doll trap, he will kill player 1 and stuck in an inescapable sector. What should level designer do then? Put dolls of all four players there? Doesn't work either.

Share this post


Link to post

It depends largely in how you use them. Certainly using them o inflict damage would be hard if needing to be specific but providing bulk health/ammo is what I have used it for.

Other options to make certain voodoo scripts happen in coop only are to use a player1 voodoo doll but block it's movement with barrels or some other decoration that are flagged to not appear in coop (boom or above though). Or for vanilla you could have voodoo dolls for players 2-4 setup to cross a W1 action linedef. That way it doesn't matter what player numbers are in the game when it starts.

I've also used the block using decoration things with skill settings as well to change what happens in SP at different skill levels.

Share this post


Link to post

/delurk after extremely long absence from Doomworld and Doom in general (forgot I even still had an account here), but now getting back into it/

The above info is basically correct. Extra co-op starts cause voodoo dolls to be created for each co-op player, and each voodoo doll is linked to its specific player, so if player 1's voodoo doll is damaged, player 1 gets hurt, regardless of which player damaged the voodoo doll. This means that things like the teleport trap in TNT MAP30 don't work right in co-op unless it is player 1 who triggers them.

This issue is fixed in the latest version of Doom Legacy, which uses one of two voodoo doll modes, depending on which voodoo dolls are present in the map. If voodoo dolls are present for all players, voodoo dolls work as in vanilla, ie, if player 2's voodoo doll gets hurt, then player 2 gets hurt, etc. The assumption is that the map designer specifically planned for co-op situations and placed the voodoo dolls accordingly. However, if only player 1's voodoo doll is present on the map, then Legacy Doom uses a different mode in which the voodoo doll affects the player that affected it, even if it wasn't player 1, eg, if player 2 telefrags player 1's voodoo doll, then player 2 dies instead of player 1. There is a compatibility option which restores the vanilla behaviour.

Voodoo dolls do not appear in deathmatch mode. If a map requires that a voodoo doll activate a linedef, this can be worked around by placing a deathmatch start in an otherwise inaccessible area of the map, from which the player is able to activate whatever the voodoo doll was supposed to activate, a la the alternate exit in Doom 2 MAP07. Any other uses of voodoo dolls can't be made to work in deathmatch.

There is also the issue of respawning to consider. If a player dies of normal causes and respawns, his voodoo doll is still active, and anything affecting the voodoo doll still affects the respawned player as normal, ie, dying of normal causes does not "break the link" with the voodoo doll. However, if the voodoo doll dies, the real player dies (as expected) and respawns normally, but the voodoo doll does not respawn, so any tricks that involve killing a voodoo doll will only work once, and must be designed with this in mind. Oddly, the real player's body remains standing without going through its death animation (presumably because the real player didn't really "die", as such), and can be re-killed. This "zombie" corpse does not act like a voodoo doll (harming it does not harm the real player), and has none of the weird effects normally associated with voodoo-doll "zombies".

Finally, if a player leaves the game, his voodoo doll will still be present, and can still activate walkover linedefs and (uselessly) pick up items.

I know all this because I've recently been testing co-op voodoo doll behaviour for a map I'm working on (though whether I'll ever release said map remains to be seen). One thing I haven't yet tested is whether a voodoo doll can pick up weapons and keys a second time after the real player dies and loses those items. I also haven't tested how ports that allow more than 4 players handle the issue. My guess is that ports that require specific "player x start" Things (where x > 4) will create properly functioning voodoo dolls for any duplicated player x starts, but ports that re-use the player 1-4 starts for more than 4 players won't work at all.

Share this post


Link to post
Foxpup said:

Oddly, the real player's body remains standing without going through its death animation (presumably because the real player didn't really "die", as such), and can be re-killed. This "zombie" corpse does not act like a voodoo doll (harming it does not harm the real player), and has none of the weird effects normally associated with voodoo-doll "zombies".

Are you talking about the 'reverse zombie' effect, when the voodoo doll is killed first so the player succumbs to death, but still has hit points left? During all that, his body stays upright, even though from his viewpoint he has fallen?

Also, in cooperative, do voodoo dolls only spawn for the players present in the game? If so, it's pretty interesting... it means I can change the game based on how many players are in it. Are they affected by difficulty settings too?

Share this post


Link to post
printz said:

Are you talking about the 'reverse zombie' effect, when the voodoo doll is killed first so the player succumbs to death, but still has hit points left? During all that, his body stays upright, even though from his viewpoint he has fallen?

Yes. The effect of a co-op player killed by voodoo magic looks exactly like that, but absolutely nothing weird happens. If you've ever run a DEH patch which turns the monsters into players, so that they just stand there, the zombie corpses work exactly like that. They just stand there and will die if their hit points ever reach zero (they have the same hit points that the real player had when they died), and nothing else happens. This would be a purely visual glitch but for the fact that the zombies are obstacles until you kill them again (which does not harm the real player).

printz said:

Also, in cooperative, do voodoo dolls only spawn for the players present in the game? If so, it's pretty interesting... it means I can change the game based on how many players are in it. Are they affected by difficulty settings too?

Voodoo dolls are only spawned for players actually present in the game, and are not affected by difficulty settings (which is the same as how regular player starts work). Note that teleport destinations are affected by difficulty settings, so voodoo doll tricks can be made to work differently on different difficulty settings if teleporters are involved.

Share this post


Link to post

The issue of associating voodoo dolls with players is complicated even further in a client/server environment, where players are free to come and go as they please. What if Player 1 immediately leaves the server after the map starts? Unless the voodoo doll for Player 1 is reassigned or a some other compensation, a lot of maps won't be completable.

Share this post


Link to post
Dr. Sean said:

The issue of associating voodoo dolls with players is complicated even further in a client/server environment, where players are free to come and go as they please. What if Player 1 immediately leaves the server after the map starts? Unless the voodoo doll for Player 1 is reassigned or a some other compensation, a lot of maps won't be completable.

Some most SP maps are not designed to work in coop (because players can die and respawn). Likewise, the maps which use Player 2, 3 or 4 voodoo dolls are simply not designed for players joining and leaving, and the port need not attempt to fix that. Survival mode is a possible workaround in both cases.
Voodoo dolls do not need to be tied to any player to trigger linedefs.

Share this post


Link to post
tempun said:

Some most SP maps are not designed to work in coop (because players can die and respawn).

Pretty sure that's a non-issue:

* 4 players can be accommodated by avoiding cramped design
* Avoid locking later areas from the beginning. But locking access back is still okay.
* If player respawning is a balance issue, play in a port with dmflags set so that everything else will respawn.

Isn't cooperative simply team-Doom?

Share this post


Link to post
printz said:

Pretty sure that's a non-issue:

* 4 players can be accommodated by avoiding cramped design
* Avoid locking later areas from the beginning. But locking access back is still okay.
* If player respawning is a balance issue, play in a port with dmflags set so that everything else will respawn.

Isn't cooperative simply team-Doom?

It *is* an issue because most map authors don't follow these guidelines. They want traps that lock you in a room for a while.

Share this post


Link to post
Dr. Sean said:

The issue of associating voodoo dolls with players is complicated even further in a client/server environment, where players are free to come and go as they please. What if Player 1 immediately leaves the server after the map starts? Unless the voodoo doll for Player 1 is reassigned or a some other compensation, a lot of maps won't be completable.

Voodoo dolls are still present on the map and continue to be effective after the corresponding player leave, but if the level is exited, the next level will not spawn voodoo dolls for players who were not present at the start of the new level. I don't know if additional voodoo dolls are spawned on the fly as new players join. Further testing is needed.

Actually, this is a problem for vanilla as well, since although no new players can join the game, it is possible for any player (including player 1) to quit at any time, and the other players can continue without him. Any map designed for co-op must provide a separate voodoo doll for each player, and any map which depends on player 1's voodoo doll being present will not work in co-op if player 1 is not present at the start of the level.

Share this post


Link to post
Foxpup said:

Actually, this is a problem for vanilla as well, since although no new players can join the game, it is possible for any player (including player 1) to quit at any time, and the other players can continue without him. Any map designed for co-op must provide a separate voodoo doll for each player, and any map which depends on player 1's voodoo doll being present will not work in co-op if player 1 is not present at the start of the level.

Wow, this looks important and probably few people have ever thought of it. So the way for it is to overlap the 4 (8) players.

Share this post


Link to post
printz said:

Wow, this looks important and probably few people have ever thought of it. So the way for it is to overlap the 4 (8) players.

It's kind of obvious if you think about it, though it apparently isn't as obvious as it should be, judging by the number of maps which claim to be playable in co-op even though they only have a player 1 voodoo doll, and are therefore completely broken, even without the issue of players leaving the game.

It is possible to place 4 voodoo dolls (but no more) in such a way that they can be telefragged simultaneously by a real player without overlapping them. I haven't tested what happens if voodoo dolls do overlap each other (I do know that they can overlap a monster and get stuck to it), though this probably isn't advisable in ports where players can join at will, since newly arriving voodoo dolls may well telefrag each other (they shouldn't unless it's MAP30, but many modern ports are inconsistent on how the safeguards against telefragging apply to voodoo dolls).

Share this post


Link to post
Foxpup said:

It is possible to place 4 voodoo dolls (but no more) in such a way that they can be telefragged simultaneously by a real player

it may be somewhat better that one-doll traps, but still - one player touches the trap and all of them dies? Hmm. I think the only way to make maps completely co-op compatible is blocking the voodoo doll traps and replacing them with something else.

Share this post


Link to post
Scypek2 said:

it may be somewhat better that one-doll traps, but still - one player touches the trap and all of them dies? Hmm.

Exactly. I'm planning on using such a trap as an exit teleporter to force a pistol start (for all players) on the next level. You'd be hard-pressed to find another use for such a trap, and it certainly shouldn't be used as a standard deathtrap (which I've always had a special disliking for anyway).

Scypek2 said:

I think the only way to make maps completely co-op compatible is blocking the voodoo doll traps and replacing them with something else.

The most elegant way of achieving this is with a multiplayer-only teleport destination (which must have a lower Thing number than the regular teleport destination in order to work).

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
×