I know that if I want to cast a spell at the 3rd troop from the top, I need to press down twice (Xbox One) after casting the spell. However, I end up targeting the wrong enemy because one (or more) of the troops above it had the Stealthy trait.
I play with 4x Animation Speed and I like to be efficient. Stopping to see if an enemy troop has Stealthy goes against this efficiency.
Could we keep the targeting the same regardless of Stealthy? Let stealthy troops be targetable (we can highlight them), but not selectable (we cannot attack them with spells). Have the troop simply be darkened, as what currently happens with Stealthy troops.
Happened to me too once or twice, until I learned and remembered to take 1 extra second against them opponents.
Actually your suggestion seemed good to me but I didn’t know there was a bigger reason for why it is the way it is now
I support this suggestion from the viewpoint that it is the devs’ job to handle ugly details so the player has intuitive and consistent behavior.
Step 1 of the “confirm target” code should be “double-check the target troop is targetable”. That way, it doesn’t matter how quick you are, if you spam A on a troop that can’t be targeted things are under control.
Instead, it sounds like the “confirm target” process relies on some global “is target valid” variable that gets updated separately from selecting a target. No clear way to update that variable in the “proper” order existed, so the “select target” process was changed to check if a target is valid as it moves the cursor. That way, no invalid target can ever be selected so the global “is valid target” variable can be slow to update or not exist.
That’s silly. If a “check if this target is valid” process exists for the “select target” routine, then it could also be used for the “start ability” process. If that is not true, and “start ability” has absoutely no way to perform this obvious validation, then this is another case where I seriously question how anything ever gets completed in the codebase.
You sound surprised, I thought you’d been around long enough to remember when you could target stealth troops if you were quick.
Multiple threads and race conditions, and the hacks they use to fix them.
You used to sonetimes be able to steal turn back when AI went on crazy turn spree by spamming your spells. Fixed by annoying hack of not letting you select and look at troops during AI turn.
I don’t play on console, so no it was never really a thing. Maybe the input system is a little different between console and mobile, it’s harder to sneak a tap in with precise timing. The closest to this I remember is that old problem where the “leave” and “repeat” buttons in Explore existed in such a way that one replaced the other, but if you were spamming taps you could hit “leave” in the brief moment it existed.
Regardless, that this is a persistent problem is exactly why it’s frustrating to me. I can empathize with having muscle memory interrupted even though I don’t play on console, and I think “this was easier for the devs” isn’t a good reason for it to stay this way forever. Doing it to quickly fix an exploit is acceptable. Leaving it is not.
There is an alternative, maybe even the best alternative. Allow a player to target a stealth troop, but the spell then fizzles, just as if a devour effect targeted an invulnerable troop. Then players would need to pay attention.