Staredit Network > Forums > SC1 UMS Mapmaking Assistance > Topic: Ground-based vision for 8 players?
Ground-based vision for 8 players?
Oct 20 2014, 9:27 pm
By: Virtual Pancake  

Oct 20 2014, 9:27 pm Virtual Pancake Post #1



Having a bit of a problem with vision on a map I am making.

I have a "T" shaped area where players can select hero units. The problem I am running into is providing vision to the entire area without the vision spreading beyond that.

Immediately ruling out map revealers, what can be done about this?

I tried to use small units such as power-ups/crystals but they don't stack so I can't use those.

I also tried creating a power-up for the current player and setting a switch when a switch is cleared, while always removing the same unit as well as clearing the switch. While this provides vision and the unit is not visible, it creates a pretty nasty flicker effect.

Map has hyper triggers.

I would really like it to be something not noticeable or invisible but so far, I haven't had any luck. I can't share vision with players 9 through 12 so I can't make the invisible beacons provide the vision.

Any suggestions?



None.

Oct 20 2014, 10:42 pm Roy Post #2

An artist's depiction of an Extended Unit Death

Off the top of my head: burrowed units, spider mines, cocoons, observers, floor gun traps.




Oct 20 2014, 11:04 pm Moose Post #3

We live in a society.

Another option is to rapidly create/kill a unit in a fixed location owned by the player with hyper triggers to give vision and pass it off as a "torch" or effects or something. (Alternatively, if create/remove within a single trigger gives vision, just do that and there shouldn't be any visual artifacts.)




Oct 20 2014, 11:11 pm jjf28 Post #4

Cartography Artisan

The fog is recalculated automatically every 50 hyper cycles, so if you create and remove a unit during the first cycle of fog you will keep vision till the next when you can create/remove the unit again.

Source & Example Map

also:

Quote from name:me
You can try the stack trick (if your placement's blocked by a unit), move a big location over your desired stack location, create a unit, remove that same unit at the big location, then move your desired unit to the big location.




TheNitesWhoSay - Clan Aura - github

Reached the top of StarCraft theory crafting 2:12 AM CST, August 2nd, 2014.

Oct 20 2014, 11:37 pm Virtual Pancake Post #5



Quote from Roy
Off the top of my head: burrowed units, spider mines, cocoons, observers, floor gun traps.
Observers would provide vision over the wall, can't have that.

Burrowed units sounds pretty good but how would I make them 'invisible' to the player as well as preventing them from being able to unburrow the unit while still allowing it to provide vision?

Are cocoons stackable? Thought that was just another 'power-up' type item.

Floor gun traps I can't use. They're 'detectors' and I am already using the invisible beacon trick. Should have mentioned this, forgot about it.

Quote from Mini Moose 2707
Another option is to rapidly create/kill a unit in a fixed location owned by the player with hyper triggers to give vision and pass it off as a "torch" or effects or something. (Alternatively, if create/remove within a single trigger gives vision, just do that and there shouldn't be any visual artifacts.)

This would create a constant sound, wouldn't it? You would hear it throughout the map.

I tried the create and remove in a single trigger but it just creates a unit that you can't select for more than a millisecond.

Quote from jjf28
The fog is recalculated automatically every 50 hyper cycles, so if you create and remove a unit during the first cycle of fog you will keep vision till the next when you can create/remove the unit again.

Source & Example Map

also:

Quote from name:me
You can try the stack trick (if your placement's blocked by a unit), move a big location over your desired stack location, create a unit, remove that same unit at the big location, then move your desired unit to the big location.

For whatever reason, SCMDraft won't let me open that example map.



None.

Oct 20 2014, 11:52 pm Roy Post #6

An artist's depiction of an Extended Unit Death

Quote from Virtual Pancake
Burrowed units sounds pretty good but how would I make them 'invisible' to the player as well as preventing them from being able to unburrow the unit while still allowing it to provide vision?
They would be visible, but you can disable burrowing for the player that owns the unit, and they won't be able to unburrow it. The trick is to create the burrowed unit for a player with burrow researched, and then give that unit to the player with burrow disabled.

Sounds like Spider Mines could still work, though.

Quote from Virtual Pancake
I tried the create and remove in a single trigger but it just creates a unit that you can't select for more than a millisecond.
If you can see the unit, you're doing it wrong. You should create it and immediately remove it, in that order, without any waits.

Quote from Virtual Pancake
For whatever reason, SCMDraft won't let me open that example map.
Works just fine for me. Make sure you have the latest version: http://www.staredit.net/topic/8307/




Oct 21 2014, 12:04 am Virtual Pancake Post #7



Quote from Roy
Quote from Virtual Pancake
Burrowed units sounds pretty good but how would I make them 'invisible' to the player as well as preventing them from being able to unburrow the unit while still allowing it to provide vision?
They would be visible, but you can disable burrowing for the player that owns the unit, and they won't be able to unburrow it. The trick is to create the burrowed unit for a player with burrow researched, and then give that unit to the player with burrow disabled.

Sounds like Spider Mines could still work, though.

Quote from Virtual Pancake
I tried the create and remove in a single trigger but it just creates a unit that you can't select for more than a millisecond.
If you can see the unit, you're doing it wrong. You should create it and immediately remove it, in that order, without any waits.

Quote from Virtual Pancake
For whatever reason, SCMDraft won't let me open that example map.
Works just fine for me. Make sure you have the latest version: http://www.staredit.net/topic/8307/
The map uses both the burrow feature for all players so I may run into problems with that.

I suppose I could hide the spider mines, but they really don't provide a whole lot of vision.

As for the create and remove, I have the conditions set to Always, and then I just create the unit and immediately remove the unit in actions, with a preserve. Is there a different way to do this?

EDIT: Okay, I got it to work, but it still flickers every 5 seconds. I am trying to get rid of that flicker.

EDIT 2: Finally got that example map open. Unfortunately this won't work. Can't share vision with 9-12 and I am already using slots 1 through 8 for actual players.

EDIT 3: Well, spider mines don't stack either..

Post has been edited 2 time(s), last time on Oct 21 2014, 12:28 am by Virtual Pancake.



None.

Oct 21 2014, 2:30 am O)FaRTy1billion[MM] Post #8

👻 👾 👽 💪

Quote from Virtual Pancake
Quote from Mini Moose 2707
Another option is to rapidly create/kill a unit in a fixed location owned by the player with hyper triggers to give vision and pass it off as a "torch" or effects or something. (Alternatively, if create/remove within a single trigger gives vision, just do that and there shouldn't be any visual artifacts.)

This would create a constant sound, wouldn't it? You would hear it throughout the map.
Not if you use powerups! They explode silently.

Also spidermines will stack if you move them in to position after they have burrowed.



TinyMap2 - Latest in map compression! ( 7/09/14 - New build! )
EUD Action Enabler - Lightweight EUD/EPD support! (ChaosLauncher/MPQDraft support!)
EUDDB - topic - Help out by adding your EUDs! Or Submit reference files in the References tab!
MapSketch - New image->map generator!
EUDTrig - topic - Quickly and easily convert offsets to EUDs! (extended players supported)
SC2 Map Texture Mask Importer/Exporter - Edit texture placement in an image editor!
\:farty\: This page has been viewed [img]http://farty1billion.dyndns.org/Clicky.php?img.gif[/img] times!

Oct 23 2014, 2:38 am rockz Post #9

ᴄʜᴇᴇsᴇ ɪᴛ!

1. Don't use medics with optical flare.
2. Have a timer count to 50 using hyper triggers.
3. On DC=0, remove a unit at a location, then create a unit at a location, then remove a unit at a location.
4. On DC=49, create a unit at a location.

This works best if you use cloaked units, as the units will blink into and out of existance only once every 300 frames. You do not have to create the units. You can instead "give" units, but you'll have to have one for each player, as the unit has to exist on frame between hyper trigger 49 and hyper trigger 50 (0).

PROS:
You can give anyone vision of anything that's not cloaked, even if they have vision turned off for themselves.
You can increase or decrease the sight range of any single/hero unit by using burrowed zerg units or cloaked ghosts/disabled unit sprites.
You can share vision of cloaked buildings to detect them, without ever showing them on the minimap.
Vision will not disappear every 100 frames briefly like it does when you repeatedly create units, since you are leaving a unit with vision there over the vision update frame.

MEDIOCRE:
You can "uncloak" DTs without giving vision. The DTS will blink out of existance from time to time, but will come back almost instantly. I believe it's once every 30 frames, and only some of the DTs will blink in a given group.

CONS:
You'll see the unit being created once every 300 frames due to vision updating every 100 frames and cloaked units updating every 30 frames.
Optical flare instantly resets the vision counter, making this process useless.

Example map Try this one, or open it in something that's not SCMDraft. Opened fine in fartyedit for me, but my scmdraft is broken. Here's the starforge triggers:

Quote
Create a unit when the "hero" unit moves, so as to give new vision. If you don't create a unit, the unit can walk out of his or her vision. Creating ground units at a location with a ground unit also won't slow the unit down, unlike moving a burrowed unit
Bring(CurrentPlayer, Exactly, 0, Marine, Location 0);

MoveLocation(Location 0, Marine, CurrentPlayer, Anywhere);
RemoveUnitAtLocation(All, 54, P11, Anywhere);
CreateUnitWithProperties(1, Devouring One Zergling, Location 0, P2, 1);
MoveUnit(1, Devouring One Zergling, P2, Anywhere, Location 0);
GiveUnits(All, Devouring One Zergling, P2, Anywhere, P11);
PreserveTrigger();
--
reset counter. "13" means "Current Player" in my starforge. Note that because this is first, I will never have DC=100 in any condition after this.
Deaths(13, AtLeast, 100, 0);

PreserveTrigger();
SetDeaths(CurrentPlayer, SetTo, 0, 0);
--
Give the unit to the player on frame 96. Note the position of the trigger in the list
Deaths(13, Exactly, 96, 0);

PreserveTrigger();
GiveUnits(1, Devouring One Zergling, P11, Anywhere, P2);
--
Give the unit back to neutral on frame 98. Note the position of the trigger in the list
Deaths(13, Exactly, 98, 0);

PreserveTrigger();
GiveUnits(1, Devouring One Zergling, P2, Anywhere, P11);
--
The timer. Note that it's after all the other triggers, so I will never execute anything on DC=100, because DC can't equal zero above this
Always();

PreserveTrigger();
SetDeaths(CurrentPlayer, Add, 2, 0);
--
Vision AI scripts
Always();

RunAIScript(Turn OFF Shared Vision for Player 1);
RunAIScript(Turn ON Shared Vision for Player 2);
GiveUnits(All, AnyUnit, P9, Anywhere, P1);

Apologies for not having SCMDraft working and modding my starforge to use numbers for EUD stuff. 13=Current Player in my "deaths" condition". Also note I added 2 instead of adding 1, so I could go by frames. You don't have to do it that way. I'm counting from 0-98, with the reset happening on frame 97, and frame 99 exists, but we can't do anything on that frame anyway. Frame 100 is the same thing as Frame 0. Let us know if this is all terribly confusing. It's definitely possible.

Post has been edited 1 time(s), last time on Oct 23 2014, 3:05 am by rockz.



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

Oct 23 2014, 5:34 am NudeRaider Post #10

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

Quote from rockz
Let us know if this is all terribly confusing. It's definitely possible.
It may help briefly explaining the concept:

Vision aka "what players can see and what's hidden by fog of war" updates only every 100 frames (=50 trigger cycles using hyper triggers). This is fixed and is always happening at the same time (unless medic's flare screws with it). Vision will be given for every unit that exists between the 49th and 50th trigger cycle.

So what rockz is doing is creating a unit in the 49th trigger cycle and remove it in the 50th to minimize impact of the unit that is used to give vision.

Post has been edited 3 time(s), last time on Oct 23 2014, 5:45 am by NudeRaider. Reason: clarification




Oct 23 2014, 12:34 pm rockz Post #11

ᴄʜᴇᴇsᴇ ɪᴛ!

Quote from NudeRaider
Quote from rockz
Let us know if this is all terribly confusing. It's definitely possible.
It may help briefly explaining the concept:

Vision aka "what players can see and what's hidden by fog of war" updates only every 100 frames (=50 trigger cycles using hyper triggers). This is fixed and is always happening at the same time (unless medic's flare screws with it). Vision will be given for every unit that exists between the 49th and 50th trigger cycle.

So what rockz is doing is creating a unit in the 49th trigger cycle and remove it in the 50th to minimize impact of the unit that is used to give vision.
Also I forgot. If you just "give" a cloaked unit, they will be cloaked for a little bit until the 30 frame timer hits them. If you create a cloaked unit, it will be visible instantly. In this case, give is better than create.



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

Options
  Back to forum
Please log in to reply to this topic or to report it.
Members in this topic: None.
[10:05 am]
Moose -- ya
[05:23 am]
zsnakezz -- yes
[2024-5-12. : 8:51 pm]
l)ark_ssj9kevin -- Are you excited for Homeworld 3?
[2024-5-12. : 8:44 pm]
l)ark_ssj9kevin -- Hi Brusilov
[2024-5-12. : 4:35 pm]
O)FaRTy1billion[MM] -- Brusilov
Brusilov shouted: Hey, what happened to EUDDB? Is there a mirror for it somewhere? Need to do a little research.
my server that was hosting it died
[2024-5-10. : 8:46 pm]
NudeRaider -- Brusilov
Brusilov shouted: Hey, what happened to EUDDB? Is there a mirror for it somewhere? Need to do a little research.
https://armoha.github.io/eud-book/
[2024-5-10. : 8:36 am]
Brusilov -- Hey, what happened to EUDDB? Is there a mirror for it somewhere? Need to do a little research.
[2024-5-09. : 11:31 pm]
Vrael -- :wob:
[2024-5-09. : 8:42 pm]
Ultraviolet -- :wob:
[2024-5-08. : 10:09 pm]
Ultraviolet -- let's fucking go on a madmen rage bruh
Please log in to shout.


Members Online: Ultraviolet