Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Android: improved pointing system (and action controls.) #7645

Closed
ghost opened this issue Aug 15, 2018 · 12 comments · Fixed by #7865
Closed

Android: improved pointing system (and action controls.) #7645

ghost opened this issue Aug 15, 2018 · 12 comments · Fixed by #7865
Labels
Android @ Client / Controls / Input Concept approved Approved by a core dev: PRs welcomed! Request / Suggestion The issue makes a suggestion for something that should be done but isn't a new feature

Comments

@ghost
Copy link

ghost commented Aug 15, 2018

Issue type
  • Feature request
Minetest version
minetest 0.4.16 (Android app)
OS / Hardware

Operating system: Android
CPU: arm

Summary

There are two main in-game problems with the Android version of Minetest:

  1. Since there is no crosshair at the center for pointing and the pointed object is that under the finger, when punching/mining the target object is often missed because hidden by the finger. Besides, seeing when the object has been mined is almost impossible. (EDIT: Fixed by PR Add crosshair support for Android #7865.)
  2. It's impossible to rotate the view and punch/mine at the same time, because one finger cannot slide and tap simultaneously. This is a problem, for example, when fighting mobs.

These are the respective proposed solutions:

  1. Adding an option to revert to the desktop pointing system (featuring crosshair at center and pointed object under the crosshair) and to make tapping (tap&hold or double-tap) any point of the screen (except for button overlays) apply the corresponding action (punching/mining or building) to the center. In this mode, when sliding the finger while mining, the view should rotate accordingly.
  2. Adding an option (or some options) to disable the volume control for the volume buttons and to assign to each of those buttons a punching/mining or building function.
@SmallJoker SmallJoker added Android Request / Suggestion The issue makes a suggestion for something that should be done but isn't a new feature labels Aug 15, 2018
@stujones11
Copy link
Contributor

  1. Could be a useful option and may also provide a fix for It's possible to interact, break, placing and attack around obstructions in 3rd person view #6181 if this mode were to be imposed in 3rd person view.

  2. Not keen on that one, sorry 👎

@raymoo
Copy link
Contributor

raymoo commented Aug 20, 2018

I think there should be touch buttons for use / place inputs, then you could put another finger on those

@ghost
Copy link
Author

ghost commented Aug 21, 2018

Good idea. It would be particularly convenient placing the button/buttons on the left near the move buttons, because it seems that in the Android version the player cannot move and punch simultaneously anyway.

@raymoo
Copy link
Contributor

raymoo commented Aug 24, 2018

Might be obvious to people who actually use the Android version, but I forgot to consider in my comment that replacing the current use / place scheme with buttons would require Android users to point their view at the thing they want to change, which they don't need to do currently. Maybe buttons should just be added in addition to the current controls.

@waterel Or they could be put farther from the move buttons and let the player move, look, and punch using three fingers at the same time

@ghost
Copy link
Author

ghost commented Sep 8, 2018

UPDATE:
Skimming through the source code, I discovered an already existent option which nearly implements the solution 1 of my first message: setting the option "touchtarget" to "false" makes the crosshair reappear and the object under it to be pointed. Only, the view still cannot be rotated while digging. I would call this a bug. A possible solution might be changing the code that manages the view rotation so that the view rotation reacts to the finger sliding even while digging when this option is "false".

@ClobberXD
Copy link
Contributor

ClobberXD commented Sep 10, 2018

IMHO, the hold/double-tap implementation is one of the largest drawbacks of the Android version that prevents it from being on par with the PC version.

It would be great to have dedicated buttons for punch and place, which would allow players to move and/or turn while digging or placing.

@paramat paramat changed the title Android: improved pointing system and action controls. Android: improved pointing system (and action controls.) Sep 22, 2018
@paramat
Copy link
Contributor

paramat commented Oct 8, 2018

Some good ideas in this thread.
Using the volume controls might be fiddly and some devices may place these in hard to use positions, seems better that all controls are on-screen. So i disagree with suggestion 2.
Extra buttons for L/R mouse button seem possibly a good idea, and seem the best solution for completing suggestion 1 and allowing digging while rotating the view.

@ghost
Copy link
Author

ghost commented Oct 9, 2018

I add a few explanations in case anything were unclear, just to be safe.

"Rotating view while digging" means to start digging (tap&hold) and, without lifting the finger, sliding it to rotate the view. Trying to do this (with "touchtarget" option set to "false") doesn't work, because the view keeps still, in accordance with the behaviour required when "touchtarget" is "true". I feel that fixing it so that the view rotates if "touchtarget" is "false" should be a trifle.
This is the solution 1.

"Start digging while rotating view" means to slide the finger to rotate the view and, during the movement, to start digging somehow. This can be accomplished by adding L/R mouse buttons on the screen and assigning to them the signals "dig" and "build". It will likely be preferred to have an option controlling whether to show the buttons or not.
This is the solution 2 (revised).

@ghost
Copy link
Author

ghost commented Jan 5, 2019

UPDATE:
The first point of this issue has been fixed by pull request #7865.

@Wilker-uwu
Copy link

Wilker-uwu commented Aug 1, 2019

the easiest control scheme for movement that i can think of right now is the one i see in Minecraft by default, and i think it would fit here too:

  • tap to interact;
  • hold to dig;
  • passing the threshold after starting
    to dig will make you look around while digging;
  • if the entity in question is a mob or item, attack or pick up accordingly;
  • if nothing is pointed at while you hold, use the item at hand;
  • if what is pointed at is a node/block while you tap, then punch, or place a block if that is what you're holding;

with that said, i think the control of double-tapping for interaction that the game already have is great, and it should be good if the controls mentioned above could have the double tap for the cases where the player is pointing to a static block or object, or even an actual dynamic one like a door or a chest, because it should avoid the conflict of having to point to the air to do something like eating an apple for example (i still need to organize my thoughts on this part. that said, double-click good.).

in the topic of remapping physical buttons, i think that an opt-in kind of setting should be better for this (also be aware of having to enable accessibility settings on Android and others in order to do that).

if something like this should be implemented, the user should be able to choose the buttons they wish to use. i would suggest for any button except for the Home button, and make it so the Home button pauses the game at the first press, and while the game is paused, all the buttons goes back to their normal functions.

with the use of physical buttons, a pair of joystick controls on the screen should be a reasonable choice, and a good addition to the crosshair too (beware of sensitivity, positions and inverted controls too — as in axis inversion, lefty controls and etc.).

speaking of the screen, the interface itself could have some improvements too. starting with the ingame ones, there are certain controls that can be made a one tap item.

  • the inventory button should be available at all times, for instance, while the pause button should be an option.
  • dragging, or, tap&tap+holding an item out of the hotbar to the center of the screen should drop or throw an item. the amount should be decided by a button at somewhere besides the hotbar (left or right, by choice), it can be one, half, or the whole stack. optionally with a button to drop, instead of dragging (beware of accessibility).
  • the settings icons should make it clearer about wether the options are enabled or not, as the texts that appears momentariary are not always reliable.
  • single or double tap on the minimap should cycle between modes, while dragging it in a circle pattern should set the zoom of the map — placing the starting point at the mathematical 0 degree angle should make the controls more obvious. a semi-circle that chages size while dragging should help giving a visual feedback.
  • options with three or more states may be easier to navigate with drag controls (dragging upwards or downwards to cycle between), in the addition to the current tap controls.
  • i have noticed that holding the jump button, and then dragging the touch to the sneak button (and vice versa) doesn't seem to work. fixing that might make these controls a lot more fluid.
  • double tap to sneak (or dragging the button upwards) should toggle the control.

..

  • at the inventory, the selected item should always be highlighted, in the addition to showing that it is out of the inventory.
  • the earlier mentioned button for selecting the amount should also be on the inventory, as well as the drop button.
  • straight-up implement a d-pad & select buttons for the inventory. visually, i would suggest either the one from Sony's DualShock [a cross crossed in the middle], a square in a 0 degree angle divided into 4 triangles, or a square in a 45 degrees angle divided into 4 smaller squares, maybe with a smaller square in the middle for selection. either in a zero degree for space to highlight the selected item, or in a 45 degrees to make the resulting arrow buttons a bit more obvious.

with all this said, this is just changes that can be made gameplay-wise. i might have forgotten a lot of details though, but i hope these suggestions are useful.

for the menus, i have a lot of other ideas to implementations and additions to all this Material Design stuff, but i can't actually program them (my pc is broken u_u)

in any case, i hope i helped somewhat. thank you for reading uwu

(edit: spelling, clarifications)

@Wilker-uwu
Copy link

in addition to these suggestions, i'd like to link to this comment from after someone showed me how touse the inventory to separate stacks and stuff.

any opinions on that?

@MoNTE48
Copy link
Contributor

MoNTE48 commented Aug 7, 2019

@Wilker-a I tried what you are talking about. It is not comfortable. It is much more convenient to put only 1 item per 1 click into puttuing into craft cells.

@paramat paramat added Concept approved Approved by a core dev: PRs welcomed! and removed Concept approved Approved by a core dev: PRs welcomed! labels Sep 2, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Android @ Client / Controls / Input Concept approved Approved by a core dev: PRs welcomed! Request / Suggestion The issue makes a suggestion for something that should be done but isn't a new feature
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants