Loading...
  OR  Zero-K Name:    Password:   

Bug with Stingers shooting from underground

32 posts, 1956 views
Post comment
Filter:    Player:  
Page of 2 (32 records)
sort
5 years ago
This post has been downvoted below -5 and collapsed, click here to expand
Notice the Stinger in asin64's base:
https://zero-k.info/Battles/Detail/704459

BTW, he was informed that it is bug, yet he uses it every battle - apart form fix, offender could benefit from a few days ban.
+0 / -6
This is not a bug.



quote:
offender could benefit from a few days ban.

This is not the correct channel to report suspected abuse.
+5 / -1
Firepluk
EErankAdminAnarchid I recall there is a long standing issue that units have trouble targetting and seeing terra-sinked stingers(and probably units in general)
Been caught by surprise with this behavior recently, now using it myself...
+0 / -1
Yes. This is why ZK reveals positions of enemy units shooting within the nominal sight radius of your units - ignoring terrain - since 2016.
+2 / -1
So it's supposedly too computationally expensive to implement 3D LOS in the engine. Would it be possible to implement "if I see you, you see me"? I.e. make defenses generally visible to everything they can see, as long as the distance is within LOS range.

The intuitivity of the map-drawn LOS is already broken by the existing unveil-on-fire mechanic. It's also very confusing in the way units "cloak" a few seconds after firing.
+2 / -1

5 years ago
the engine should set visibility based on top of units being visible, not the base.

This is a "feature" the engine shouldn't have.
+3 / -0
Your choice of words does not fit civil discussion. If you feel a player violated the CoC, please report them to the admins. This is a warning.
- hoko
+2 / -1
5 years ago
Ban terraforming mexes!
+1 / -1

5 years ago
quote:
the engine should set visibility based on top of units being visible, not the base.

This is a "feature" the engine shouldn't have.

How fortunate that this feature doesn't exist in the engine, since units don't see units, they only see ground squares.

Now let's try to explain concisely how the engine works:
If you can trace a line from the seeing unit's losheight (a game configurable value) to ~5 elmos above ground without hitting any ground in the middle and without being over the maximum sight distance, all ground units in the square will be visible. This approach was selected because it was deemed a good compromise between accuracy and performance.

I suspect CHrankAdminDeinFreund's suggestion is trivially implementable by setting the losheight of all units to 5, but the game developers prefer the current situation to a situation where a detriment won't be able to spot units over small hills because its eyes are below its knees.

If you think a different approach might generate better results, please include an estimate of how many FPS are you willing to give up to have this approach implemented.
+3 / -0
the cheap "solution" I used on my game was just raising each units los height by 80 units or so, but it wouldn't work for extreme cases of dug-in units or units above high cliffs.

consider the following : there's a hill between a "seer" and various enemies.

1 - enemy pyro is (and should be) invisible, but it jumps way past the hill and should temporarily become visible
(according to your explanation it should remain invisible?)

there's also "airlos"...Two enemy gunships are behind the hill...

2 - one is high in the air and should be visible

3 - the other was landed behind the hill and is taking off, it should be invisible up to a point and then become visible as it climbs


how does the engine process these 3 cases?


+2 / -0


5 years ago
First of all, you're going to have trouble getting someone banned for using a bug. Usage would have to be:
  • Clearly defined (how deep must the hole be?).
  • Impossible to accidentally trigger (what if you simply make a Stinger in a dip or near a cliff?).
  • Very hard to fix technically.
  • Previously agreed upon to be bannable.
Banning is the completely wrong direction to approach. Do you really want a game where certain types of terraform and placements of turrets are deemed illegal? Have you thought for five seconds about how messy everything will become?

Secondly,
quote:
This is not a bug.

The only bug here is that Stinger was not revealed when it shot. I've fixed that:
https://github.com/ZeroK-RTS/Zero-K/commit/5fa7e24961ee205e52f0ca6524e6b80fe2859b73

quote:
the engine should set visibility based on top of units being visible, not the base.

This is a "feature" the engine shouldn't have.
I completely disagree. Ignoring the technical challenges raised by ATrankhokomoko, I don't agree with the proposed change on the basis of design. Making unit visibility vary depending on their height undercuts the meaning of the displayed LOS. How do you even draw LOS under this scheme?

Currently, if a player doesn't have LOS on a location they know that they don't know what is at that position. However, if visibility is based on height, a player may run their units close enough to a cliff to determine that there are not Lotuses or Wind Generators, which is useful information, but may not be able to tell whether or not any enemy Glaives are defending the Wind Generators.

Perhaps you only show LOS if the unit could see a Puppy (or similarly flat unit) at the target location. It feels confusing and unnerving to have enemy units become visible "outside LOS" in the presence of bumpy terrain. The LOS system would be transformed into a pile of esoteria that visually appears unrelated to what units can actually see. Such a change would also amount to a dramatic reduction in the units ability to see over terrain. In this image the right Glaive can see the left Glaive and Puppy, yet all the raytraces are occluded.


quote:
The intuitivity of the map-drawn LOS is already broken by the existing unveil-on-fire mechanic. It's also very confusing in the way units "cloak" a few seconds after firing.
LOS is nowhere near as broken by shoot-revealing as it would be by 3D LOS.

There are three types of ground:
  • Ground inside LOS.
  • Ground inside the LOS radius of a unit (called airLOS).
  • Ground outside the LOS radius of a unit.

A position in airLOS is known to potentially contain any non-firing non-air unit. The feedback loop that teaches the firing-reveal mechanic is very tight so I don't think it is that hard to learn. The revealed unit appearrs exactly when they fire and disappear a bit later. It makes sense because airLOS also reveals projectiles.

quote:
how does the engine process these 3 cases?

1 - The non-air unit is visible depending on the LOS state of the patch of ground underneath it.
2 - The flying air unit is visible depending on the airLOS state of the patch of ground underneath it.
3 - Landed air units use LOS. Flying air units use airLOS.

An argument can be made for making jumpjet units visible via airLOS while jumping.
+4 / -1
ew

I completely disagree.

I'd say having a tall unit sticking out of some terrain feature not be visible when it should is a MUCH BIGGER FAIL than the inconsistency of having it visible while the ground is shaded darker than the other visible surroundings.


The LOS colouring relevance as an indicator of LOS radius is also important and boosts the case for viewing tall stuff within it even if it's base is occluded by terrain.



as for how this could be implemented, I dunno the engine specifics, but maybe

- some tall units just get visible if within airLOS (through lua gadgetry?)

OR

engine changes:
- add modrule groundLOSHeightThreshold, default 40
- add modrule groundLOSExtraLayers, default 2
- calculate groundLOSExtraLayers extra LOS layers called groundLOS1,groundLOS2,etc. which would check points multiples of "groundLOSHeightThreshold" units above the ground height, after calculating groundLOS0
- visibility of ground units with height > N*groundLOSHeightThreshold would be ruled by groundLOS(N+1) (or airlos if N+1 > groundLOSExtraLayers) instead of normal ground LOS (groundLOS0)


calculating this could be optimized as
- a spot only has groundLOSN coverage if it has airLOS coverage (assuming airLos > los)
- a spot with groundLOSN coverage also has groundLOS(N+1) coverage (this means you'd only need to calculate groundLOS1 for spots that failed groundLOS0)
+4 / -0

5 years ago
What does "should be visible" mean? If it's based on any kind of realism argument, a Detriment standing on top of one of the Tabula mountains "should" be visible from pretty much everywhere else on the map.
+1 / -1
Keep in mind that we're playing this game always from a bird's eye perspective. Thus, intuition tricks us a bit into thinking units should be able to see more than they do. The terrain seems much smoother from above than it actually is. Having a slightly less realistic, but more forgiving viewpoint, similar to the 3rd person view adopted in many recent shooters, might thus lead to more enjoyable gameplay.

quote:



From this view it seems obvious that the glaive shouldn't see the other glaive, but how does it look from the standard camera view?

Having units see a bit further ahead than they have line-of-sight, would also make micro more interactive in that one can see enemies just a bit before they start shooting. Add in the human reaction time, and this might be just enough time for the units to start shooting when one has processed that the enemy is actually there. Otherwise, with ZK's engagement times, the battle is probably over before one realizes it has even begun.
+1 / -0
5 years ago
If giant units could be visible from anywhere on the map with LOS, how would that affect gameplay? Buried Berthas? Irised Detriments?
+0 / -0

5 years ago
quote:
make defenses generally visible to everything they can see, as long as the distance is within LOS range.


is bertha considered a "defense" unit? because i take offense of it.
+4 / -0
5 years ago
Buildings cant be irised
+0 / -0
if only i could prefab a terra template that i like so i can quickly nanoframe them in battle.. even just a preset hight toggle would do

i would like to have tiny forts i can plonk with annoying popup turrets that cant be shot
+0 / -0
5 years ago
During other match with same player (not related to any insisted ban attempts - practices of player in question are irrelevant, the underlying issue is important) I had a situation where Stinger buried underground was able to continuously shoot my crab from full range, while crab was unable to fire back (unless manually targeted to shoot at the hole in the ground) or see the Stinger, until it crawled all the way to the hole edge.

If that is a "feature" or intended gameplay, then congratulations - also on all the downdvotes on original posts, which I see as amusing (given who is downvoting them).
+0 / -0


5 years ago
PLrankCatLady I suggest you read the whole thread to find the answers to your questions.
+1 / -1
Page of 2 (32 records)