Proposal to improve Minetest’s horrible controls

Dartmouth
Member
Posts: 121
Joined: Sat Dec 06, 2014 14:39

Re: Proposal to improve Minetest’s horrible controls

by Dartmouth » Post

Yes, but there are issues with them as they are right now, for example the use key is used for a lot of different things, instead of moving some uses out to other keys, and (one thing that annoys me sometimes) the drop button is right next to the move buttons...

PoignardAzur
Member
Posts: 30
Joined: Fri Jun 19, 2015 17:23

Re: Proposal to improve Minetest’s horrible controls

by PoignardAzur » Post

My take on the problem :

In minecraft-type games, there are two classes of buttons : those triggering an 'aimed action' (punching, placing blocks, anything that requires aiming), and those triggering a 'free action' (jumping, sneaking, etc). Intuitively, all the aimed buttons should be on the mouse, and the free buttons on the keyboard. Since the debates seem to mostly revolve around the aimed actions, I'm going to cover them and ignore the rest.

Right now, there are five aimed actions :
- Punching
- Mining
- Using an item
- Dropping an item
- Using a node
But there are only three buttons on baselines mouses. And it gets complicated when you want to add a secondary use to your item.

Minecraft has one more action (copy block), and solves this problem by putting 'drop item' on the keyboard, and merge using items and using nodes on the same button, which works... well-ish.

Now, the controls of minetest are all over the place. Left click is both 'punch'/mine', 'secondary item use' (for food and for the screwdriver), and 'pick up item'. Right click is both 'use item' and 'use node', and the 'Use button'... is used for sprinting and climbing down, I think ? Yeah.

My proposal would something along those lines :

- First off, every button should have a clear semantic, and any action attributed to it should fit directly into this semantic. So, for example, left click is for acting outward, or destroying things (not picking up items). Right click is for using what's in your hand (not opening chests). And use key should be for using nodes or entities you're aiming at (trading with NPCs, using nodes, etc). That is an example, mind you, the important part is not the exact configuration, but the presence of strong semantics.

- Second, every input should have only one possible interpretation in any given situation. There shouldn't be a situation such as 'pressing this key makes you eat your sandwich, unless you're standing in front of a door'. So you can have several functions on one key (for example, using a chest and picking up an item, since you can't aim at both at a time), but only if they don't collide.

With that in mind, here's a loadout example :

- Left click is attributed to punching, and mining (since there's no way to do both at once), and only those.
- Right click is attributed to the primary use of your item (eating food, placing a block, shooting an arrow)
- Wheel click is attributed to interacting with nodes, or entities, whatever you're aiming at. You use it to pick up items, open chests, pet dogs, or pull levers.
- A keyboard key (let's say, 'R') is attributed to secondary use of your item. You rarely need it, but with it you can place food as a block (apples !), swap axes with the screwdriver, etc.
- A keyboard key (let's say, 'T') is attributed to dropping items.
- And finally, a keyboard key (let's say, 'Q') is attributed to switching to secondary function. It's the equivalent of minecraft's 'sneak to place a torch on a furnace'. So 'Q' + 'Punch' is 'Drop' (similar semantics, left click is an outward action), 'Q' + 'Use item' is 'Use secondary item function'. You can also attribute the function to a mouse side-button, and thus be able to perform all aimed actions without touching the keyboard.

Dragonop
Member
Posts: 1233
Joined: Tue Oct 23, 2012 12:59
GitHub: Dragonop
IRC: Dragonop
In-game: Dragonop
Location: Argentina

Re: Proposal to improve Minetest’s horrible controls

by Dragonop » Post

PoignardAzur wrote: - Left click is attributed to punching, and mining (since there's no way to do both at once), and only those.
- Right click is attributed to the primary use of your item (eating food, placing a block, shooting an arrow)
- Wheel click is attributed to interacting with nodes, or entities, whatever you're aiming at. You use it to pick up items, open chests, pet dogs, or pull levers.
- A keyboard key (let's say, 'R') is attributed to secondary use of your item. You rarely need it, but with it you can place food as a block (apples !), swap axes with the screwdriver, etc.
- A keyboard key (let's say, 'T') is attributed to dropping items.
- And finally, a keyboard key (let's say, 'Q') is attributed to switching to secondary function. It's the equivalent of minecraft's 'sneak to place a torch on a furnace'. So 'Q' + 'Punch' is 'Drop' (similar semantics, left click is an outward action), 'Q' + 'Use item' is 'Use secondary item function'. You can also attribute the function to a mouse side-button, and thus be able to perform all aimed actions without touching the keyboard.
-Your wheel layout sounds promising, but what about touchscreens and people without a wheel?
-Why should you use a key to do the "Sneak to place torch in furnace" while you actually can use the Sneak button for this?

PoignardAzur
Member
Posts: 30
Joined: Fri Jun 19, 2015 17:23

Re: Proposal to improve Minetest’s horrible controls

by PoignardAzur » Post

Dragonop wrote:-Your wheel layout sounds promising, but what about touchscreens and people without a wheel?
People without a wheel can change the settings. They are rare enough that default settings shouldn't take them into account. On the other hand, people without side buttons on their mouse are much more common. I have no idea what the touchscreens controls should be like.
Dragonop wrote:-Why should you use a key to do the "Sneak to place torch in furnace" while you actually can use the Sneak button for this?
In minenetest_game, doesn't make a difference. But it's bad programming : the Sneak button's semantic is "you crouch down and become quiet", not "you use your hands differently". So if you want to make a mod where, for example, punching people while sneaking deals more damage, or eating an apple while sneaking makes the eating more quiet, you can't, even though the impossibility is totally arbitrary.

Those considerations aside, you can always assign sneaking to one button, "switch to secondary use" to another button, and if people want to use both at the same time, they assign both commands to the same button. I'm not sure this is actually possible in minetest right now, but... well, if it's not, it really should be.

Dragonop
Member
Posts: 1233
Joined: Tue Oct 23, 2012 12:59
GitHub: Dragonop
IRC: Dragonop
In-game: Dragonop
Location: Argentina

Re: Proposal to improve Minetest’s horrible controls

by Dragonop » Post

Interesting point of view PoignardAzur, I always have thought of the sneak key as a "do things careefully" That's why you used your hands diferently :P

User avatar
benrob0329
Member
Posts: 1341
Joined: Thu Aug 06, 2015 22:39
GitHub: Benrob0329
IRC: benrob0329
In-game: benrob03
Location: Michigan
Contact:

Re: Proposal to improve Minetest’s horrible controls

by benrob0329 » Post

I personaly like MT's controls, especially now that we have the shift+click item-into-chest/furnace/ect control.

Dragonop
Member
Posts: 1233
Joined: Tue Oct 23, 2012 12:59
GitHub: Dragonop
IRC: Dragonop
In-game: Dragonop
Location: Argentina

Re: Proposal to improve Minetest’s horrible controls

by Dragonop » Post

benrob0329 wrote:I personaly like MT's controls, especially now that we have the shift+click item-into-chest/furnace/ect control.
+1

User avatar
Samson1
Member
Posts: 95
Joined: Wed Apr 01, 2015 19:41
GitHub: MoJo4000
IRC: Samson1
In-game: Samson1

Re: Proposal to improve Minetest’s horrible controls

by Samson1 » Post

rubenwardy wrote:Most of these I agree with, but not the punching / right clicking.
I am with you on that one:D

User avatar
Ferk
Member
Posts: 337
Joined: Tue Aug 18, 2015 17:18
GitHub: Ferk

Re: Proposal to improve Minetest’s horrible controls

by Ferk » Post

PoignardAzur wrote:- Left click is attributed to punching, and mining (since there's no way to do both at once), and only those.
- Right click is attributed to the primary use of your item (eating food, placing a block, shooting an arrow)
- Wheel click is attributed to interacting with nodes, or entities, whatever you're aiming at. You use it to pick up items, open chests, pet dogs, or pull levers.
- A keyboard key (let's say, 'R') is attributed to secondary use of your item. You rarely need it, but with it you can place food as a block (apples !), swap axes with the screwdriver, etc.
- A keyboard key (let's say, 'T') is attributed to dropping items.
- And finally, a keyboard key (let's say, 'Q') is attributed to switching to secondary function. It's the equivalent of minecraft's 'sneak to place a torch on a furnace'. So 'Q' + 'Punch' is 'Drop' (similar semantics, left click is an outward action), 'Q' + 'Use item' is 'Use secondary item function'. You can also attribute the function to a mouse side-button, and thus be able to perform all aimed actions without touching the keyboard.
That's a very smart and clean design.

However, considering how comfortable it's to right click (vs middle click) and how rare it's the situation of wanting to use an item while you are pointing to a block (for placing blocks you can even circumvent it most of the time), I think it's too convenient to have right-click being context sensitive.

This also means you can more comfortably play in a touchscreen (double tapping is the equivalent of right click in the android port). You can easily double tap to place a block or to use the environment depending on where are you looking at, instead of adding yet another onscreen button. It might also make it easier to play on a gamepad that doesn't have that many buttons.

But I agree on 2 points:
  • The eating control is broken. No matter how you put it, it's inconsistent to have the eating function be assigned to left click. It's frustrating to find situations where you might be crazily smashing the attack button without realizing your stack of bread is going down (it doesn't even have a different animation/delay so it's also very unfriendly for newcomers).
  • The screwdriver mechanic to switch axis is totally esoteric.
For this I do think minetest does need a "secondary use" button for the items we hold. Maybe it makes sense to rework the "use" button and make it actually useful...
{ ☠ Dungeontest ☠ , ᗧ••myarcade•• }

Jordach
Member
Posts: 4534
Joined: Mon Oct 03, 2011 17:58
GitHub: Jordach
IRC: Jordach
In-game: Jordach
Location: Blender Scene

Re: Proposal to improve Minetest’s horrible controls

by Jordach » Post

Right now, I've just made a pull to make filling and emptying of buckets use entirely right mouse, or whatever counts of the build key for you.

Anways - this changes it so filling the bucket no longer needs left mouse, and makes the controls far more consistent.

(It also makes blocks and entities that use on_punch work correctly!)

https://github.com/minetest/minetest_game/pull/673

User avatar
Wuzzy
Member
Posts: 4786
Joined: Mon Sep 24, 2012 15:01
GitHub: Wuzzy2
IRC: Wuzzy
In-game: Wuzzy
Contact:

Re: Proposal to improve Minetest’s horrible controls

by Wuzzy » Post

Thanks, Jordach. I am glad to see that some work is done here.
But I was actually more focusing on the controls of Minetest, the engine.
I don't care too much about Minetest Game.

User avatar
benrob0329
Member
Posts: 1341
Joined: Thu Aug 06, 2015 22:39
GitHub: Benrob0329
IRC: benrob0329
In-game: benrob03
Location: Michigan
Contact:

Re: Proposal to improve Minetest’s horrible controls

by benrob0329 » Post

I had an idea as I was playing Portal 2 last night:

Left/Right mouse buttons:Left/Right hands (mine/use tool when holding a tool or nothing, build when holding a node)

E: Use/Interect with object

Q: Drop

WASD: Move, double tap to sprint

Space: Jump

Shift: Sneak

I: Inventory

etc.

Dragonop
Member
Posts: 1233
Joined: Tue Oct 23, 2012 12:59
GitHub: Dragonop
IRC: Dragonop
In-game: Dragonop
Location: Argentina

Re: Proposal to improve Minetest’s horrible controls

by Dragonop » Post

benrob0329 wrote: E: Use/Interect with object
I use E for the inventory.
WASD: Move, double tap to sprint
I hold F with fast enabled to use fast movement
I: Inventory
Too far away from the other buttons, if you play with a touchpad, maybe, but it's not a fast way if you are playing with mouse and keayboard.

User avatar
benrob0329
Member
Posts: 1341
Joined: Thu Aug 06, 2015 22:39
GitHub: Benrob0329
IRC: benrob0329
In-game: benrob03
Location: Michigan
Contact:

Re: Proposal to improve Minetest’s horrible controls

by benrob0329 » Post

E has been the interact button in a lot of games, so how about having q be inventory and z be drop? Or maybe the middle mouse button?

F being Sprint isn't a bad idea...

Dragonop
Member
Posts: 1233
Joined: Tue Oct 23, 2012 12:59
GitHub: Dragonop
IRC: Dragonop
In-game: Dragonop
Location: Argentina

Re: Proposal to improve Minetest’s horrible controls

by Dragonop » Post

That is a good choice, Q is near all the other keys, and it's a fast way to access inventory, about z being the drop button, looks good enough, maybe some players might drop things by accident with that, but I don't think it's a real problem.

User avatar
Glorfindel
Member
Posts: 137
Joined: Tue Jul 07, 2015 20:05
GitHub: the1glorfindel
IRC: Glorfindel DoomWeaver
In-game: Glorfindel

Re: Proposal to improve Minetest’s horrible controls

by Glorfindel » Post

Dragonop wrote:That is a good choice, Q is near all the other keys, and it's a fast way to access inventory, about z being the drop button, looks good enough, maybe some players might drop things by accident with that, but I don't think it's a real problem.
I've dropped so many items by having my fingers improperly placed and using Q as forward lol Z would work much better on my keyboard, only problem I can think of is if someone is trying to sneak instead...

User avatar
benrob0329
Member
Posts: 1341
Joined: Thu Aug 06, 2015 22:39
GitHub: Benrob0329
IRC: benrob0329
In-game: benrob03
Location: Michigan
Contact:

Re: Proposal to improve Minetest’s horrible controls

by benrob0329 » Post

Backspace is another option.

Dragonop
Member
Posts: 1233
Joined: Tue Oct 23, 2012 12:59
GitHub: Dragonop
IRC: Dragonop
In-game: Dragonop
Location: Argentina

Re: Proposal to improve Minetest’s horrible controls

by Dragonop » Post

What about Alt?

User avatar
kaadmy
Member
Posts: 706
Joined: Thu Aug 27, 2015 23:07
GitHub: kaadmy
IRC: KaadmY
In-game: KaadmY kaadmy NeD

Re: Proposal to improve Minetest’s horrible controls

by kaadmy » Post

Why not just have controls completely bindable, so punch could be bound to keys(instead of hardcoded or mouse buttons only, and movement could be bound to mouse buttons?
Never paint white stripes on roads near Zebra crossings.

Pixture

User avatar
Kpenguin
Member
Posts: 217
Joined: Fri Jul 24, 2015 16:19
IRC: Kpenguin
In-game: Kpenguin
Location: The Birthplace of Aviation

Re: Proposal to improve Minetest’s horrible controls

by Kpenguin » Post

kaadmy wrote:Why not just have controls completely bindable, so punch could be bound to keys(instead of hardcoded or mouse buttons only, and movement could be bound to mouse buttons?
+1
All things are possible except skiing through a revolving door.

User avatar
Wuzzy
Member
Posts: 4786
Joined: Mon Sep 24, 2012 15:01
GitHub: Wuzzy2
IRC: Wuzzy
In-game: Wuzzy
Contact:

Re: Proposal to improve Minetest’s horrible controls

by Wuzzy » Post

Kpenguin wrote:
kaadmy wrote:Why not just have controls completely bindable, so punch could be bound to keys(instead of hardcoded or mouse buttons only, and movement could be bound to mouse buttons?
+1
Lol, that was my suggestion all along...

This discussion has pretty much derailed, all the talking about default keys is pretty much bikeshedding IMO.

I don't care much about the default bindings as long as they are consequently bindable and not absurdly overused (like the sneak key now).

User avatar
benrob0329
Member
Posts: 1341
Joined: Thu Aug 06, 2015 22:39
GitHub: Benrob0329
IRC: benrob0329
In-game: benrob03
Location: Michigan
Contact:

Re: Proposal to improve Minetest’s horrible controls

by benrob0329 » Post

Wuzzy wrote:
Kpenguin wrote:
kaadmy wrote:Why not just have controls completely bindable, so punch could be bound to keys(instead of hardcoded or mouse buttons only, and movement could be bound to mouse buttons?
+1
Lol, that was my suggestion all along...

This discussion has pretty much derailed, all the talking about default keys is pretty much bikeshedding IMO.

I don't care much about the default bindings as long as they are consequently bindable and not absurdly overused (like the sneak key now).
Thus my suggestion to use the "use" key instead of right-click, it makes more sense and means that you don't have to hold shift to build on things that you can interact with.

User avatar
Ferk
Member
Posts: 337
Joined: Tue Aug 18, 2015 17:18
GitHub: Ferk

Re: Proposal to improve Minetest’s horrible controls

by Ferk » Post

@benrob0329
The "use" key is a good idea, but it still doesn't solve the problem with apples and food. How do you make an item edible and at the same time placeable without using the punch button to eat?
Would we need yet another key? Wouldn't that be too much?

To me, the apple problem is more annoying than the right click issue.
{ ☠ Dungeontest ☠ , ᗧ••myarcade•• }

User avatar
benrob0329
Member
Posts: 1341
Joined: Thu Aug 06, 2015 22:39
GitHub: Benrob0329
IRC: benrob0329
In-game: benrob03
Location: Michigan
Contact:

Re: Proposal to improve Minetest’s horrible controls

by benrob0329 » Post

Well, you could use the "use" key to eat, or better yet hold it down any a little animation plays (like in MC)

I want to be able to have engine handled throwable items, so moving the eat function off of the left mouse button is a good idea.

sofar
Developer
Posts: 2146
Joined: Fri Jan 16, 2015 07:31
GitHub: sofar
IRC: sofar
In-game: sofar

Re: Proposal to improve Minetest’s horrible controls

by sofar » Post

benrob0329 wrote:E: Use/Interect with object
Q: Drop
WASD: Move, double tap to sprint
Space: Jump
Shift: Sneak
I: Inventory
"I" is way too far to the right. Just set inventory to TAB. (ESC already closes it, nicely close together)

"e" for use and "q" for drop are excellent choices. This works nicely with right-click build.

right-click eat. There's nothing in the game right now that is edible that also doubles as a buildable node. Item frames can just be formspecs, really.

left click for hitting things or digging.

Please do not make nodes that require punching them to switch states (I'm looking at you, mesecons!)

Post Reply

Who is online

Users browsing this forum: No registered users and 4 guests