Staredit Network > Forums > SC1 UMS Theory and Ideas > Topic: Location Identification (LID)
Location Identification (LID)
Jun 13 2010, 4:41 am
By: Sacrieur
Pages: < 1 2 3 >
 

May 5 2011, 10:11 am Sacrieur Post #21

Still Napping

Quote from Jack
Quote from Sacrieur
Quote from Jack
I forget; does this work with infested kerris or not?

Nope (vertical works, horizontal does not). Curiously enough, Kerri's hitbox and movement speed is the exact same as a ghost.
Meh. Not sure what to use as zombies in my map now. Maybe drones, but that's meh.

Have you tested with unit slowing? I would assume that a while lot more units become viable when slowed down.

Depends, unit hitboxes factor into this as well. Though, some units, like ghosts or speedlots, will benefit from being slowed slightly due to the fact they almost work. The test map is up, and you could easily edit it.



None.

May 5 2011, 5:43 pm Wormer Post #22



Quote from Sacrieur
Inverted locations have no effect. Since locations are 1x1 pixel and pixels are the most minimal of detection, a 1x1 location is all-or-nothing sort of thing. Either the location is completely on a unit, or the unit is not in the location at all. Units do not move half-way into a pixel =P
You're wrong here. Bring detects a unit even on an inverted location. AI scripts don't count for units on inverted locations though.



Some.

May 5 2011, 5:56 pm Roy Post #23

An artist's depiction of an Extended Unit Death

Quote from Wormer
Bring detects a unit even on an inverted location.
Expanding a bit on this:

- For a regular location, a unit's collision box must intersect with the location for the condition to pass.
- For an inverted location, a unit's collision box must completely encapsulate the location for the condition to pass.




May 5 2011, 6:12 pm Wormer Post #24



Quote from Roy
Quote from Wormer
Bring detects a unit even on an inverted location.
Expanding a bit on this:

- For a regular location, a unit's collision box must intersect with the location for the condition to pass.
- For an inverted location, a unit's collision box must completely encapsulate the location for the condition to pass.
Right, generally unit U is on location L if and only if (U.left < L.right AND U.right > L.left AND U.top < L.bottom AND U.bottom > L.top). I'm only not precise about strictness of inequalities.



Some.

May 5 2011, 8:40 pm Sacrieur Post #25

Still Napping

Quote from Wormer
Quote from Sacrieur
Inverted locations have no effect. Since locations are 1x1 pixel and pixels are the most minimal of detection, a 1x1 location is all-or-nothing sort of thing. Either the location is completely on a unit, or the unit is not in the location at all. Units do not move half-way into a pixel =P
You're wrong here. Bring detects a unit even on an inverted location. AI scripts don't count for units on inverted locations though.

? A 1x1 px location either is completely within a collision frame or completely outside of it.



None.

May 5 2011, 8:52 pm Jack Post #26

>be faceless void >mfw I have no face

Quote from Sacrieur
Quote from Wormer
Quote from Sacrieur
Inverted locations have no effect. Since locations are 1x1 pixel and pixels are the most minimal of detection, a 1x1 location is all-or-nothing sort of thing. Either the location is completely on a unit, or the unit is not in the location at all. Units do not move half-way into a pixel =P
You're wrong here. Bring detects a unit even on an inverted location. AI scripts don't count for units on inverted locations though.

? A 1x1 px location either is completely within a collision frame or completely outside of it.
Yes, but they are laggier than inverted locations. You said 1x1 locations are the most minimal of detection, but inverted locations are.



Red classic.

"In short, their absurdities are so extreme that it is painful even to quote them."

May 5 2011, 9:11 pm Lethal_Illusion Post #27



I actually have some experience in this area, so I figured I'd throw my two cents in.

Quote from Jack
Quote from Sacrieur
Quote from Wormer
Quote from Sacrieur
Inverted locations have no effect. Since locations are 1x1 pixel and pixels are the most minimal of detection, a 1x1 location is all-or-nothing sort of thing. Either the location is completely on a unit, or the unit is not in the location at all. Units do not move half-way into a pixel =P
You're wrong here. Bring detects a unit even on an inverted location. AI scripts don't count for units on inverted locations though.

? A 1x1 px location either is completely within a collision frame or completely outside of it.
Yes, but they are laggier than inverted locations. You said 1x1 locations are the most minimal of detection, but inverted locations are.
I'm a little confused as to what you're trying to say here, Jack. Could you elaborate on 'laggier'? All locations, regardless of size, operate in the same time frame. Size has no bearing on that.
And although it is true that inverted locations detect more accurately, they're unnecessary for Location Tracking. As Sacrieur said, a 1x1 pixel location would be the most efficient, as it is "all-or-nothing." In fact, using an inverted location would be detrimental, as it would be easier for a unit to outrun its location.


Also, I know this has been mentioned before, but slowing down a unit (via constantly creating or moving a unit over/under it) halves its speed. If I remember correctly, this enables Location Tracking to track all units but zerglings (speed upgraded and not) and zealots (with the speed upgrade). This comes with a drawback, though, as slowed units have screwy pathing and are, of course, slower.


I can try to release some of my test maps later, if anyone cares enough.



None.

May 5 2011, 9:29 pm Jack Post #28

>be faceless void >mfw I have no face

Laggier as in it takes longer for a 1x1 to detect that a unit has moved. Inverted locations are near enough instant. He said that 1x1 was the most minimal for detection, but you can go smaller, which is what I, and I daresay wormer as well, objected to.

What screwy pathing is this?



Red classic.

"In short, their absurdities are so extreme that it is painful even to quote them."

May 5 2011, 9:47 pm Lethal_Illusion Post #29



Quote from Jack
Laggier as in it takes longer for a 1x1 to detect that a unit has moved. Inverted locations are near enough instant. He said that 1x1 was the most minimal for detection, but you can go smaller, which is what I, and I daresay wormer as well, objected to.
Why would you need the Location ID for detection, though? It's purely there for tracking, meaning it's just being centered every trigger loop.

Quote from Jack
What screwy pathing is this?
This is purely conjecture on my part, but I think whenever a unit is moved/created above/on a ground unit, SC freezes that ground unit for a frame (1/24 a second on fastest) to recalculate its path. Because triggers operate every 1/12 second, the unit is able to move every other frame (at half its regular speed). And because its path is constantly recalculated, the unit has no time to dodge other units, and consequentially tries to run through them. It blindly runs in place at another unit, which is really annoying if you're trying to make an entire battle system with it.



None.

May 5 2011, 9:56 pm Jack Post #30

>be faceless void >mfw I have no face

I/we were just correcting him when he said 1x1 was the most minimal. He's correct that it is the best for tracking, yeah.

Pity about that, it's looking more and more like I'll have to use a mod for my current map.



Red classic.

"In short, their absurdities are so extreme that it is painful even to quote them."

May 7 2011, 10:14 am Wormer Post #31



Quote from Lethal_Illusion
In fact, using an inverted location would be detrimental, as it would be easier for a unit to outrun its location.
Yeah, actually it's a good point. Sacrieur, the 1x1 location is still not all or nothing. Try using the location with dimensions of the target unit collision box.



Some.

May 7 2011, 7:59 pm Sacrieur Post #32

Still Napping

Quote from Wormer
Quote from Lethal_Illusion
In fact, using an inverted location would be detrimental, as it would be easier for a unit to outrun its location.
Yeah, actually it's a good point. Sacrieur, the 1x1 location is still not all or nothing. Try using the location with dimensions of the target unit collision box.

The general concept of the LID revolves around the idea that it is always within the unit's collision box, and if it is always within the units collision box, then it cannot be confused by any other unit. Supposing an inverted location the size of the unit's collision box is an interesting method... it would allow all of those units that don't work to work... But you lose versatility, and must only apply it to units of the same frame.



None.

May 7 2011, 8:11 pm FoxWolf1 Post #33



Quote from Sacrieur
Quote from Wormer
Quote from Lethal_Illusion
In fact, using an inverted location would be detrimental, as it would be easier for a unit to outrun its location.
Yeah, actually it's a good point. Sacrieur, the 1x1 location is still not all or nothing. Try using the location with dimensions of the target unit collision box.

The general concept of the LID revolves around the idea that it is always within the unit's collision box, and if it is always within the units collision box, then it cannot be confused by any other unit. Supposing an inverted location the size of the unit's collision box is an interesting method... it would allow all of those units that don't work to work... But you lose versatility, and must only apply it to units of the same frame.

The thing with inverted locations in this situation is that they're very good for quickly detecting movement, because unlike a 1pixel x 1pixel location, the unit will become outside an inverted location the size of its hitbox as soon as it moves even 1 pixel in any direction (whereas a unit will not become outside a 1px by 1px location until all of its hitbox is outside of the location)...BUT, if your goal is to track a non-unique unit by never having it leave the location, this extra responsiveness is not a positive attribute. Using inverted locations wouldn't help with units for which the 1spx location doesn't work, because this extra "responsiveness" means that the location will become unstuck from the unit too easily.



None.

May 10 2011, 7:24 am Sacrieur Post #34

Still Napping

Quote from FoxWolf1
Quote from Sacrieur
Quote from Wormer
Quote from Lethal_Illusion
In fact, using an inverted location would be detrimental, as it would be easier for a unit to outrun its location.
Yeah, actually it's a good point. Sacrieur, the 1x1 location is still not all or nothing. Try using the location with dimensions of the target unit collision box.

The general concept of the LID revolves around the idea that it is always within the unit's collision box, and if it is always within the units collision box, then it cannot be confused by any other unit. Supposing an inverted location the size of the unit's collision box is an interesting method... it would allow all of those units that don't work to work... But you lose versatility, and must only apply it to units of the same frame.

The thing with inverted locations in this situation is that they're very good for quickly detecting movement, because unlike a 1pixel x 1pixel location, the unit will become outside an inverted location the size of its hitbox as soon as it moves even 1 pixel in any direction (whereas a unit will not become outside a 1px by 1px location until all of its hitbox is outside of the location)...BUT, if your goal is to track a non-unique unit by never having it leave the location, this extra responsiveness is not a positive attribute. Using inverted locations wouldn't help with units for which the 1spx location doesn't work, because this extra "responsiveness" means that the location will become unstuck from the unit too easily.

Bleh, you're right, I dunno know what I was thinking.



None.

Aug 15 2011, 4:51 pm Sacrieur Post #35

Still Napping

Cleaned-up and completed version now up. All units are included. One interesting quirk to note: LIDs work on Gui Montag, but not on firebats.



None.

Nov 9 2011, 1:10 am c(O.Oc) Post #36



Eh... I was fascinated by the LID test map, but when I tried out the civilian tracker map, it didn't work how the triggers said it would. I've made a few modifications to the map so that it does work, but in a slightly different fashion. Apparently the hyper triggers couldn't keep up with the location centering and the LID fell off and was left behind. :crazy: This wasn't locked or anything, so I hope you're okay with the additives. And what is that siege tank doing over there... :ermm:

Modifications:
Decreased civilian roam time (got boring after the second minute)
Added two extra hyper triggers
Modified end identification system
Adjusted map to display "Correct" as long as the 1x1 location is on the civilian
Made the map sexy-er


Thanks for the concept by the way! I might use it in the map I'm working on :D

Edit: Map removed

Post has been edited 1 time(s), last time on Nov 10 2011, 12:50 am by c(O.Oc).



None.

Nov 9 2011, 1:48 am Lethal_Illusion Post #37



Quote from c(O.Oc)
I've made a few modifications to the map so that it does work, but in a slightly different fashion.
At the end of the map, is only the "tracked" civilian supposed to remain? I just tried it and all the civilians were removed. I have the replay if you want it.

Quote from c(O.Oc)
Apparently the hyper triggers couldn't keep up with the location centering and the LID fell off and was left behind. :crazy:
...
Added two extra hyper triggers
Having more hyper triggers doesn't speed up the triggers, unfortunately.

Quote from c(O.Oc)
And what is that siege tank doing over there... :ermm:
My guess is that it damages the civilian to identify it. I don't know why he/you didn't just set the health through unit properties, but it did make the map more amusing.



The main problem to this system (LID) is that some (most?) units can normally outrun their locations. This is mostly because the animation loop (unit movements, attacks, anything seen) runs twice as frequently as the trigger loop. But because of this, if the units speed is halved (by constantly moving/creating a unit over/under the "tracked" unit), the system perfectly tracks every unit but the zergling (with and without speed upgrade) and the speed-upgraded zealot. It doesn't look as pretty, but at least it works.



None.

Nov 9 2011, 3:54 am Sacrieur Post #38

Still Napping

I don't understand how a LID wouldn't work on a civilian. All of the tests show it can. We can even do the math to show it can't happen.



None.

Nov 9 2011, 4:16 am Lethal_Illusion Post #39



Quote from Sacrieur
I don't understand how a LID wouldn't work on a civilian. All of the tests show it can. We can even do the math to show it can't happen.
LID does work on civilians. It just didn't in his map.


That said, LID doesn't work for all units. If you slow the units, though, it works for all but zerglings and zealots (see my last post).



None.

Nov 10 2011, 12:48 am c(O.Oc) Post #40



I noticed that the only way for my version to work is if you're in the observer slot. I guess I lacked the motivation to move over to the "Tracker" slot every game, but I was certainly motivated to edit a map that didn't need editing. (?) That's also why I never saw the siege tank...

The reason my version didn't work was because you were in the Tracker slot, like you were supposed to be. I don't feel like fixing it so I'll just remove that map from my previous post.

Sorry for profaning your map :D



None.

Options
Pages: < 1 2 3 >
  Back to forum
Please log in to reply to this topic or to report it.
Members in this topic: None.
[10:41 am]
v9bettel -- Nice
[01:39 am]
Ultraviolet -- no u elky skeleton guy, I'll use em better
[10:50 pm]
Vrael -- Ultraviolet
Ultraviolet shouted: How about you all send me your minerals instead of washing them into the gambling void? I'm saving up for a new name color and/or glow
hey cut it out I'm getting all the minerals
[10:11 pm]
Ultraviolet -- :P
[10:11 pm]
Ultraviolet -- How about you all send me your minerals instead of washing them into the gambling void? I'm saving up for a new name color and/or glow
[2024-4-17. : 11:50 pm]
O)FaRTy1billion[MM] -- nice, now i have more than enough
[2024-4-17. : 11:49 pm]
O)FaRTy1billion[MM] -- if i don't gamble them away first
[2024-4-17. : 11:49 pm]
O)FaRTy1billion[MM] -- o, due to a donation i now have enough minerals to send you minerals
[2024-4-17. : 3:26 am]
O)FaRTy1billion[MM] -- i have to ask for minerals first tho cuz i don't have enough to send
[2024-4-17. : 1:53 am]
Vrael -- bet u'll ask for my minerals first and then just send me some lousy vespene gas instead
Please log in to shout.


Members Online: storuswhes, Roy