ZDaemon Forum Index ZDaemon
Client/Server DOOM
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Let's Talk About Voodoo Dolls

 
Post new topic   Reply to topic    ZDaemon Forum Index -> ZDaemon Development
View previous topic :: View next topic  
Author Message
EarthQuake
Wicked Sick!


Joined: 02 Apr 2004
Location: Athens, Ohio. Dieblieber gonna getcha!

PostPosted: Mon Sep 07, 2009 3:22 pm    Post subject: Let's Talk About Voodoo Dolls Reply with quote

In ZDaemon there is a server flag that prevents players from spawning at extra player starts (voodoo doll spawns).

I believe that this is not necessary. My reason being, no one uses redundant player starts unless they intend on having a voodoo doll. It's generally considered bad mapping practice to do this otherwise. So, my proposition is that the behavior should be hard-coded and the flag removed. It frees up a dmflag bit and players no longer have to worry about getting stuck in voodoo spawn boxes (Plutonia MAP06) because of improperly configured servers.

I don't foresee a problem here, but please feel free to point out any flaws with the idea.
Back to top
View user's profile Send private message Send e-mail
soncdoommario
Unstoppable!


Joined: 19 Jun 2004
Location: Attleboro, Massachusetts

PostPosted: Mon Sep 07, 2009 4:47 pm    Post subject: Reply with quote

I guess I'll pitch in my two cents about it too.

Voodoo Doll support begain in what, 1.08.06? At that time, the DMFLAG did pop up, and turning it on would avoid the players starting in Voodoo Doll spots. However, in 1.08.08, the flag was inverted, so that you wouldn't spawn in them by default by my understanding.

So on a server running 1.08.06/1.08.07, when Voodoo Doll support is "off" on the DMFLAGS, that means that the starts aren't detected and people can spawn in them, right? But in a server running 1.08.08, Voodoo Doll support being "off" means the Voodoo Doll supports are detected and people avoid spawning in them, right?

I personally don't have a problem with it for now. As Kilgore said in the changelog, this is just the start of it, so hopefully the DMFLAG won't be needed for 1.09.

We're heading in the right direction as with avoiding Voodoo Doll starts, but hopefully ZDaemon will be able to support the Voodoo Doll actions, such as picking up the invisible weapons that the Voodoo Dools tocuh in many, many levels.
Back to top
View user's profile Send private message Send e-mail AIM Address
EarthQuake
Wicked Sick!


Joined: 02 Apr 2004
Location: Athens, Ohio. Dieblieber gonna getcha!

PostPosted: Tue Sep 08, 2009 2:10 am    Post subject: Reply with quote

I'll actually add a bit about how I personally think voodoo dolls should be handled, although this isn't related to the issue in my original post.

In a cooperative game, whether it contains just vanilla player starts (1 through 4), or the vanilla starts plus the Boom player starts (5 through 8), a player will normally start at any one of these spots at random, correct? If that's the case, the voodoo doll which corresponds to that player start which was selected, should probably be the voodoo for that player. In short terms, if I spawn/respawn at Player 5 start, any voodoo dolls that appears at a Player 5 start will be linked to me. I think that is the best approach.

There are all sorts of problems dealing with voodoo dolls in multiplayer. What if a voodoo doll crosses a linedef that calls a script? Now assume there are two players linked to that voodoo doll. Who activated the script? Which player's name should be printed if a Print(n:0) is called?

You also have issues with telefragging. Since player telefrags are disabled in cooperative and survival mode, how would this affect telefrag teleport traps? What if a Player 4 telefrags a Player 1 doll, and the player is stranded inside the box? If the goal is to replicate the original behavior and provide compatibility, should making such an event be repeatable/optimized for the sake of multiplayer-oriented gameplay?

Lots of things to consider. Does anyone have any other voodoo doll situations that need to be addressed?
Back to top
View user's profile Send private message Send e-mail
soncdoommario
Unstoppable!


Joined: 19 Jun 2004
Location: Attleboro, Massachusetts

PostPosted: Tue Sep 08, 2009 2:39 am    Post subject: Reply with quote

Holy crap, Earthquake just took a crap and dominated his own topic.

However, it seems that a large majority of the Voodoo Dolls are just player 1 starts, correct?

I'm not sure if this was mentioned in your post, but what about if somebody crossed a line that caused a Voodoo Doll to touch a weapon, rewarding Player 1 the weapon rather than himself?

Kilgore will find a way though.....he always does....
Back to top
View user's profile Send private message Send e-mail AIM Address
BestOfTheWorst
Unstoppable!


Joined: 02 Jun 2006

PostPosted: Sat Sep 12, 2009 9:34 am    Post subject: Re: Let's Talk About Voodoo Dolls Reply with quote

EarthQuake wrote:
...stuff...My reason being, no one uses redundant player starts unless they intend on having a voodoo doll.

Not true, there are and have been (various?) mappers, who didn't either know about voodoo dolls, or just cared about the way ZDaemon treated them. (as extra player starts.) Razz


EarthQuake wrote:
It's generally considered bad mapping practice to do this otherwise.
Ofcourse, but that still doesnt solve the problem with the existing wads out there.. In future, you wouldn't want to see voodoo dolls popping in wads that certainly werent designed with those in mind.
One example is Rjumpq, which has a some maps with extra starts, which I doubt were ever meant to be voodoo dolls among player starts.

Sure its just one wad out there, but I'm also pretty sure various CTF maps have also this problem:
Code:
..during the process of making a CTF map..

1.Mapper places a Player 1 start in the red base to test the map in singleplayer.
2.After finishing the base, the Mapper copies every thing (including the P1 Start) to the blue base.

..during the process of making a CTF map..

These kind of little duplicate starts are really easy to miss if you havent messed around with voodoo dolls before, and when those dont even appear ingame in ZDaemon to note the mapper about the problem.

If the DMFLAG were removed now, it'd only help new/still maintained maps. Confused


*goes to find more proof*





EDIT: As for how voodoo dolls should be handled imo,
EarthQuake wrote:
In a cooperative game, whether it contains just vanilla player starts (1 through 4), or the vanilla starts plus the Boom player starts (5 through Cool, a player will normally start at any one of these spots at random, correct? If that's the case, the voodoo doll which corresponds to that player start which was selected, should probably be the voodoo for that player.

If voodoo dolls were to be linked to specific players, I'd do it just as you describe.

Though I'm not sure if we can really link players to voodoo dolls, and keep most maps with voodoo dolls working correctly in this setting.

EarthQuake wrote:
There are all sorts of problems dealing with voodoo dolls in multiplayer. What if a voodoo doll crosses a linedef that calls a script?
To be honest, I'm not really sure why you'd ever want to use both scripts and voodoo dolls.. Razz but either way
EarthQuake wrote:
Now assume there are two players linked to that voodoo doll. Who activated the script? Which player's name should be printed if a Print(n:0) is called?

The activator of the script would be the Voodo doll, so it would print "VoodooDoll" or whatever the actor would be called..
It only makes sense to either execute the script so that the voodoo doll is the activator, or so that each player linked to it executes a separate instance of the script the voodoo doll activated.


EarthQuake wrote:
You also have issues with telefragging. Since player telefrags are disabled in cooperative and survival mode, how would this affect telefrag teleport traps?

Voodoo dolls themselves shouldn't be considered real 'players' so telefragging/damaging them should be just as possible as telefragging a monster, or another player on deathmatch.

EarthQuake wrote:
What if a Player 4 telefrags a Player 1 doll, and the player is stranded inside the box?
Indeed, this is one of the problems with linking specific voodoo dolls to specific players.. and because of this, I'd consider just having 'global' voodoo dolls or something Razz

Meaning, they'd affect every player when affecting indirectly,
and affect just 1 player, when affecting directly.

Eg. Indirectly: Voodoo doll gets crushed -> Every player dies.
directly: Player shoots a voodoo doll -> The player who shot the voodoo doll only hurts himself.

There are various maps out there with voodoo dolls that pick up a keycard.. and most of these maps only have a P1 Voodoo doll that picks up the keycard.. meaning if voodoo dolls were linked, then only player 1 would get the key. (which means problems) with 'global' voodoo dolls everyone would get the key instead, which would in most cases work better.

Also whatever a voodoo doll picks, should be stored in a array of some sort, so that if someone joins later on, they'd get the keys the vooodoo doll picked. (and not get stuck.)

EarthQuake wrote:
If the goal is to replicate the original behavior and provide compatibility, should making such an event be repeatable/optimized for the sake of multiplayer-oriented gameplay?

Well yeah, as in cooperative we can respawn after triggering a voodoo doll telefrag-suicude trap of some sort.. it'd make sense that the voodoo dolls would respawn or be somehow invincible too.. so that such traps would still work. (hoping that the teleport lines are repeatable :p)

Imo we get the best overall results if we don't link voodoo dolls, but rather have them affect everyone or the player who touches them in ways that can be handled with the engine (damage/morphing)
Back to top
View user's profile Send private message
EarthQuake
Wicked Sick!


Joined: 02 Apr 2004
Location: Athens, Ohio. Dieblieber gonna getcha!

PostPosted: Sun Sep 13, 2009 10:21 pm    Post subject: Reply with quote

After pondering over this for a while, I'm beginning to agree with you that replicating vanilla behavior is probably not best for ZDaemon.

I guess your suggestion about direct voodoo doll interaction would be the best scenario for the teleport traps. For example, any player telefrags any voodoo doll, that player is the one who dies. The voodoo could remain intact so as the trap may be repeatable. That solves the teleport puzzle in Evilution.

As for voodoo dolls picking up items, probably everyone should get the items. That would solve the voodoo weapon contraption in Plutonia, to a degree. As for action specials that affect the activator, affecting all players globally would be the safest bet too.

There is perhaps a better solution to this, but it would involve a complicated tracking process:

A player hits a switch, the tagged sector is manipulated. A voodoo doll is in the tagged sector and bumps the item. The player could be linked to the voodoo doll in this manner by backtracking to the player that caused the voodoo to gather the item. So, a player activates a linedef trigger, and the player link between that player and the sector is stored. The voodoo doll gathers an item, so the sector tag of the sector that the voodoo doll is in, is stored as well. Then we match up the voodoo doll's stored sector tag with the player's stored tag, and give the appropriate item to that one player.

It's inherently flawed, but it's a new way of thinking about how to address the problem without directly linking voodoo dolls to fixed player numbers. This of course will not work in situations where multiple different voodoo dolls are placed in the same sector.

If we can find a bunch of examples of maps that use various voodoo doll situations, we could probably devise a compromise that retains as much compatibility as possible with commonly used voodoo doll scenarios.

Until then, I think direct interaction with telefragging, and indirect/global interaction for items/specials that affect the activator, would be best for now.
Back to top
View user's profile Send private message Send e-mail
Empyre
Unstoppable!


Joined: 13 Dec 2006
Location: Texas, USA

PostPosted: Mon Sep 14, 2009 11:16 am    Post subject: Reply with quote

I remember a map that used voodoo dolls to telefrag cybers. Could that be made to work again?
Back to top
View user's profile Send private message Send e-mail
Ronald
Rontard


Joined: 17 Aug 2005
Location: Netherlands Clan: [QnB]

PostPosted: Mon Sep 14, 2009 12:37 pm    Post subject: Reply with quote

Question: A Voodoo Doll is just a second Player 1 start for example right? How can the engine tell what Player start he should use to spawn and which one to spawn the Voodoo Doll?
Back to top
View user's profile Send private message Send e-mail Visit poster's website MSN Messenger
The Ultimate DooMer
God like!


Joined: 30 Aug 2004

PostPosted: Mon Sep 14, 2009 1:28 pm    Post subject: Reply with quote

Thing numbers (not thing id's). The last one placed is the true start.
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic   Reply to topic    ZDaemon Forum Index -> ZDaemon Development All times are GMT + 1 Hour
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group