Staredit Network > Forums > SC1 UMS Mapmaking Assistance > Topic: Anti-Block System?
Anti-Block System?
Nov 22 2009, 4:45 am
By: payne  

Nov 22 2009, 4:45 am payne Post #1

:payne:

I am trying to think of a way to prevent people from blocking the Warbringer in the level 2.
Any ideas?
The player that owns the reaver is being permanently ordered to a location and the goal is that it reaches that place alive.
This same player is allied to all players.
I'd like to have a way to detect if it is getting surrounded by ally units (players 1 to 5) and if so, I'd like him to attack them once and wait a bit before attacking again.
Any ideas? I've attached the map below.



None.

Nov 22 2009, 4:55 am ImagoDeo Post #2



All right... Um.

I played it on single player, which doesn't work too well. It gave the proper neutral units to each of my allies who weren't there. They attacked and killed the reaver after they attacked and killed me.

-HOWEVER-

I got a good enough look at your game to be able to suggest the following.

Add 36 to a death counter.
If Force 1 brings 5 units to the reaver's centered location, subtract one from the death counter. If they don't, and it's under 36, add one to it.
If the death counter hits 0, alter player 7's alliances for a period of time long enough for it to attack once, then set the death count back to 36.

Sound good?



None.

Nov 22 2009, 6:16 am rockz Post #3

ᴄʜᴇᴇsᴇ ɪᴛ!

detect when it moves, if it doesn't move after 3 s, unally etc...



"Parliamentary inquiry, Mr. Chairman - do we have to call the Gentleman a gentleman if he's not one?"

Nov 22 2009, 7:06 am payne Post #4

:payne:

Quote from ImagoDeo
All right... Um.

I played it on single player, which doesn't work too well. It gave the proper neutral units to each of my allies who weren't there. They attacked and killed the reaver after they attacked and killed me.

-HOWEVER-

I got a good enough look at your game to be able to suggest the following.

Add 36 to a death counter.
If Force 1 brings 5 units to the reaver's centered location, subtract one from the death counter. If they don't, and it's under 36, add one to it.
If the death counter hits 0, alter player 7's alliances for a period of time long enough for it to attack once, then set the death count back to 36.

Sound good?
This seems good. I guess I'll implement it, but with a bit higher DC value... 3 second can be a simple error or a coincidence... players often have to surround or stay near the reaver to help him out.

@rockz: so you suggest using inverted location?



None.

Nov 22 2009, 10:06 am JaFF Post #5



Quote from ImagoDeo
Add 36 to a death counter.
If Force 1 brings 5 units to the reaver's centered location, subtract one from the death counter. If they don't, and it's under 36, add one to it.
If the death counter hits 0, alter player 7's alliances for a period of time long enough for it to attack once, then set the death count back to 36.

Sound good?
This does not cover the case when at least 1 player unit is killed. And you can fully block a reaver with only 4 units in the worst case. This can be easily fixed, of course. The real problem is that having 5 units nearby does not always mean that it is being blocked.

I suggest using a combination of the two suggestions so far:

Detect reaver's motion with an inverted location. A deathcounter N starts at, say, 48. Have 2 subtracted from it each trigger loop that the reaver does not move. Each trigger cycle that N is below 48 and the reaver is moving, add 1. This way, smart people that are able to notice the pattern (or know the triggers) will not be able to exploit it.

One other thing (I'm not sure on this one, but it worked for me with a tank):
If you constantly order a unit to move to a location that is very close to its current position, it will not move if it encounters even the slightest disturbance. i.e. it will not go around units that are directly on its path.



None.

Nov 22 2009, 10:36 am Kaias Post #6



The problem is that I believe Payne wants you to be able to stasis and lockdown the Reaver, just not wall it. I suppose it is possible to test if the Reaver is locked down or stasis-ed at the end of that non-movement threshold, though, at which point you could just restart the clock.



None.

Nov 22 2009, 11:10 am NudeRaider Post #7

We can't explain the universe, just describe it; and we don't know whether our theories are true, we just know they're not wrong. >Harald Lesch

don't allow units in a 2 tile radius around the reaver




Nov 22 2009, 3:47 pm Dungeon-Master Post #8



Quote from NudeRaider
don't allow units in a 2 tile radius around the reaver
...But maybe he wants the player to be able to use zealots?



None.

Nov 22 2009, 5:21 pm payne Post #9

:payne:

Quote from Kaias
The problem is that I believe Payne wants you to be able to stasis and lockdown the Reaver, just not wall it. I suppose it is possible to test if the Reaver is locked down or stasis-ed at the end of that non-movement threshold, though, at which point you could just restart the clock.
Ya, players actually -have- to use lockdown or stasis to be able to win.
How to detect if such spells are being used ? Please no EUDs if possible.



None.

Nov 22 2009, 5:26 pm Kaias Post #10



Quote from payne
Quote from Kaias
The problem is that I believe Payne wants you to be able to stasis and lockdown the Reaver, just not wall it. I suppose it is possible to test if the Reaver is locked down or stasis-ed at the end of that non-movement threshold, though, at which point you could just restart the clock.
Ya, players actually -have- to use lockdown or stasis to be able to win.
How to detect if such spells are being used ? Please no EUDs if possible.
It isn't pretty. You move the Reaver to a remote area for a loop and detect if it can move. That's why you would only do it at the end of the timer that JaFF suggested. If you aren't willing to allow the Reaver to be moved away for a 1/12th of a second then you could order it to move back to the beginning for a loop and see if it can move then. Of course, that doesn't work if they've completely surrounded it.

Or you could do it like any defense does and allow the Reaver to attack if it can't move.



None.

Nov 22 2009, 5:40 pm rockz Post #11

ᴄʜᴇᴇsᴇ ɪᴛ!

unally for one attack. then re-ally. If you want to detect stasis, have a counter go up to however long stasis lasts, and when the unit moves after that, he's been stasised, and you probably shouldn't unally. Same goes for lockdown, but unfortunately there's a bit of a problem with LD and being able to stack them. That's why it's better to count to 36, unally, continue counting to 45 or whatever, ally, continue counting to 72, unally, etc, until you've counted to a decent amount to take care of 2-3 lockdowns. There will be a slight chance that the reaver will attack after coming out of the lockdown if you chain them, so either don't chain them, or accept it.

You don't have to use inverted locations, as a pixel location could work too. Sometimes units get stuck in a loop moving back and forth when they are stuck, so you probably want a little leeway.



"Parliamentary inquiry, Mr. Chairman - do we have to call the Gentleman a gentleman if he's not one?"

Nov 22 2009, 7:40 pm payne Post #12

:payne:

Hmm... if the Reaver is stopped because of a statis or lockdown, if I unally the players, he won't attack anyways. So it solves the problem, no ?
An other problem is that I use a zergling moved under the reaver to slow him down even more... and when we use such a method, the unit rarely try to move around a blocking unit, it'll just keep running on it until it moves. :O



None.

Nov 22 2009, 8:07 pm rockz Post #13

ᴄʜᴇᴇsᴇ ɪᴛ!

treat that as a wall



"Parliamentary inquiry, Mr. Chairman - do we have to call the Gentleman a gentleman if he's not one?"

Nov 22 2009, 8:17 pm payne Post #14

:payne:

Could anyone make a test/demo map? :S



None.

Nov 23 2009, 2:48 am scwizard Post #15



As long as the unit is not moving, have it unally the humans.

If it's locked down or stasised, this won't be a problem, because units can't attack when locked down or stasised.



None.

Nov 23 2009, 3:22 am payne Post #16

:payne:

It would only attack the players when it is being stopped since it is being perma-ordered to move ?



None.

Nov 24 2009, 6:16 am payne Post #17

:payne:

It didn't work at all (unally solution).
See attached map.
Could it be because of the moved ling?



None.

Nov 24 2009, 4:46 pm ImagoDeo Post #18



Quote from Kaias
It isn't pretty. You move the Reaver to a remote area for a loop and detect if it can move. That's why you would only do it at the end of the timer that JaFF suggested. If you aren't willing to allow the Reaver to be moved away for a 1/12th of a second then you could order it to move back to the beginning for a loop and see if it can move then. Of course, that doesn't work if they've completely surrounded it.

Or you could do it like any defense does and allow the Reaver to attack if it can't move.

Moving the reaver away for 1/12 of a second and having it move is hard to detect unless you use a precisely sized inverted location. You might also run into the problem of a unit moving into the area where the reaver was before the reaver gets back, thus offsetting the reaver.

I think my suggestion would work best. If you aren't using reavers for anything else on the map, you might consider making it do enough damage to kill one or two units as a penalty. Displaying text for the players letting them know why it attacked would also help, because some people are stupid enough to keep trying.



None.

Nov 25 2009, 2:41 am payne Post #19

:payne:

How to make it target the nearest unit because when I'll tell him to attack, it will attack highest Unit Score ;o



None.

Options
  Back to forum
Please log in to reply to this topic or to report it.
Members in this topic: None.
[07: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
[06:36 pm]
RIVE -- Nah, I'm still on Orange Box.
[04:36 pm]
Oh_Man -- anyone play Outside the Box yet? it was a fun time
[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
[2024-4-27. : 6:24 pm]
NudeRaider -- "War nie wirklich weg" 🎵
[2024-4-27. : 3:33 pm]
O)FaRTy1billion[MM] -- o sen is back
[2024-4-27. : 1:53 am]
Ultraviolet -- :lol:
Please log in to shout.


Members Online: C(a)HeK, Roy, NudeRaider