The automated version of this widget came up three years ago. Here is my main response, which I still agree with:
https://zero-k.info/Forum/Thread/34463?postID=246201#246201If you've found a way to predict projectiles with a widget, then you're doing something unintended and should make a ticket about the callouts you used. I'm not inherently against all forms of automated projectile dodging (see Attack Move for a clear example), but it has to be part of a gadget (for latency) and tailored to the level of dodging that seems like it will make the game fun. This might include reacting to incoming projectiles, but
the PR adding this wasn't completed, and I'm not keen enough on it to do it myself.
We don't know a lot about the rules of full projectile dodging, just that it doesn't sound fun. ZK development is a dance of fun and design rules. We do things that seem fun, then derive some general rules from these actions, then use these rules to guide the search for things that seem fun in the future. The rules impose constraints that keep ZK feeling like ZK, but they also free us up to try a lot of things that aren't explicitly against the rules. If something new comes along that breaks or find an edge case with the rules, then the rules should be updated.
Projectile dodging is tricky. On one hand, automatic dodging seems like a consequence of
Fight your opponent, not the UI, but on the other hand, full dodging would seem to remove a lot of the existing ZK gameplay. Figuring out all the theory in advance sounds a bit abstract, so I'm going to wait until we have something that can be tested for a while in live games. The Impaler PR was meant to be that test case.
My feeling is that the rule change is going to end up looking like a clarification of this kind of statement:
quote: If the widget only "enhances visibility" of information you as a player already have, then it should be fine. |
The key question is this: what exactly is the information about projectiles that players already have? A consistent set of design rules might end up saying that players don't actually have access to the precise position and velocity of the projectiles they can see. This obvious statement about human limits is a useful limit on the pre-existing idea that widgets should be able to see everything that players can. It seems to diffuse the inevitability of the following two features:
-
AI that pinpoints artillery by extrapolating the simple ballistic trajectory. Eg, a widget that lets Impalers perfectly snipe otherwise unseen Tremors.
-
AI that reads all projectile positions and moves units so they that don't take damage.
We don't even have to accept widgets that merely display this information to players, since it isn't the kind of information that players already have.
So my idea for acceptable dodge AI is something that hampers its own perfect access to projectiles. It can be thought of as simulating a sort of uncertainty built into the senses of the units in the game. We might even want to simulate reaction times and computational limits. This leaves the feature in a bit of an awkward spot, since the people keen to write dodge AI are motivated by the challenge of making it as good as possible. The less enticing part is making it not break the rest of the game. I'm not keen enough to put in that work myself, and convincing dodge AI proponents that such work is necessary is a whole task in itself. So the idea is in limbo, which I'm fine with.