Laptop-friendly diagonal movement mode(s)
issueid=1367 12-01-2012 08:07 AM
Ancient Member
Number of reported issues by Al-Khwarizmi: 62
Laptop-friendly diagonal movement mode(s)
Create a quick setting to make the game playable with diagonals on laptops without numpads

Yesterday I was installing everything on my new laptop, and although the machine's performance was wonderful, I realized with horror that it no longer had NumLock and a numpad overlay. Apparently, most laptops now don't have it, so there's no way to get even the "fake" numpad in the uiojklm,. keys.

This makes diagonals on laptops even more of a problem than it already was. I think now that ADOM is being resurrected and it's going to become more mainstream (Steam, etc.), we need some explicit option for addressing this, like the ones that have been proposed for ADOM II.

Before someone mentions the venerable vi keys, I respect that option as an option, but it's not for everyone. I'm an experienced computer used and I just can't get used to them. I suppose it'll be the same for most people on Steam.

I think having some key (Shift?) to toggle "movement mode", and "movement mode" changing a square of nine keyboard letters (such as uiojklm,.) to the movement commands (i.e. as in the fake laptop numpads) would be fine.

EDIT: I think my proposal of 23/12/2013 (based on the control scheme of One Way Heroics) is better than this initial idea of the OP. Also see the rest of proposals in the thread for interesting alternatives.
Issue Details
Issue Number 1367
Issue Type Feature
Project ADOM (Ancient Domains Of Mystery)
Category All
Status On Hold
Priority 1 - Highest
Suggested Version ADOM 1.2.0 pre 5
Implemented Version (none)
Milestone Potential work pipeline
Votes for this feature 11
Votes against this feature 0
Assigned Users (none)
Tags (none)




03-11-2013 12:53 PM
jt jt is offline
Administrator
How about using the caps lock key as a toggle? I guess all keyboards have an indicator (e.g. a light) to indicate that the key is active. Of course a configurable "toggle" key would be optimal.

03-11-2013 02:36 PM
Ancient Member
Quote Originally Posted by jt
How about using the caps lock key as a toggle? I guess all keyboards have an indicator (e.g. a light) to indicate that the key is active. Of course a configurable "toggle" key would be optimal.
I think that would be great (it's in one of my previous comments) :)

03-11-2013 02:36 PM
Ancient Member
All of the suggestions conflict with other commands in some way, and most are cumbersome and non-obvious to use. The general public would balk at these solutions.

Shiren the Wanderer, possibly the only commercial and widely played roguelike with 8 directional movement, uses a diagonal toggle system. It normally accepts d-pad movement in four directions, but with a toggle key pressed it will only move in diagonals. The toggle key makes it wait for two directions to be pressed and to move in that diagonal direction. So hold toggle, up and right to move NE.

This could be replicated on a keyboard with Ctrl and the arrow keys. Want to move SW? Press Ctrl + down + left. People will be using arrow keys for movement on laptops anyway, so it's an extension of what they'd already be using.

It's not perfect mind. It's intuitive when you know it, but it would have to be taught in a tutorial (which we'll need before Steam release anyway). It's also a little clumsy.

A couple of things to keep in mind for any solution:
- Diagonals aren't used that often, so a bit of discomfort isn't too bad as long as the player can still use arrow keys for 4-way movement
- Hopefully we'll have mouse movement at some point, which will ease movement for a lot of players (though still isn't good for laptops, I guess)

03-12-2013 04:32 PM
Ancient Member
Quote Originally Posted by Grey
All of the suggestions conflict with other commands in some way, and most are cumbersome and non-obvious to use. The general public would balk at these solutions.
Have not done programming since i was twenty [ant that was quite some time ago], so sorry if this is stupid.

How about simply using keyup isntead keydown and double presses for combo? I mean normal movement triggers only on releasing arrow [or substitute for it] key - while key is hold down however shiren style is enabled -- that is if second direction key is pressed/released char moves diagonally.
I do imagine using would be rather passable, but programing likely cause some problems

03-12-2013 06:02 PM
Ancient Member
Is it too crass to suggest eliminating diagonal movement all together?

03-12-2013 06:28 PM
Ancient Member
Quote Originally Posted by Soirana
Have not done programming since i was twenty [ant that was quite some time ago], so sorry if this is stupid.

How about simply using keyup isntead keydown and double presses for combo? I mean normal movement triggers only on releasing arrow [or substitute for it] key - while key is hold down however shiren style is enabled -- that is if second direction key is pressed/released char moves diagonally.
I do imagine using would be rather passable, but programing likely cause some problems
That will likely require a lot of work with input-handling parts of ADoM.

03-12-2013 06:37 PM
Ancient Member
Quote Originally Posted by JellySlayer
Is it too crass to suggest eliminating diagonal movement all together?
I would say yes.

03-12-2013 08:32 PM
Ancient Member
Quote Originally Posted by JellySlayer
Is it too crass to suggest eliminating diagonal movement all together?
There is 2 guaranteed climbing sets.:P

I think the easiest solution Alt/Ctrl + arrow keys, I mean how often does one move diagonally? 10%?; for it too be too much of a hassle to press Ctrl/Alt with your left hand now or then.

This is of course if that option is possible to code, don't know, is there an ASCII value for those key combos?

Only decision is do we swing clock or anti-clock?

03-12-2013 11:50 PM
Ancient Member
You're thinking about this the wrong way: it's not how often does one move diagonally, but how often are keypresses used that move one diagonally. This is an important difference because the majority of 'straight' movement is done with the 'w' modifier, meaning diagonal keypresses make up a much higher percentage than the layout of ADOM would have you believe.

In addition, eliminating diagonal movement would completely change ADOM at its most fundamental, so I see no way for that to happen.

03-13-2013 08:57 AM
Ancient Member
Quote Originally Posted by SirTheta
You're thinking about this the wrong way: it's not how often does one move diagonally, but how often are keypresses used that move one diagonally. This is an important difference because the majority of 'straight' movement is done with the 'w' modifier, meaning diagonal keypresses make up a much higher percentage than the layout of ADOM would have you believe.

In addition, eliminating diagonal movement would completely change ADOM at its most fundamental, so I see no way for that to happen.
Seconding this.
Take into the account that diagonal movement is not only movement itself, but kicking trapped doors, targeting bolts and wands and a lot more.

12-22-2013 10:16 PM
Ancient Member
These days I have been playing One Way Heroics (highly recommended, by the way). It's a JRPG-roguelike hybrid designed for PC, and where moving diagonally can be very important and the difference between life and death, as in ADOM.

Its method for movement mode is the following: you can move diagonally by pressing two arrow keys at the same time. But with this, it is very easy to make a mistake (if you don't press them exactly at the same time), so if you hold control, while that key is held, it will *only* let you move diagonally. This is highlighted by showing diagonal arrows on screen.

This is the best control scheme for turn-based diagonal movement in a keyboard without numpad that I have ever seen, by a mile. Although the current shift and control solution in ADOM is not bad, it would be great to have this.

06-05-2014 09:06 PM
Ancient Member
Just want to bring this back up since, as I was planning to play some Rogue, I noticed it used the DCSS scheme I described in an earlier post - http://www.roguelikedevelopment.org/...ual/manual.htm (section "MOVING IN THE DUNGEON"). What more endorsement could you need ;)

06-06-2014 11:02 AM
Junior Member
I thought NotEYE had had an option for shift+arrows or alt+arrows to move diagonally. ie: when the modifier is held down up and down become north-east and south-west, and left and right become north-west and south-east. Or vice versa. ..I'm sure I remember seeing that in the early pre-releases, but I can't seem to find it looking through the .noe files now. This method seemed quite nice.

I like Al-Khwarizmi's one though, where a modifier switches to diagonal-only mode.

Also, if you have a mouse plugged in, pointing the mouse-pointer in the direction you want to go, and moving with the scroll-wheel actually works very well. I never thought I'd like it, but I find myself using it a fair bit now.

11-18-2015 08:26 PM
Ancient Member
I am bumping this because I see Thomas is looking at different suggestions for UI improvements, and has mentioned the issue of laptops with no numpad.

There are several ideas in this thread, although my favorite right now is the latest I proposed, on the post of 23/12/2013, rather than the one in the OP. In One Way Heroics it works like a charm.

+ Reply