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

Post edit history

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

To display differences between versions, select one or more edits in the list using checkboxes and click "diff selected"
Post edit history
Date Editor Before After
8/29/2021 6:47:23 AMAUrankAdminGoogleFrog before revert after revert
8/29/2021 6:47:03 AMAUrankAdminGoogleFrog before revert after revert
8/29/2021 6:41:28 AMAUrankAdminGoogleFrog before revert after revert
Before After
1 @Brackman released an overshooting widget in [url=http://zero-k.info/Forum/Post/243645#243645]this thread[/url]. He doesn't want that thread cluttered and the [url=http://zero-k.info/Forum/Thread/34089]widgets in MM[/url] thread is is messy enough as is, so here is a new thread. 1 @Brackman released an overshooting widget in [url=http://zero-k.info/Forum/Post/243645#243645]this thread[/url]. He doesn't want that thread cluttered and the [url=http://zero-k.info/Forum/Thread/34089]widgets in MM[/url] thread is is messy enough as is, so here is a new thread.
2 \n 2 \n
3 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. 3 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.
4 \n 4 \n
5 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 5 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
6 \n 6 \n
7 The server replay can be launched easily here: http://zero-k.info/Battles/Detail/1186151 7 The server replay can be launched easily here: http://zero-k.info/Battles/Detail/1186151
8 \n 8 \n
9 In local skirmish the retreating Glaive consistently fires at the edge of its range to kill the chasing Glaive. Here is a picture. 9 In local skirmish the retreating Glaive consistently fires at the edge of its range to kill the chasing Glaive. Here is a picture.
10 https://i.imgur.com/2ZxlJmA.png 10 https://i.imgur.com/2ZxlJmA.png
11 \n 11 \n
12 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. 12 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.
13 \n 13 \n
14 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. 14 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.
15 \n 15 \n
16 In short, the effectiveness of the widget increases dramatically as you go from 366ms to 33ms ping. Maybe it even works fine for @Brackman. 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. 16 In short, the effectiveness of the widget increases dramatically as you go from 366ms to 33ms ping. Maybe it even works fine for @Brackman. 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.
17 \n 17 \n
18 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. 18 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.
19 \n 19 \n
20 So, should the widget be fixed to take latency into account? In short, no. 20 So, should the widget be fixed to take latency into account? In short, no.
21 * 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. 21 * 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.
22 * 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. 22 * 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.
23 * Writing fancy latency prediction is a waste of time when the whole thing could be a gadget. 23 * Writing fancy latency prediction is a waste of time when the whole thing could be a gadget.
24 \n 24 \n
25 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. 25 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.
26 \n 26 \n
27 As @katastrophe says: 27 As @katastrophe says:
28 [q]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.[/q] 28 [q]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.[/q]
29 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. 29 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.
30 \n 30 \n
31 Glaive overshoot essentially re-implements the retreat range bonus, with some differences: 31 Glaive overshoot essentially re-implements the retreat range bonus, with some differences:
32 * It doesn't deal full damage, since it partially depends on spray and is shooting at the ground rather than the enemy. 32 * It doesn't deal full damage, since it partially depends on spray and is shooting at the ground rather than the enemy.
33 * The range is longer since some of the spray overshoots beyong even its static range. 33 * The range is longer since some of the spray overshoots beyong even its static range.
34 * It looks a lot jankier. 34 * It looks a lot jankier.
35 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. 35 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.
36 \n 36 \n
37 There is more of an argument to be made for Kodachi overshoot. This is what it does without the widget: 37 There is more of an argument to be made for Kodachi overshoot. This is what it does without the widget:
38 https://i.imgur.com/QmvQGjS.png 38 https://i.imgur.com/QmvQGjS.png
39 \n 39 \n
40 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. 40 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.
41 https://i.imgur.com/F2Na0zb.png 41 https://i.imgur.com/F2Na0zb.png
42 \n 42 \n
43 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. 43 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.