I was going to report a bug, but after testing I found that it was because of a limitation in the device.
So, there is no bug to fix, I report in case other have the same issue and this would explain their problem.
When running and pressing the attack button, the character doesn't stop to attack, it just runs to the right. In my case it was because the touch of the second finger was interpreted as the same finger that before that swiped across the screen very fast.
(Samsung Galaxy Grand Prime)
(Samsung Galaxy Tab 2 10.1)
Both with the last version of the game as today:
Exiled Kingdoms 1.2.1121
Scenario: Running with touch pressed, swipe short and fast while releasing and press a button.
Expected behaviour: Stop running and game activates button action.
Behaviour: Character runs in direction to the touch and button action doesn't activate.
How to replicate:
1) Touch the movement control with finger X and keep pressing so the character keeps moving.
2) Swipe with X from left to right for a short distance but in a very fast and accelerated way and release (like in a throwing motion).
3) In the exact moment (or quickly after) you release finger X, press the attack button with finger Y, keep pressing.
The character will keep running.
4) Slide finger Y to other part of the screen so you can see that finger Y is controlling the movement.
I add a screenshot after following the steps with developer options to display touches and point locations enabled (thanks to an advice of Alan_SP in a thread).
Red dots are detected touches and blue line is a gesture, it joins the touches interpreted as the same finger without releasing.
Then, the issue is that android gets the same input in the following 2 cases:
- Swiping very fast across the screen.
- Swipping accelerating in a direction, release and press in a point far but in the same direction.
Additionally, this can happen without intentionally releasing finger X from the screen, but with android losing track of that finger touch, at least for a brief moment.
This could happen if:
i) The user, without noticing, actually lost direct contact. For example, when going right and in the middle of suddenly changing direction to the left, he moved his finger, slightly raising it or touching it with the nail briefly.
ii) If character is running to the left and finger is just outside the touch screen range, then the finger can keep being detected as pressing and, in some devices, as moving horizontally very fast between two points, like vibrating. Then, if one presses the attack button, it detects a touch there and the left finger stops being detected and, if the timing is right, it happens exactly when the fake gesture was from left to right, recreating the same situation that was described before.
It took a lot of time to replicate this case, but it was possible (in device A (bad state), where I could observe that "vibrating" motion and how the sensor stopped recognizing the left touch just when I pressed other part of the screen)
I found this reported previously, without finding exactly the cause, but in the second one it was suggested:viewtopic.php?f=5&t=485&p=33390&hilit=attack+button#p33390viewtopic.php?f=5&t=15166&p=45217&hilit=attack+button#p45217
I don't know how exactly the device decides what is a gesture nor how the game uses the info it can access, so the next lines are just speculations:
A) This is not a common issue because it requires a very specific input and could be associated with some involuntary player habits and characteristics of how they hold and interact with the phone.
This would explain of reports that it happens when entering combat, since it requires a sudden release of the left touch and the attack button is located directly to the right of the movement pad.
B) When the system slows because of limited resources, it is easier to 2 unconnected touches be considered as just one doing a gesture.
Maybe it processes less touches per second, hence more time between 2 consecutive touches, then it is allowed to have more distance without losing the "same gesture" status, since it will give the same speed.
This could explain why it can be solved upgrading the device, maybe the ones that slow down his performance considerably when entering combat (like the first report, where the character runs some paces before stopping).
Even if there is no bug, I wonder if something could be done to help the experience in low-end devices, maybe an option to restrict the touch zone of the movement pad to the left side of the screen or something like that.
PS: Sorry for the long post, and in case it's too formal or with mistakes, English is not my native language, so any correction is welcome.