Author Topic: Project(?): creating a standard for keyboard controls in roguelikes  (Read 58043 times)

Skeletor

  • Rogueliker
  • ***
  • Posts: 580
  • Karma: +0/-0
  • villains ftw
    • View Profile
I love roguelikes and I like to play them, not only the major ones but also the smaller, uncompleted, abandoned ones. I think it's very satisfying to learn how to immers and adapt to new world logics and create tactics to compete with a new challenge every time I start to play a new roguelike.

The only problem that sometimes keeps me away to start to play a new game is control keys: every roguelike seems to have a different key set!
So everytime I know I have to print a page with all the keys and then learn again how to interact with a keyboard in a new world (but performing the same actions).
And if this is a little-medium problem for me (a roguelike lover), this is a bigger problem for people who know and like only one major roguelike; those persons may be fully unincentivied by this problem and consequently kept away from other games. Even from other major roguelikes, because if you take for example Doom Rl, Ivan, Adom and Angband you'll notice that they all have very different keyset. Two friends of mine love, love, love adom but never played other roguelikes, and I think it's just for this problem.

In my opinion, a very important thing for the whole roguelike community could be to create a general standard about control keys for the commands present in almost every roguelike (take stairs, get item, equip, inventory, attack ranged, pass turn, dip item, skills..).

A sort of "esperanto" between the major games keyset.
Not something to follow strictly (even because some roguelike has some actions that don't exist in others), just something to know and can be really, really useful for the gamers, the developers, and the roguelike community itself.
What I enjoy the most in roguelikes: Anti-Farming and Mac Givering my way out. Kind of what I also enjoy in life.

Etinarg

  • Rogueliker
  • ***
  • Posts: 424
  • Karma: +1/-1
  • Idea archivist and game tinkerer.
    • View Profile
    • Gedankenweber Blog (German)
Re: Project(?): creating a standard for keyboard controls in roguelikes
« Reply #1 on: October 29, 2009, 02:01:40 PM »
A sort of "esperanto" between the major games keyset.

[irony]
Move by hjkl, and a generic "u"se key for all actions ;)
[/irony]

I'd like more unified keyboard settings, too, but I'm afraid this will not be done. The games are different, and people are different, so it won't be possible to find a good common denominator?

Skeletor

  • Rogueliker
  • ***
  • Posts: 580
  • Karma: +0/-0
  • villains ftw
    • View Profile
Re: Project(?): creating a standard for keyboard controls in roguelikes
« Reply #2 on: October 29, 2009, 02:40:07 PM »
Maybe a multiple standard could be created.
Like 3 or 4 main sets (very similar to major games).

Maybe not all developers, but some for sure would be happy to adeguate to the standard and then having more people who play the game they are going to create.
What I enjoy the most in roguelikes: Anti-Farming and Mac Givering my way out. Kind of what I also enjoy in life.

Etinarg

  • Rogueliker
  • ***
  • Posts: 424
  • Karma: +1/-1
  • Idea archivist and game tinkerer.
    • View Profile
    • Gedankenweber Blog (German)
Re: Project(?): creating a standard for keyboard controls in roguelikes
« Reply #3 on: October 29, 2009, 03:40:31 PM »
I think a discussion will be interesting. Particularly since there are a few design philosophies, which dictate some of the commands.

One structure is "verb item", where people select first what to do, and then, which item to do it with.

The other is "item verb", where you first select the item and get your choices limited to the actions that you can actually do with this item.

Looks very similar, but has a few differences.

Keyboard driven roguelikes almost always use the "verb item" scheme. Mouse driven games almost always use the "item verb" scheme. The reason seems to be mostly that mouse actions are "click on item", while keyboard actions are "enter command".

Beyond this point, a discussion can help to identify common actions.

Does a wand have to be "a"imed, or is rather "z"apped at something? It'd be interesting to get a list of common actions in roguelike games, also interesting to see if there are common control structures. I think particularly NetHack is rich in the amount of usages of items.

« Last Edit: October 29, 2009, 03:42:25 PM by Hajo »

getter77

  • Protector of the Temple
  • Global Moderator
  • Rogueliker
  • *****
  • Posts: 4957
  • Karma: +4/-1
    • View Profile
Re: Project(?): creating a standard for keyboard controls in roguelikes
« Reply #4 on: October 29, 2009, 04:04:56 PM »
Step 1:  Start from laptops and such as the baseline, as they don't necessarily have all the tricks afoot that desktop keyboards do.

Step 2:  Copy, in large part, how the Fushigi Dungeon series approach things---only faster/better since a PC of any stripe shouldn't be as boxed in as the input on a gamepad outside of Analog use or some such which only a few employ.

Side step:  Fear not the blasted directional keys!  They are an obvious choice for movement in 4 directions, what with the little arrows on them and all.
Brian Emre Jeffears
Aspiring Designer/Programmer/Composer
In Training

Z

  • Rogueliker
  • ***
  • Posts: 905
  • Karma: +0/-0
    • View Profile
    • Z's Roguelike Stuff
Re: Project(?): creating a standard for keyboard controls in roguelikes
« Reply #5 on: October 29, 2009, 04:24:51 PM »
I think people are different, and for that very reason RL developers are different. Those whose come from Angband will think that it is logical and a standard in roguelikes to (a)im a wand, while others will think that (z)apping is a standard thing you do with a wand. All have their reasons and no standard would be possible.

A decent roguelike should have a key (say, "?") which lists all the available keypresses on a single screen (or several screens is one is not enough). (I don't remember a roguelike which does not have that. Well maybe some require several keypresses instead of one, but it does not matter.) This is more comfortable than a printout IMO. And even I have to check this screen, say, 5 times for each action, and each time I use an action which I almost never use, this is still a very small factor in learning a specific roguelike. In each new roguelike, you also have to learn which monsters are strong and which are negligible, what is the way to restore your hit points, how to explore the world effectively, etc.

Are you sure that there are really people for whom this is a problem? Surely some people never learned to control anything with complex key commands, and that will stand as a barrier between them and roguelikes... but those who have learned one complex keyset, love one roguelike, and don't think it worth it to get into another roguelike just because it has a different complex keyset?

ADOM has configurable keybindings, and it would be possible to create a set of keyconfigs for it (default, Nethack-like, Angband-like etc.) I suppose it would be in general better to have configurable keybindings in roguelikes, and have a repository of keyconfigs. Of course it won't help if you like another keylayout design philosophy than the designer.

Vanguard

  • Rogueliker
  • ***
  • Posts: 1112
  • Karma: +0/-0
    • View Profile
Re: Project(?): creating a standard for keyboard controls in roguelikes
« Reply #6 on: October 29, 2009, 07:55:40 PM »
I think that just as long as pressing '?' at any time immediately gives you the instructions for the key set, and that they're presented in at least a relatively intuitive manner, it's not too bad.

Every game should support the arrows and the numeric keypad for movement, as well as one set of movement keys on the "letter" part of the keyboard for laptop users.  The hjkl thing is probably the best way to go just because it's the closest thing to a consistent standard we have, even though I personally find it really unintuitive.

Etinarg

  • Rogueliker
  • ***
  • Posts: 424
  • Karma: +1/-1
  • Idea archivist and game tinkerer.
    • View Profile
    • Gedankenweber Blog (German)
Re: Project(?): creating a standard for keyboard controls in roguelikes
« Reply #7 on: October 29, 2009, 10:27:21 PM »
The hjkl thing is probably the best way to go just because it's the closest thing to a consistent standard we have, even though I personally find it really unintuitive.

The Vi editor defined them, and computers were really quite different that time ... like 30 years ago: http://en.wikipedia.org/wiki/Vi


Edit: More info http://en.wikipedia.org/wiki/Hjkl#HJKL_keys

-> for use on an Lear-Siegler ADM-3A terminal, which places arrow symbols on these letters

Amazing what Wikipedia knows :)
« Last Edit: October 29, 2009, 10:33:29 PM by Hajo »

Karzack

  • Rogueliker
  • ***
  • Posts: 71
  • Karma: +0/-0
    • View Profile
Re: Project(?): creating a standard for keyboard controls in roguelikes
« Reply #8 on: October 29, 2009, 10:33:56 PM »
My thing is...why is there so many keys to learn when you can use a generic 'u'se key for a lot of them.  Or, maybe even a 'e'quip key for all equipment.  I know there is probably more to that under the hood, but I'm not a programmer.  This is about the only thing that bugs me.

AgingMinotaur

  • Rogueliker
  • ***
  • Posts: 805
  • Karma: +2/-0
  • Original Discriminating Buffalo Man
    • View Profile
    • Land of Strangers
Re: Project(?): creating a standard for keyboard controls in roguelikes
« Reply #9 on: October 29, 2009, 11:30:55 PM »
My thing is...why is there so many keys to learn when you can use a generic 'u'se key for a lot of them.  Or, maybe even a 'e'quip key for all equipment.  I know there is probably more to that under the hood, but I'm not a programmer.  This is about the only thing that bugs me.
There is no good reason for this, IMHO. The only sensible explanation I ever heard, was that since eg. scrolls and wands produce different effects, it makes sense to separate the commands. As the player learns what kinds of effects are connected to the "read" and "aim/zap" commands respectively, this might save a bit of time. (Ie. not having to sift through your entire inventory every time you want to activate your favourite wand)

Personally, I feel that in most instances it's appropriate to use a less complex command set. Of course it depends on the overall design of the game, but I just find it annoying to constanly have to break the game flow to check ridiculously big lists of random commands, because I can't remember if rings are "w"orn or "p"ut on or "f"itted, or what do I know.

Addressing the first post, that's a neat idea, and I could see how it might benefit the genre if there was actually a semiofficial standard that many games shared. But I don't really see how it could happen as a willed effort. People are just bound to make solutions they themselves find the best. I know I wouldn't adher to a standard. Sure, there's tradition, like how you potions are (q)uaffed in many games, but these kinds of things evolve organically, and are difficult to force. I think this idea would be slaughtered at rgrd, for instance.

As always,
Minotauros
This matir, as laborintus, Dedalus hous, hath many halkes and hurnes ... wyndynges and wrynkelynges.

Numeron

  • Rogueliker
  • ***
  • Posts: 88
  • Karma: +0/-0
    • View Profile
    • Numeron Reactor
Re: Project(?): creating a standard for keyboard controls in roguelikes
« Reply #10 on: October 29, 2009, 11:37:43 PM »
its 2009, we are no longer even forced to use keyboards, because of the benefits of the mouse. Im trying to build a mouse only interface for my project Rail, I think its a bit more intuative, though harder to code.

Quote
Side step:  Fear not the blasted directional keys!  They are an obvious choice for movement in 4 directions, what with the little arrows on them and all.

I have done this in my games, but every time I wonder if its the right thing to do. When I was younger, the first roguelike I ever played was Castle of the Winds (an exceptional game), and for a long time I couldnt get past the first cave area because of a diagonal corridor, the top level is always the same map. I never realised you could move diagonally because the arrow keys working for movement led me to believe they were the only method of movement... In a regular roguelike with regular shaped dungeons, a player new to roguelikes may never realise because they are often never actually forced to move in those directions.

Quote
I think that just as long as pressing '?' at any time immediately gives you the instructions for the key set, and that they're presented in at least a relatively intuitive manner, it's not too bad.

Agreed.

Quote
Are you sure that there are really people for whom this is a problem?

There is no doubt that the interface of roguelikes are the main slopes of the difficulty curve, but with a keyboard only interface often there is little choice but to make it complex. Roguelikes are complex games. Then again the kind of person who cant surmount that obstacle is probably not the kind of person suited for roguelikes anyway...

Z

  • Rogueliker
  • ***
  • Posts: 905
  • Karma: +0/-0
    • View Profile
    • Z's Roguelike Stuff
Re: Project(?): creating a standard for keyboard controls in roguelikes
« Reply #11 on: October 30, 2009, 12:15:07 AM »
My thing is...why is there so many keys to learn when you can use a generic 'u'se key for a lot of them.  Or, maybe even a 'e'quip key for all equipment.  I know there is probably more to that under the hood, but I'm not a programmer.  This is about the only thing that bugs me.

I see no reason to separate "wear" and "put on", like Crawl does. The logical differences between armor and jewelry are too small to justify two different commands. You also are not supposed to carry a huge lot of these (if you did, splitting it in half would be worthwhile).

Different commands for "read", "quaff", and "zap a wand" are more reasonable (first, they partition the large set of scrolls/potions/wands into smaller ones; second, scrolls, potions and wands are mostly used for different purposes), but that distinction is not necessary.

But "wield" and "throw" have to be separate commands, since you are able to wield/throw anything. (Crawl gives reasons to wield strange things, not sure about throwing. Adding wield/throw to the generic use would mean that either you lose the ability to wield strange things, or are always asked whether you want to wield or to use another way.)

What I would do to improve Crawl keyboard interface is: unify "wield" and "put on" into one command, and add the generic "use" command which would select the default action, without removing the specific "read" command and friends. It could even perform "wield" for weapons and "throw" for missiles (although this is a bit risky, since it would hide the ability to wield anything, just like arrows hiding the diagonal movement in Numeron's example. Not really that bad in this example, but, if you want to have multi-use items, like e.g. Mjollnir in Ragnarok, which can be either wielded as a weapon or zapped as a wand - a person using the generic use command would be likely not to notice one of these uses, while in Ragnarok, Mjollnir just appears by default both in "wield" and "zap" lists, so you will probably notice sooner or later).

its 2009, we are no longer even forced to use keyboards, because of the benefits of the mouse. Im trying to build a mouse only interface for my project Rail, I think its a bit more intuative, though harder to code.

More intuitive, maybe, but much less effective. Pressing 'zq' to zap a wand labeled by 'q' is less intuitive than selecting "zap" from a menu and the wand from a list (or the other way around), but it is roughly 10 times faster, and you don't even have to look at the screen or the keyboard. The benefit of mouse is that you can avoid the very unpleasant keyboard scrolling, but in most cases keyboard also has its ways to avoid that in ways that are more comfortable to those who use them than mouse scrolling (except they are surely less intuitive).

stu

  • Rogueliker
  • ***
  • Posts: 138
  • Karma: +0/-0
  • Moop!
    • View Profile
    • Stu's Rusty Bucket
Re: Project(?): creating a standard for keyboard controls in roguelikes
« Reply #12 on: October 30, 2009, 12:55:58 AM »
don't force anything, just give player the options. When CNC starts you can choose wasd, vi or cursor configuration.
--/\-[ Stu ]-/\--

AgingMinotaur

  • Rogueliker
  • ***
  • Posts: 805
  • Karma: +2/-0
  • Original Discriminating Buffalo Man
    • View Profile
    • Land of Strangers
Re: Project(?): creating a standard for keyboard controls in roguelikes
« Reply #13 on: October 30, 2009, 08:37:50 AM »
(although this is a bit risky, since it would hide the ability to wield anything, just like arrows hiding the diagonal movement in Numeron's example.)
That brings me to think of something else I've been pondering lately. In my game, I let the player "bump to attack", of course, out of old habit, and because it's an economic implementation of the presumably most-used command. But several weapons need to be explicitly activated in certain situations. Spears attack from a distance, sledge hammers take down doors, etc. So I've been considering disabling bumping by default (it can already be toggled on/off). Expanding bumping so that you start mining if you bump into a wall whilst wielding a pick ax, for instance, seems iffy, and still doesn't solve the problem that some players are probably never going to realize that pole arms can attack from a distance. What do you guys think about disabling bumping? I guess the main issue is that attacking would demand two key strokes (command+direction). In a system with facing, I'd be less reluctant.

As always,
Minotauros
This matir, as laborintus, Dedalus hous, hath many halkes and hurnes ... wyndynges and wrynkelynges.

getter77

  • Protector of the Temple
  • Global Moderator
  • Rogueliker
  • *****
  • Posts: 4957
  • Karma: +4/-1
    • View Profile
Re: Project(?): creating a standard for keyboard controls in roguelikes
« Reply #14 on: October 30, 2009, 01:29:01 PM »
I could see with bump disable even without mouse support.   Attack key, then if a general, non-special attack, a little flashing cursor outline to place with movement keys on the target within whatever range is legal, then attack key again to initiate.
Brian Emre Jeffears
Aspiring Designer/Programmer/Composer
In Training