dpc / rhex

ASCII terminal hexagonal map roguelike written in Rust
154 stars 18 forks source link

What to do about controls? #13

Open dpc opened 8 years ago

dpc commented 8 years ago

Because the engine has: lighting, noise, and positioning it gives nice possibilities:

This however complicates the controls. Not only there's `Move/Attack Forward/Backward, Turn Left/Right, but also Move/Attack Left/Right, Charge (double move forward, could also be used to jump through holes).

I've also (maybe needlessly) added a surrounding-moves (u and i). On top of it, there's Shift+k, which autotravels moving forward.

As a Vim user, it's natural for me to use hjkl, but it might not be natural for everyone, so I've added basic arrows support. The problem with arrow keys is that in ncurses, it's hard/impossible to tell Shift+Arrow and Alt+Arrow. Ctrl+Arrow seems to work somewhat.

I wonder if forcing people to use hjkl is OK, and can arrows be added. Numerical keyboard could work too, but I don't own a single keyboard with numpad.

CryZe commented 8 years ago

Why not WASD? That's the most natural for gamers. hjkl seems unnecessarily hard to get used to.

Am Samstag, 23. Januar 2016 schrieb Dawid Ciężarkiewicz :

Because the engine has: lighting, noise, and positioning it gives nice possibilities:

  • socoban-like puzzles/actions
  • sneaking (one can hide in the dark, and sneak from behind to kill a powerful monster easily)

This however complicates the controls Not only there's `Move/Attack Forward/Backward, Turn Left/Right, but also Move/Attack Left/Right, Charge (double move forward, could also be used to jump through holes)

I've also (maybe needlessly) added a surrounding-moves (u and i) On top of it, there's Shift+k, which autotravels moving forward

As a Vim user, it's natural for me to use hjkl, but it might not be natural for everyone, so I've added basic arrows support The problem with arrow keys is that in ncurses, it's hard/impossible to tell Shift+Arrow and Alt+Arrow Ctrl+Arrow seems to work somewhat

I wonder if forcing people to use hjkl is OK, and can arrows be added Numerical keyboard could work too, but I don't own a single keyboard with numpad

— Reply to this email directly or view it on GitHub https://github.com/dpc/rhex/issues/13.

dpc commented 8 years ago

@CryZe : In a FPS aiming is a most important thing (right hand), moving secondary. In a roguelike moving is a major thing (right hand), everything else is secondary. At least that's how it works for me.

I think having a switchable "input modes" would make everyone happy:

However, other actions would have to be mapped according to the mode too.

CryZe commented 8 years ago

I don't think that matters. Controllers have movement with the left hand too and no one bothers. So left hand movement is quite natural for games. I don't think there's a lot of games with right hand movement at all.

Am Samstag, 23. Januar 2016 schrieb Dawid Ciężarkiewicz :

@CryZe https://github.com/CryZe : In a FPS aiming is a most important thing (right hand), moving secondary. In a roguelike moving is a major thing (right hand), everything is secondary. At least that's how it works for me.

I think having a switchable "input modes" would make everyone happy:

  • Vim-like mode (hjkl, shift)
  • Left-hand mode (awsd + qe for turning)
  • Right-hand mode (jkli + uo for turning)

However, other actions would have to be mapped according to the mode too.

— Reply to this email directly or view it on GitHub https://github.com/dpc/rhex/issues/13#issuecomment-174212820.

dpc commented 8 years ago

Maybe you're right. So what do you think about Left-hand mode + Vim-like mode as two alternative input methods?

dpc commented 8 years ago

I've implemented a basic Left-hand mode. I find it completely unnatural myself, but I guess it might fit others.

I'm also thinking about mouse control. :)