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

Brackman's Overshooter is unfair. Don't use it.

25 posts, 1377 views
Post comment
Filter:    Player:  
Page of 2 (25 records)
sort
DErankBrackman released an overshooting widget in this thread. He doesn't want that thread cluttered and the widgets in MM thread is is messy enough as is, so here is a new thread.

Anyway, to maintain fairness, nobody should use it. The only reason anyone should need is latency. It's my knockdown argument against many unit AI widgets ideas, and it's demonstrably a problem here.

Here are two replays of the widget for Glaive vs. Glaive, one on the server and one in local skirmish: https://github.com/ZeroK-RTS/Zero-K/files/7072013/OvershooterReplays.zip

The server replay can be launched easily here: http://zero-k.info/Battles/Detail/1186151

In local skirmish the retreating Glaive consistently fires at the edge of its range to kill the chasing Glaive. Here is a picture.


On the server the retreating Glaive shoots intermittently. I ran the test twice and the first one seemed to shoot less than half the time. The second one was a bit better.

The reason is latency. In local skirmish, the widget's commands arrive in the simulation 33ms after they are issued. This allows it to keep the set target command just within the retreating Glaive's range so that it always fires. On the server I have 333ms to 366ms ping. The widget exists on my computer so any commands it issues take 1/3rd of a second to reach the simulation. By this time the command is often no longer within range of the Glaive.

In short, the effectiveness of the widget increases dramatically as you go from 366ms to 33ms ping. Maybe it even works fine for DErankBrackman. His ping seems to range from 166ms to 233ms, lower than mine, and I presume he tweaked the range leeways and velocity predictions to work for him.

Thus nears the end of the strong part of this post. The unfairness described above seems indefensible. Zero-K isn't about drilling fibre through mountains to be ns closer to the stock exchange. Maybe some more advanced widget could take latency into account, but I am talking about this widget, the one that actually exits, not some theoretical extra. I'm about to talk about that possibility, but nothing said on that front detracts from what is above.

So, should the widget be fixed to take latency into account? In short, no.
  • Latency inherently reduces the performance of the widget, no matter how smart, because it can only predict what is going to happen and issue commands appropriately. Factors, such as changes in direction, will ruin its prediction.
  • If the widget maintains enough leeway to account for changes, then players with lower ping will require less leeway. This directly translates to the amount of damage your Glaives deal, before any input from the player, depending on their ping.
  • Writing fancy latency prediction is a waste of time when the whole thing could be a gadget.

Next question. Should the widget be a gadget, or equivalently, would it be fine if we all lived 33ms from the server? We're getting into more arguable territory, but I think the answer is still no.

As DErankkatastrophe says:
quote:
I share Randys opinion about the overshooter-widget and want to add another aspect about it: the audio. It makes it a lot harder to percieve what is going on by your ears. In https://zero-k.info/Battles/Detail/1185842 there was a moment at the beginning of the game where an enemy glaive just ran through our base shooting at nothing. I was confused because i thought an actual interaction would take place. Yes, that is maybe a minor issue and yes, it was possible to somehow do that on purpose before (ground-attack), but not to that extend.

This is a problem I've thought about before, in the wider context of shooting at the ground being free. Having units shoot at the ground all the time is visually and audibly noisy. It's janky and annoying. Shooting at the ground being free is an unsolved problem, one with no good solutions that I've heard of.

Glaive overshoot essentially re-implements the retreat range bonus, with some differences:
  • It doesn't deal full damage, since it partially depends on spray and is shooting at the ground rather than the enemy.
  • The range is longer since some of the spray overshoots beyong even its static range.
  • It looks a lot jankier.
If we wanted the retreat range bonus, then we could just remove the physics hax that prevents it. I don't think having most units routinely shoot into the ground looks any good. I think I am going to end up hampering set target such that widgets can't make Glaive do this.

There is more of an argument to be made for Kodachi overshoot. This is what it does without the widget:


It's shooting range is increased slightly be the widget, but it is more in the realm of dealing tickly damage with its fire than hitting the chasing units directly.


The fire spawning aspect of Kodachi implies that it should be very good on retreat, so I think it makes sense for the Kodachi AI to use this more to its advantage. Remember that I'm on the weakest part of the post, the part about whether any behaviour like what the widget implements should exist. Speculation here does not change the latency argument above. Using the existing widget for Kodachi is unfair if it has anything like the latency problems of Glaive.
+15 / -0
Uhmm. Might I suggest rewording the title a little? While it's unfair, I see no problem using it against AI, especially in silly modes like ULU. Just don't forget to disable when playing against humans.

Edit: I'm assuming solo play vs AI here.
+0 / -0
yay i agree that fairness is good. imho the only advantage people should have is skill
+3 / -1
I think the best would be to implement it as a gadget.
quote:
I can also think of a different way to do it gadget-side with pros and cons.
It would remove the latency problem.

As USrankRandomX said
quote:
I've always wished that both the Overshooter and Scorcher widgets' behavior had been the default. It just makes sense to me that units (their AI) would know their own range and how to use their weapon most effectively.

The noise argument doesn't apply imo because the code only makes units shoot while they have targets in their effective range.

So does the recent ward fire change essentially implement it gadget-side for Kodachi and Badger or what does that do?
+0 / -0


2 years ago
I like that we have a small enough community with high enough trust that this is a viable approach. :)
+1 / -0
2 years ago
question inspired by this:
"the code only makes units shoot while they have targets in their effective range"

could a slightly further effective range (not actual range) for some units fix this problem without a widget?

+0 / -0


2 years ago
AUrankSmokeDragon: You'd want a targetting range greater than the actual weapon range to fix this, but I think that would basically revert Superfluid (unless I'm misunderstanding).
+1 / -0
2 years ago
no you understand.. but im not sure wat im even asking =P maybe its a bad suggestion too XD
+0 / -0

2 years ago
Unfairness argument seems essentially flawed - network latency and micro ability differences create similar effect anyway (micro anything fast against recluse or crabe for example); would one aim for removing micro from the game because of this? Obviously no, it is essential part of the game and yes, it gives advantages. As an additional note - drilling fiber trough mountains for Zero-k is a sign of progress ;).
+1 / -0


2 years ago
quote:
Unfairness argument seems essentially flawed - network latency and micro ability differences create similar effect anyway (micro anything fast against recluse or crabe for example); would one aim for removing micro from the game because of this? Obviously no, it is essential part of the game and yes, it gives advantages. As an additional note - drilling fiber trough mountains for Zero-k is a sign of progress ;).

Specifically, i would claim that network access and compute power on the local lattice already create tangible effects on player performance.

It is my understanding that for games that have actual eSports investments, the actual money games are at least sometimes played on machines and networks that are entirely controlled by the sports organizer agency, which means the players can't even bring their keyboards.

You may not like this, but this is what peak fairness ZK looks like.
+2 / -0

2 years ago
quote:
Shooting at the ground being free is an unsolved problem, one with no good solutions that I've heard of.


In the context of this widget in particular, would rate limiting ground-fire commands on the server help? In previous discussions people said you can't rate-limit all commands, but it might work for this special case.
+1 / -0


2 years ago
EErankNorthChileanG : Seems like the Nirvana fallacy to me.

Yes, it's true that low ping gives an advantage in zk micro, however that advantage is normally pretty small but that isn't the case with glaive interactions.

If this widget instead becomes a server-side gadget then it'll be ok.
+0 / -0


2 years ago
quote:
Unfairness argument seems essentially flawed - network latency and micro ability differences create similar effect anyway (micro anything fast against recluse or crabe for example); would one aim for removing micro from the game because of this? Obviously no, it is essential part of the game and yes, it gives advantages. As an additional note - drilling fiber trough mountains for Zero-k is a sign of progress ;).

I dispute that the effect created is similar, and regardless, existing unfairnes around micro from latency does not justify adding more. The essential difference is that, when no player input is being fed into the system, the DPS of a unit can vary significantly based purely on the latency of the player. This is not like manual input latency.

Besides, ZK is designed to be pretty fair and playable at the usual range of pings.
quote:
would one aim for removing micro from the game because of this?

I know this was a rhetorical question, but the answer is probably yes. Just instead of removal, the types of micro that disproportionately benefit from low latency were mostly left out of the game in the first place. Consider Kodachi, at one point the end point of Kodachi micro seemed to have a power spike that partially depends on low latency. This was factored into its redesign. Overall, it's probably a good thing for me to be on the high end of the ping spectrum.

So I'd say we have done a pretty good job of demphasising the effect of latency for manual inputs, to the point that 1v1s with anyone in the world are reasonably fair up to the current top level of play. I don't see any reason to squander this position with a form of unfairness from latency that occurs even without any player inputs.
+1 / -0
Might also read (and apply the concept to the current argument):

quote:
I'm really not buying this argument for including a whole bunch of unpolished widgets that harm the UI for general players. The core of the argument seems to be that, since there is some obscure, broken, or unpolished stuff in the existing codebase, there is no harm in adding a whole heap more.
+1 / -0
2 years ago
quote:
imho the only advantage people should have is skill
What is skill? Configuring your GUI? Configuring your hotkeys? Configuring your widgets? Manually clicking fire commands at the range edge faster than your enemy?

Which skill is fun to promote? I guess most people enjoy neither configuring nor stupidly clicking. But either you do the one once or the other a thousand times.

I can actually not retrace this whole latency business. My code doesn't include any leeway. It is solely based on mathematical calculations under the assumption of no delay at all and it works fine for me and others. Are you sure that you didn't insert an artificial delay to make that point? Otherwise your ping must be worse than mine by much more than just a factor 2.
+2 / -1


2 years ago
quote:
What is skill? Configuring your GUI? Configuring your hotkeys? Configuring your widgets?

Configuring your neurons into arrangements useful for solving ZK
+4 / -0
2 years ago
I understand that units shooting out of range is a "cheat" part, but the always shooting Badger (inside range) is fine ? Can it be add to default game ? If not, it is fine to use a "striped down" widget just for the Badger part?
+0 / -0
2 years ago
I don't think so. And you don't need it for Badgers to shoot within normal range anyway.
+0 / -0
Just letting Badgers shoot is certainly not a latency issue.
+1 / -0
2 years ago
?What is skill?
skill is whats left when you remove advantage..

eg.
[Spoiler]
+0 / -0
Page of 2 (25 records)