Hero tracking
Feb 18 2009, 9:55 pm
By: Lt.Church  

Feb 19 2009, 6:37 am Kaias Post #21



Quote from UnholyUrine
Quote
What Unholy said is a waste of locations, just have separate triggers depending on which hero they pick and center the location, so it only requires 12 locations total, rather than wasting 84 locations.
U require the trigger per hero in order to shorten other triggers.. Such as spell effects. If u haven't played Temple Siege before, there's a paralyzing trigger where the hero is forced to move to its place continuously, so it looks like its paralyzed. If u use only the 12 locs.. you'd have to do 12 triggers x 6 per player...
Next, I have the AoE (area of effect) triggers... PER AoE trigger i'd need 12 detection triggers... so that's 12 x w/e the amount of AoE triggers I'll be willing to put in my map..

Right now I just need 3 per AoE triggers, as I create defilers under each player (player 1,2,3,4,5,6) locations, which should be centered at the hero they have chosen. This cuts down on the trigger WAYY better. Plus, it's always better to have player specific things.

Quote
Uhm, why not just 1 location per player and have 12 triggers (1 per hero) per player (72 total) that go like
P1: If Current Player brings at least 1 hydralisk to anywhere center P1 on hydralisk owned by Current Player
P2: If Current Player brings at least 1 marine to anywhere center P2 on marine owned by Current Player
... etc

Great.. now he's gotta do 6 triggers per spell... that's even worse than what Falkoner suggested..

Yeah, you can have "If current player bring at least 1 hero hydralisk to anywhere.. and if current player *casts spell 1* (w/e the condition may be... center location "hero hydra" to hydralisk owned by current player, create spell units (mutalisks) at "hero hydra" for current player.... but that's even more work than just having the triggers set in the beginning. and you get the same amount of locations that you need.

What I gave you is the easiest to work with... Look into Temple Siege.. The triggers are set to be the LEAST stenuous in terms of trigger number.
I did things such as using defilers as markers for AoE spells... using a universal DC for all spells and paralyzing and etc. ...
A more effective system would be to have a location per player to center on whichever hero they control. Then at the start of each player loop section center a universal location in the respective player location. That way you can just operate virtually everything from that location, without unnecessary class specification.

At least, that's how I would've done it.



None.

Feb 19 2009, 6:54 am Norm Post #22



Quote from name:Lincoln
Quote from UnholyUrine
Quote
What Unholy said is a waste of locations, just have separate triggers depending on which hero they pick and center the location, so it only requires 12 locations total, rather than wasting 84 locations.
U require the trigger per hero in order to shorten other triggers.. Such as spell effects. If u haven't played Temple Siege before, there's a paralyzing trigger where the hero is forced to move to its place continuously, so it looks like its paralyzed. If u use only the 12 locs.. you'd have to do 12 triggers x 6 per player...
Next, I have the AoE (area of effect) triggers... PER AoE trigger i'd need 12 detection triggers... so that's 12 x w/e the amount of AoE triggers I'll be willing to put in my map..

Right now I just need 3 per AoE triggers, as I create defilers under each player (player 1,2,3,4,5,6) locations, which should be centered at the hero they have chosen. This cuts down on the trigger WAYY better. Plus, it's always better to have player specific things.

Quote
Uhm, why not just 1 location per player and have 12 triggers (1 per hero) per player (72 total) that go like
P1: If Current Player brings at least 1 hydralisk to anywhere center P1 on hydralisk owned by Current Player
P2: If Current Player brings at least 1 marine to anywhere center P2 on marine owned by Current Player
... etc

Great.. now he's gotta do 6 triggers per spell... that's even worse than what Falkoner suggested..

Yeah, you can have "If current player bring at least 1 hero hydralisk to anywhere.. and if current player *casts spell 1* (w/e the condition may be... center location "hero hydra" to hydralisk owned by current player, create spell units (mutalisks) at "hero hydra" for current player.... but that's even more work than just having the triggers set in the beginning. and you get the same amount of locations that you need.

What I gave you is the easiest to work with... Look into Temple Siege.. The triggers are set to be the LEAST stenuous in terms of trigger number.
I did things such as using defilers as markers for AoE spells... using a universal DC for all spells and paralyzing and etc. ...
A more effective system would be to have a location per player to center on whichever hero they control. Then at the start of each player loop section center a universal location in the respective player location. That way you can just operate virtually everything from that location, without unnecessary class specification.

At least, that's how I would've done it.

Lol, this is pretty much what i said last page, i agree that it is the best method for the job.



None.

Feb 19 2009, 5:52 pm Basteille Post #23



*Checkbox the player you want this trigger to effect. :0_0: :hurr:

C:Always. A:Center location on <Unit> owned by Current player at 'Arena' or 'Anywhere' If you're not going to move your hero anywhere else. 'Preserve trigger'. If your player is only controlling one unit. Just do [any unit].



None.

Feb 19 2009, 5:53 pm UnholyUrine Post #24



Quote from Norm

Also- isn't it easier to move a unit to a location over water to stun it? This would only require one location to use for all the stun triggers, you could even double it up as being used for another misc. system somewhere off the map. I have never used this myself, but i heard it works.

Nah. that doesn't work, as moving units with hyper trigs, other units will perceive it as being moved away and can not attack it.. Altho triggers can still detect them, the Unit AI cannot :S... it's strange.. However, you MAY be right because i've tried a different method, which is continually moving the unit to the spot it was at.. it may actually work with moving it to water I guess ><".. I'd have to check that out...

Quote
A more effective system would be to have a location per player to center on whichever hero they control. Then at the start of each player loop section center a universal location in the respective player location. That way you can just operate virtually everything from that location, without unnecessary class specification.

Looks promising, but how does that work? .. So you have this one location that's being centered on everyone each time it loops? What if players use spells at the same time?
If, again, I have 12 heroes right? And each player can pick which one they want to be... So then I gotta prepare the spell triggers to be working for each hero for each player at all times. Since if two ppl uses their spells at the same time, then one person's spell units may be centered under another guy... it'd be funny, but not help ur map in anyway XD

If you mean to have each player their own location... then i don't understand. 1st, you already have a location per player.. 2nd, you still gotta do 6 triggers (if there're 6 players) per spell.
What I do is I have several locations (if need be.. of different sizes) on each hero if anyone owns them.
I think I'm missing something.. wanna straighten me out?

Quote
if player only controls one unit at a time
That's never the case with arena type maps, as all SC "Spells" are creating and killing units. Plus, you'd limit urself :C

For maps with less heroes.. maybe about 6, it may be the same work to do 6 triggers per spell I guess.... but it's better to have the system down.. so you can proceed with the triggers better
There's nothing complicated about this.. It's just that You Just Gotta Do The Work!!!



None.

Feb 19 2009, 10:08 pm Wormer Post #25



Quote from Lt.Church
anyways i think ive gained what knownledge i can from this thread; thanks.
Quote from name:Faz-
Creating units below the player, using grids... all seems incredibly unnecessary for tracking the hero.
Quote from Lt.Church
honestly i dont know, i thought i said it quite clearly the thread served its purpose.

Lt.Curch
Well, it has served the purpose for you, but if people have something more to say why dont let them? =)

UnholyUrine
Every time I play the TempleSeige map I do notice a little lag. You should really think at optimizing your triggers if you want to develop the map further.

+1
Quote from name:Faz-
Make one trigger for "all players" per hero with a condition that player has x deaths of a certain unit used as a death counter. If they have 1 death, they picked a marine, if 2 they picked a zealot, etc. This would detect how many deaths they have and constantly center the location on the appropriate unit based on that.
It is a good idea to do this when a player chooses the hero in any case. Simply using a command hero condition to decide what is the player's hero is not reliable. The hero may die which may leave the player without a hero at all for a few trigger cycles or the hero unit may be used as a spell-unit for another hero (like Lurker in TS).

You know, after I've posted the next answer to the next statement
Quote from UnholyUrine
Quote
Uhm, why not just 1 location per player and have 12 triggers (1 per hero) per player (72 total) that go like
P1: If Current Player brings at least 1 hydralisk to anywhere center P1 on hydralisk owned by Current Player
P2: If Current Player brings at least 1 marine to anywhere center P2 on marine owned by Current Player
... etc

Great.. now he's gotta do 6 triggers per spell... that's even worse than what Falkoner suggested..

Yeah, you can have "If current player bring at least 1 hero hydralisk to anywhere.. and if current player *casts spell 1* (w/e the condition may be... center location "hero hydra" to hydralisk owned by current player, create spell units (mutalisks) at "hero hydra" for current player.... but that's even more work than just having the triggers set in the beginning. and you get the same amount of locations that you need.
Quote from Wormer
Unholy is right

I went to bed and thought I was little wrong in my judgements. I thought about this
Quote from name:Lincoln
A more effective system would be to have a location per player to center on whichever hero they control. Then at the start of each player loop section center a universal location in the respective player location. That way you can just operate virtually everything from that location, without unnecessary class specification.
Lincoln, I'm only not sure whether the system is more effective (and in what sense). The only pro of the system against UnholyUrine's I can see is one can have players with the same heroes. IMO the amount of triggers the system requires is approximatly the same as the UholyUrine's. The system can also save a few locations (8-12 locations saving is the most I believe) if you have <number of available heroes> > <max number of players>. You know, of late time I used to think about CPU saving. The system if implemented straightforward will have much move location actions per each trigger loop than the UnholyUrine's (move Universal location), which is not good. But if one consider the note
Quote from Wormer
but I dont see any reason to track heroes with locations. All spells could be done without tracking, just centering the required location when spell is casted.
I believe number of locations movements will be acceptable. The note is true in the UnholyUrine's system too. There is no real need (for spells) to constantly track heroes with their locations respectively. Though there is a need to track hero with a location when you have some kind of items which heroes could take.

I myself have more positive attitude towards the system Lincoln has described against UnholyUrine's, but I can't explain why I have such a feeling. Facts indicate both methods are good.

Quote from UnholyUrine
Quote from Norm
Also- isn't it easier to move a unit to a location over water to stun it? This would only require one location to use for all the stun triggers, you could even double it up as being used for another misc. system somewhere off the map. I have never used this myself, but i heard it works.

Nah. that doesn't work, as moving units with hyper trigs, other units will perceive it as being moved away and can not attack it.. Altho triggers can still detect them, the Unit AI cannot :S... it's strange.. However, you MAY be right because i've tried a different method, which is continually moving the unit to the spot it was at.. it may actually work with moving it to water I guess ><".. I'd have to check that out...
If you ever will implement this idea move the unit to the location which is preplaced out of map's bounds. This will have the same effect but lags lesser.

From the other topic (http://www.staredit.net/132396/):
Quote from name:Lincoln
Quote from Wormer
Quote from Ahli
Moving many units to a location where they cannot be moved to, because other units block the whole area, causes much lag, too.
By the way moving units to a location which is out of map bounds causes no lag (very small).
Less, but not none. I've seen many maps lag solely because of excessive use of this.

Quote from UnholyUrine
Quote
A more effective system would be to have a location per player to center on whichever hero they control. Then at the start of each player loop section center a universal location in the respective player location. That way you can just operate virtually everything from that location, without unnecessary class specification.

Looks promising, but how does that work? .. So you have this one location that's being centered on everyone each time it loops? What if players use spells at the same time?
If, again, I have 12 heroes right? And each player can pick which one they want to be... So then I gotta prepare the spell triggers to be working for each hero for each player at all times. Since if two ppl uses their spells at the same time, then one person's spell units may be centered under another guy... it'd be funny, but not help ur map in anyway XD

If you mean to have each player their own location... then i don't understand. 1st, you already have a location per player.. 2nd, you still gotta do 6 triggers (if there're 6 players) per spell.
What I do is I have several locations (if need be.. of different sizes) on each hero if anyone owns them.
I think I'm missing something.. wanna straighten me out?

Let me give you an example of triggers to make it clear. I assume you have the hero type death counter (referenced as dcHero) set properly as I've said at the very beginning.
Quote
// You requre to know whether the current player casts a spell to reduce number of unnecessary
// location movements as I've said above. Let's assume we have a group of triggers which set the
// switch sCastSpell in the case. These triggers should also ensure the player can cast the spell.
// For example he has got enough mana and isn't casting any other spell at the moment.
Group1

// The second group of triggers distribute player specific locations lPlayer(p) between players.
Group2

// to insure ourselves against spells triggers copying for each player location lPlayer(p) we do
// the next
Group3

// The next group are spells triggers. Each spell trigger owner is the whole force fPlayersForce.
// Spells triggers operate with the location lUniversal and thus need not to be copied.
Group4

One may ask, why do we need player specific locations lPlayer(p) at all. We could have handled the lUniversal location right in the triggers group Group2 and get rid of the Group3. The answer is that spells might require few trigger loops to operate. The scenario is the following:
1. Spell initialization at start. For example this may involve units creating at the cast point.
2. The spell is active. Several cases at this stage: the spell follows the hero or lives it's own life. In our case units simply attack nearby enemies from where the spell was casted.
3. At end, destruct the effects of the spell at the place where the spell was casted. Remove our spell-units.

We can see that for the step 3 (and probably step 2 as well) we need somehow to save the point where the spell was casted because the hero unit could already run far away from that point. This could not be done with the location lUniversal because it might not (read does not) preserve it's place even throughout one trigger loop (it preserves during some "critical" section of triggers execution, where it is not modified though). We're saveing the point with the lPlayer(p) location.

While I was writeing this the idea that we can save the cast point by the mean of a burrowed unit came to my mind. Someone else could look if this will result in less triggers count, less possible lag and etc.

from there wormer went little offtopic, or thoughts about objects classification

Well... at this point Wormer just got tired and went to sleep... :sleep:

P.S. Ah I have forgot the last, the most important.
Quote from UnholyUrine
What I gave you is the easiest to work with... Look into Temple Siege.. The triggers are set to be the LEAST stenuous in terms of trigger number.
How do you know them are the least? The least triggers usually is not the best. The least triggers usually does not mean the easiest to handle... I even think have got an example.
Quote from name:Lincoln
A more effective system would be to have [...]
Ah guys, please, never say never.

Post has been edited 1 time(s), last time on Feb 19 2009, 10:19 pm by Wormer. Reason: never say never



Some.

Feb 19 2009, 11:01 pm Kaias Post #26



Quote from Wormer
[long post]
I should've clarified this.
Quote from Wormer
Quote from name:Lincoln
A more effective system would be to have [...]
Ah guys, please, never say never.
When I said this, I was referring to this:

Quote from UnholyUrine
What I gave you is the easiest to work with... Look into Temple Siege.. The triggers are set to be the LEAST stenuous in terms of trigger number.
That using a universal location would be much less strenuous and easier to work with.

I know that centering every loop is unnecessary, with a player specific location for each and that the universal location only need be centered when it is needed, however, I was trying to appeal to his tier of thinking and the fact that he seems to want to have the easiest form of triggering. Centering in each system whenever needed is more 'strenuous' than already knowing it is there and not needing to.

Quote from name:Lincoln
At least, that's how I would've done it.
This is actually a bit of a lie; I center only when needed (as you could see in Time Down, if it was released). I just added in this statement to qualify it my proposal.



None.

Feb 20 2009, 5:12 am Wormer Post #27



Quote from name:Lincoln
This is actually a bit of a lie; I center only when needed (as you could see in Time Down, if it was released). I just added in this statement to qualify it my proposal.
I see...

Quote from name:Lincoln
That using a universal location would be much less strenuous and easier to work with.
IMO, this all is the same. For example, making spells for hydra it is no matter whether you use universal or hydra-specific location.



Some.

Options
  Back to forum
Please log in to reply to this topic or to report it.
Members in this topic: None.
[01:35 am]
Ultraviolet -- Vrael
Vrael shouted: NEED SOME SPORTBALL> WE GOT YOUR SPORTBALL EQUIPMENT MANUFACTURING
Gonna put deez sportballs in your mouth
[01:24 pm]
Vrael -- NEED SOME SPORTBALL> WE GOT YOUR SPORTBALL EQUIPMENT MANUFACTURING
[2024-4-30. : 5:08 pm]
Oh_Man -- https://youtu.be/lGxUOgfmUCQ
[2024-4-30. : 7:43 am]
NudeRaider -- Vrael
Vrael shouted: if you're gonna link that shit at least link some quality shit: https://www.youtube.com/watch?v=uUV3KvnvT-w
Yeah I'm not a big fan of Westernhagen either, Fanta vier much better! But they didn't drop the lyrics that fit the situation. Farty: Ich bin wieder hier; nobody: in meinem Revier; Me: war nie wirklich weg
[2024-4-29. : 6:36 pm]
RIVE -- Nah, I'm still on Orange Box.
[2024-4-29. : 4:36 pm]
Oh_Man -- anyone play Outside the Box yet? it was a fun time
[2024-4-29. : 12:52 pm]
Vrael -- if you're gonna link that shit at least link some quality shit: https://www.youtube.com/watch?v=uUV3KvnvT-w
[2024-4-29. : 11:17 am]
Zycorax -- :wob:
[2024-4-27. : 9:38 pm]
NudeRaider -- Ultraviolet
Ultraviolet shouted: NudeRaider sing it brother
trust me, you don't wanna hear that. I defer that to the pros.
[2024-4-27. : 7:56 pm]
Ultraviolet -- NudeRaider
NudeRaider shouted: "War nie wirklich weg" 🎵
sing it brother
Please log in to shout.


Members Online: lil-Inferno, Roy