Difference between revisions of "Preferred Key Controls"

From RogueBasin
Jump to navigation Jump to search
m
Line 5: Line 5:
When it comes to movement keys, there are two main camps of preference: the [[ViKeys]] supporters and the [[NumPad]] supporters. Naturally, a third camp exists to exhort followers of the other two to coexist by offering both keysets and permitting users to select which to use as a matter of preference. Two other ways used might be: Allow both ways to work at the same time (as Rogue does), or allow keys to be configured using an external file (as ADOM does).
When it comes to movement keys, there are two main camps of preference: the [[ViKeys]] supporters and the [[NumPad]] supporters. Naturally, a third camp exists to exhort followers of the other two to coexist by offering both keysets and permitting users to select which to use as a matter of preference. Two other ways used might be: Allow both ways to work at the same time (as Rogue does), or allow keys to be configured using an external file (as ADOM does).


The arguments for [[ViKeys]] are:
The arguments for vi-keys are:
* Familiarity for users of vi(m) (a rather ubiquitous text editor)
* They are familiar for users of vi and vim.
* Removes requirement for a dedicated numeric keypad, which isn't always available on laptops
* They don't require numeric keypads, which are unavailable on some laptops and require a USB device.
* Tradition, as there's a reason these commands are known as 'rogue keys' in certain circles
* vi-keys are traditional; they are used in the original [[Rogue]] and many of the other major roguelikes.
 
Counting against vi-keys are:
Counting against vi-keys are:
* They don't map neatly to some keyboard layouts (e.g., Dvorak or even some non-us layouts, e.g. the german one) (though a separate commandset for users of alternate keyboards can address this issue)
* They pose a bit of a learning curve for those not used to them.
* They reduce the keys available for single-stroke game commands (which may or may not be an issue, depending on the complexity of the entire commandset)
* vi-keys are designed for the QWERTY layout, and can be counterintuitive for other keyboards (e.g. Dvorak.)
* They introduce the possibility of pressing 'y' or 'n' in accidental response to a prompt (though forcing an uppercase reply addresses this issue in most cases)
* They reduce the number of keys available for single-stroke game commands.
* To non-vi-users they are not immediately obvious
* They introduce the possibility of pressing "y" or "n" in accidental response to a prompt. This can be solved in most cases by requiring uppercase responses.


Arguments for [[NumPad]] are:
Arguments for [[NumPad]] are:
* They have a layout that matches the movement directions - they are obvious
* They are intuitive and easy to get used to.
* You don't lose any letter keys on the keyboard (unless using a laptop keyboard)
* You don't lose any letter keys on the keyboard, with the exception of some laptops, which have the numpad overlaid on the keyboard.
 
Arguments against:
Arguments against:
* They take away a lot more keys when on a laptop in NumPad mode
* Some laptops have no numpad at all, requiring an external USB device.
* Use of a numeric keypad in place of vi-keys takes focus from the standard keyboard, effectively forcing users to perform a context shift to and from the dedicated keypad
* They can take away many letter keys on certain laptops which have the numpad overlaid on the keyboard. To use the letter keys underneath, the user has to enable and disable NumLock constantly, which can be frustrating and tedious.
* It's not always obvious if NumLock has to be turned on or off in order to use the NumPad. Some games need it, some do not. Some games accept both.
* The user has to move his/her hand between the numpad and the normal keyboard, which can be time-consuming. This is a major disadvantage for real-time roguelikes.
* Some laptops don't have a NumPad


==Actions==
==Actions==

Revision as of 18:09, 22 August 2011

Following a discussion on RGRD, I am attempting to collate a list of preferred keyboard controls for RL games.

Movement

When it comes to movement keys, there are two main camps of preference: the ViKeys supporters and the NumPad supporters. Naturally, a third camp exists to exhort followers of the other two to coexist by offering both keysets and permitting users to select which to use as a matter of preference. Two other ways used might be: Allow both ways to work at the same time (as Rogue does), or allow keys to be configured using an external file (as ADOM does).

The arguments for vi-keys are:

  • They are familiar for users of vi and vim.
  • They don't require numeric keypads, which are unavailable on some laptops and require a USB device.
  • vi-keys are traditional; they are used in the original Rogue and many of the other major roguelikes.

Counting against vi-keys are:

  • They pose a bit of a learning curve for those not used to them.
  • vi-keys are designed for the QWERTY layout, and can be counterintuitive for other keyboards (e.g. Dvorak.)
  • They reduce the number of keys available for single-stroke game commands.
  • They introduce the possibility of pressing "y" or "n" in accidental response to a prompt. This can be solved in most cases by requiring uppercase responses.

Arguments for NumPad are:

  • They are intuitive and easy to get used to.
  • You don't lose any letter keys on the keyboard, with the exception of some laptops, which have the numpad overlaid on the keyboard.

Arguments against:

  • Some laptops have no numpad at all, requiring an external USB device.
  • They can take away many letter keys on certain laptops which have the numpad overlaid on the keyboard. To use the letter keys underneath, the user has to enable and disable NumLock constantly, which can be frustrating and tedious.
  • The user has to move his/her hand between the numpad and the normal keyboard, which can be time-consuming. This is a major disadvantage for real-time roguelikes.

Actions

A general RL theme in terms of keyboard controls is the use of mnemonic bindings, for example:

'q' - quaff (drink something)
'w' - wear/wield (make use of a weapon or piece of armour)
'e' - eat

Due to the freedom of action many RLs provide, one can easily run out of letters. For example 'd' might have been drink, but usually it is drop, and what about dance or drag, etc.?

There are several solutions that have been employed by various RLs.

  • Using key modifiers such as (most often) Shift or Alt, Ctrl, Meta, Super, Hyper, etc.
  • A method used in Nethack is extended command mode '#' which lets the user enter further keys to spell out the action required, for less used commands like #dip, #jump and #loot.
  • Action menus - used more in RLs on more limited platforms, such as mobile devices and handheld game consoles.

See this list of keys used in the major RLs compiled by Ray Dillinger.

Survey Results

So far:

c close (1)
d drop (2)
e equipment (1)
E eat (1)
f target (2) and f again to fire (1)
g get (1)
i inventory (2)
l look (3)
o open (2) and again to close (1)
q quaff (2)
r read (2)
R rest till interrupted or healed/magicked up (1)
u use (1)
U special use (1)
x exchange (1) , examine (2)
z zap (2)
numpad 0 reload (1)
12345 quick weapon switch or tactics (1)
numpad 5 pickup (1)
. rest (2)
, pickup (2)
? help (2)
/ look (1)
tab next target (1)
enter action (1)
<> up down stairs (2)
@ character screen (1)
ctrl x exit (1)