Sesu8642 / FeudalTactics

Strategy game with countless unique and challenging levels.
GNU General Public License v3.0
79 stars 20 forks source link

Hardware keypad is useless #67

Open bodqhrohro opened 1 year ago

bodqhrohro commented 1 year ago

I play this on a phone with a keypad, and the keys are useless, so I have to do everything with the touchscreen.

I would suggest the following mappings:

2/4/6/8, 1/3/7/9, and D-Pad: navigate between available fields. Needs a cursor to be implemented exactly for this feature. Also, the navigation with 8 keys in a hexagonal would be a bit non-trivial and non-intuitive. I have not seen the original game (given it's a DOS game, I assume it had a keyboard navigation too?), though I played the Disney Mahjong J2ME game, which has a similar hexagonal layout and some nearly intuitive 8-directional navigation system.

Alternatively, digits can be used for navigation and D-Pad for panning.

5/DPAD_CENTER: confirm.

*: undo. 0: add a unit.

: add a castle.

Even though it should probably be a separate issue, I'd also like to see on-screen zoom buttons, as pinch-to-zoom is the only action that requires two fingers, and is non-trivial to do with one hand. (Maybe should be duplicated with hardware keys too, but there's none of them left ×D Maybe volume buttons, but my device does not have them anyway, and you plan to add sounds in the future, and it's not a good idea to intercept them)

Sesu8642 commented 1 year ago

I have had some thoughts about controller support that I think should help with your use case as well. Instead of a real cursor, there is a "selected" hexagon tile. The selection can be moved via joystick/D-pad. I think this is more or less what you described too.

Using hardware buttons to do certain actions (like placing a unit) itself should be fairly easy to implement. However, the buttons you mentioned sound like they are quite specific to your device's key layout. A proper implementation would be to have user configurable key bindings.

Zoom buttons should be configurable too (on/off) and disabled by default since most people probably prefer to use the pinch gesture and don't want additional space blocked by buttons.

Overall, this seems like a rather rare use case and also a quite large effort to implement. So it's not going to to have a very high priority for me at the moment unfortunately.