Sunday, April 15, 2012

Fiddling with the UI

Those who follow me on Facebook know that I have been struck down by a bad cold (once again, damn) and everything thus got delayed. I'll definitely need another week or so to release 0.2.4 since I got almost nothing done during the past week. Currently I have been fiddling with the key bindings and now would like to get some input on the whole UI issue.

Basically I see two optimization goals:

  1. A roguelike should require as little command knowledge as possible in order to get newbies quickly hooked and allow a fast introduction to the game.
  2. A roguelike should require as few key presses as possible to achieve something in order to allow experts to quickly move on.
While not contradictory these two goals supplement each other.

Take the classic roguelike example: There are commands for almost anything (eat, read, drop, pickup, zap, dip, etc. pp.). Most of them could easily be combined into 'u'se and 'm'anipulate commands ('use' for interaction with stuff in your possession, 'manipulate' for interaction with stuff external to the PC).

Two commands would be very simple to learn for newbies (especially since 'use' could be folded into general inventory management) but I personally find them annoying when playing as an expert - as a specialized 'eat' e.g. automatically only shows eatable items which makes me play faster than requiring extra filtering.

Today I spent a few hours on adding configurable keybindings but the general problem runs much deeper as it is a UI interface problem. That issue I don't want to tackle now - let it be done for now with the comment that ADOM II is moving towards "best of both worlds". There will be one or two general purpose commands to do about anything and there will be many specialized commands for quick interaction.

The one thing that is continuing to haunt me are reasonable key bindings for notebooks. I don't have a number pad and I have to admit that I find myself again and again just using the cursor keys although that is less than optimal. I never have grown attached to the classical roguelike (VI) key bindings of hjkl...(whatever) and I have been experimenting with i, j, k, l (for N, W, S, E) and u, o, m, . (for NW, NE, SW, SE) but that's neither standard nor convenient - especially not for left-handed people.

So I'm looking for input from people who mostly are playing rogue likes on notebooks without numeric key pads. Which bindings do you find convenient, which ones do you hate?

Your input probably won't make it into 0.2.4 but I finally need to find a convenient solution to this problem. Thanks!


  1. This comment has been removed by the author.

  2. 'yuhjklbn' is not that bad, and it's a standard in roguelikes. It would be nice if you supported it, although not necessarily as a default.

    1. The main problem with the vi-keys is that many non-US keyboards change the placement of hjklyubn, which can be very annoying if a game supports ONLY vi-keys.

    2. I wouldn't dream of making a game that supports vi-keys and not arrows/numpad. As for the notebook keybindings, this is still a problem in Thomas's idea, so users of non-QWERTY would have to remap in either case.

  3. I used to play ADOM with a laptop. I just played turning on and off the Bloq Num key as needed. At that time, I was surprised how quickly I got used to it.

  4. I remember tere was an old platform game for CP/M, which used QWE-ASD-ZXC; which seems an obvious thing to suggest. It was a precursor to the much more advanced "Willy the Worm" (

    This would actually make sense for a roguelike, as "search" and "wait" would then be "s"; do you heal faster if you are not searching, in ADOM? I was never clear on that.

    The real problem with non-arrow movement keys is finding a set that doesn't bash other useful commands (such as "d" which really wants to be "drink", "drop", etc.).

    Feel better!,

  5. I went for a hardware solution and bought an external numpad for my notebook just to play roguelikes. Previously tried to find some configuration that didn't require a numpad, but that just didn't work for me.

  6. Yes, this issue is the plague for roguelikes on laptops... I have played lots of roguelikes on laptops, which used different solutions to this problem, and liked none of those solutions. At the end I always end up doing like quik, using Fn+NumLock to bring up the "fake" numpad, wich takes over the keys uiojklm in my layout. It's annoying to have to switch in order to be able to "k"ick, bring up "i"nventory or choose any option with those letters in lists, but I still prefer that to using some unnatural key combo.

    Now of course we also have the option of mouse movement. Not that the touchpad in most laptops/netbooks is the best way to point to a precise location though...

    Gosh, I love my desktop PC :)

  7. When I used to play ADOM on a notebook without numpad, I just used 1, 3, 7, 9 on the number row in addition to the arrow keys - I'd appreciate it if that still worked in ADOM II, of course. It's just four buttons you have to implement into muscle memory - in the end it doesn't matter that much WHERE they are, just that you learn to associate them with the directions.

    That's if you ask me. Even back then I was far off the deep end in the "expert" territory.

    1. This is what I do as well when I'm playing on a laptop. I don't find it horribly awkward, actually, especially since I make very liberal use of the w-# commands anyway.

      I've never used the VI keys before, and found it a little disconcerting in ADOM II when I'd reach for inventory or kick or something and end up moving in a direction I didn't want to go instead. I would be quite happy if a later edition allowed these to be disabled or remapped, personally.

      Although it might be a bit more work, it might be nice to have a couple of default keyboards--allowing people to use VI keys or numpad or number row or whatever, or to allow them to customize the keybindings like in ADOM I.

      I do like the idea of a simplified key system--having it that, say the 'U'se command could trigger a wand or scroll or potion or pickaxe or whatever would be a nice way to go. Likewise, having one button that could, say, open/close a door, handle a lever, chat, etc. (a "do a sensible action in the targetted direction" sort of command) might be nice as well. I agree though that having a hotkey to trigger some of these commands--especially inventory ones--is probably important to keep around. If you have 500 items in your inventory, it's going to get tedious pretty quickly when you need to eat or something.

  8. - Since movement is a thing players need to do all the time, it needs to be as simple as possible - one button moves one square.
    - And you want the keys for movement arranged in such a way that players have no trouble knowing which button moves which way.
    - But you also want your other commands placed on easily recognizable keys. In the case of a sequel to a roguelike classic such as ADOM, "easily recognizable" DOES include placing commands where they were in ADOM unless you have a good reason not to.
    - You also want movement to be placed such that it can be done comfortably with one hand while the other uses other commands. (hand convenience)

    These are the four reasons, the way I see it, why the numpad is the perfect movement tool for a roguelike.

    Allowing for diagonal movement with a Ctrl- or Shift-command violates the crap out of the first, and there's trouble with the second, too. The simplest way is to have the right Ctrl-key give a rightward or leftward slant, so that left becomes left-up, up becomes right-up, right becomes right-down and so forth. I think recognizing which way the slant goes will become natural, but having to constantly press ctrl, or shift, or whatever extra key you can think of, will put a strain on the player.

    A replacement numpad in the central keyboard holds up the first, barely holds up the second (the keyboard is arranged in a "lopsided" manner), but terribly violates the third and fourth; no matter where you place it, you displace otherwise useful and intuitive commands; and the replacement numpad will be in the middle of the keyboard, which will make it kind of crowded if you want to use both hands at once. If you want to use commands on both sides of the replacement keyboard, you either have to switch hands or reach across your movement hand with your commands hand to reach the other side. So ideally, you'd want to use "IOP", "KLÖ" and ",.-" - as far to the right as possible - and the trouble becomes obvious there once more in that these bindings only make sense on a GERMAN keyboard. No way you slice it, finding NINE keys in a 3x3 block is loads of trouble. But do you NEED nine keys?

    Four commands for diagonal directions require only a 2x2 block, which should be much easier to place than a full nine. It's not a perfect solution - the perfect solution is to have a numpad - but of the imperfect ones, I think it provides the best balance:

    - One button, one move, provided the 2x2 diagonal move block is lower case. I'd place it as close to the right as can be done, PÜ/ÖÄ on a German keyboard for instance.
    - It is easy to visualize - the arrow keys are GREAT - their only flaw is that you don't have enough of them - and the 2x2 block itself is easy to associate with the diagonal directions. It's the second best way to visualize the spectrum of directions one could think of other than the 3x3 numpad. (Waiting in place isn't exactly a movement command. Players MOVE all the time, since they have places to go and things to do, but they only wait in place for specific reasons; healing, to let monsters come to them rather than move towards them and get hit, or to wait for gaps to open... I don't think it's a problem if waiting in place (5) becomes separated from the arrow keys and the 2x2 diagonal block.)
    - As mentioned, the 2x2 block is much, much easier to accomodate than the 3x3 block. Think about it; the 3x3 block also tries to accomodate up, down, left and right! You give up so much keyboard real estate just to keep up the 3x3 shape!
    - The arrow keys, even on smallest notebooks, are reasonably far away from the rest. The 2x2 block, placed close to the return key, should be reachable by the same hand on most keyboards, and leave most, if not all other commands to the left hand.

  9. I did the same as silfer: arrow keys for cardinal directions, 1, 3, 7, 9 on the number line for diagonals. Of course, this would hardly be newbie friendly. One issue is that if you use eight letter keys, that's eight fewer possibilities for commands (sixteen fewer if you make movement independent of case).

    I wonder how different a roguelike would feel with only cardinal directions. It probably wouldn't be as crippling as it first seems; lots and lots of games only support cardinal directions.

  10. There are several roguelikes that only support cardinal directions. Some of them are roguelikes for mobile devices (Powder, Dweller, Legends of Yore) and others are modern dumbed-down roguelikes that make things as simple as possible (Cardinal Quest, Dungeons of Dredmor). There have also been many classical CRPG's that only supported cardinal directions (the early Ultimas, Times of Lore, etc.) If the game is thought that way, it isn't too bad.

    But for ADOM II... I think it just wouldn't feel right. ADOM I had diagonals, removing them would be a step back. They even had strategic uses (ever sent a magic missile bouncing towards the ACW in the ToEF?). So I definitely wouldn't at all like to see an ADOM II without diagonals.

  11. I think that clasic W,S,A,D would be nice along with Q,E,Z,C and F for use and X for manipulate. With this you have easy access for all needed command with one hande. You just need to assumed that notebook players will use only basic kays configuration.

  12. WASD is a first person shooter type control, that gets adapted to some other game types.

    It would NOT work well for rouge like simply because;

    s = search
    d = drink
    w = wield/wear

    That is close to a standard among rougelikes, you should go with whatever the majority of rouglelikes use as a standard. Nothing is more frustrating then a UI that ignores heavily ingrained standards and goes for something unique. UNLESS that uniqueness is a great step forwad and becomes the standard..

  13. Remember, we're only talking about those few users left without a numpad. Ditching established roguelike conventions just for their sake to shoehorn in a FPS convention seems like throwing the baby the baby out with the bathwater and refilling the bucket with industrial sludge.

    1. I don't think we are that few. Many notebooks still come w/out a numpad, and vi-keys are such an old standard that almost no one outside a computer science lab learns them. The advantage of vi-keys used to be that everyone was familiar with them. This is not the case today.

    2. I don't think it's nearly as few as you might think. Laptops have been outselling desktops since 2009, and the vast majority do not include a numpad by default. Yes, you can buy a USB numpad, but a lot of people probably don't have one. It seems pretty sensible to build the game in a way that doesn't require specialized hardware. It's just regrettable that there isn't really a natural set of keys on the board to fill this role.

      The advantage to using WADS is that ADOM II does have mouse support, and WASD is a much more natural system when you're doing a mouse/keyboard combination (although the problem is mostly in the diagonals, so you'd need to grab some other keys to make it work regardless). I'm not sure that ADOM II has enough mouse functionality to justify this change away from established conventions, though, unless the plan was to go very heavy on mouse usage--using it for most actions other than walking. Which is a possibility, I suppose, especially if Thomas has an interest in moving ADOM II to the tablet world.

    3. The mouse has a left button and a right button. Which means that to really use it for everything but movement, you'd have to select commands from a list. (Or reduce the number of commands to about eight or ten, taking into account the use of some additional buttons around WSAD, like Q, E, F, Ctrl, space bar, similar to Elder Scrolls games.) It doesn't solve diagonal movement either, as you rightly mentioned.

      A much closer equivalent to the number of diverse commands roguelikes tend to employ is RTSes with their hotkeys. And RTSes do not use WASD for that very reason; map movement is either through mouse scrolling or arrow keys, and movement of units is left to the mouse. (Not even entirely accurate; hotkeys affect unit movement as well.) WASD is NOT "the" natural system for a mouse/keyboard combination, is what I'm saying; it's the natural system for FPSes and FPSes only. Why would you want to shoehorn it into a roguelike, or shoehorn the roguelike into WASD? If there IS a natural solution for keyboard/mouse combos in roguelikes, it probably hasn't been found yet.

      But when it comes to purely keyboard use, the numpad is the perfect, and natural, movement tool for a roguelike. The game should accomodate an alternate solution, but that alternate solutions shouldn't affect the optimal one if at all possible. Of course, if the game accomodates different key setups in configuration or even freely and easily rebindable keys, that would make everyone happiest.

  14. I'm really impressed with the "2x2 block" suggestion and analysis above. That's some good lateral thinking. Anyone seen a prototype?