Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for handheld devices (mouse-less devices) #7

Closed
zear opened this issue Sep 20, 2012 · 1 comment
Closed

Support for handheld devices (mouse-less devices) #7

zear opened this issue Sep 20, 2012 · 1 comment

Comments

@zear
Copy link

zear commented Sep 20, 2012

I opened this issue to discuss steps needed to implement in order for Flare to support handheld platforms.

What I understand as a "handheld platform" is a device, which:

  • uses keyboard interface or
  • uses joystick interface
  • has limited number of buttons
  • does not have a pointing device (mouse, touchscreen)

Note that some handheld platforms will have a touchscreen, however I would like to focus here on a situation where keyboard/joystick is the only way of input.

Case study:
GCW Zero - 8 buttons (keyboard interface), d-pad (keyboard interface), analog (joystick interface)
GPH Caanoo - 9 buttons (joystick interface), analog (joystick interface)

Video of the current status of Flare performance on these devices: http://www.youtube.com/watch?v=ymc--9fIAxc
(I encourage to watch it to understand the points I'm raising further on)

== Menu navigation ==

Options menus:

  • Options menus should have easy navigation with keyboard/joystick. Every menu button should be possible to highlight using keyboard/joystick.
  • Joystick buttons and/or axes should be remappable in the options->keybindings to assign them custom game actions.
  • The character creation dialog needs at least one of the following: default name if no name string is entered, random name generation, virtual keyboard to type custom name.

In-game menus:

  • All the menus should have a way to navigate with keyboard/joystick, preferably by using the movement keys. Player character movement should be temporarily ignored when an in-game menu is accessed on a mouse-less device.
  • Inventory menu - one should be able to browse the inventory and equipment slots.
    There needs to be a way to select an item and then move it across the inventory slots to either equip/remove it, change it's order in the inventory, transfer to another Inventory window (merchants, stash chest), move to quick access bar (0-9), or drop to the ground.
  • Power menu - player should be able to select the powers of his interest, unlock them if needed, and then place them on the lmb/rmb bar or quick access bar.

== Picking up items ==

  • I propose a special key to be introduced. I call it an "action" button. Action button would act differently depending on the situation.
    When player is in range of item pickup, the action button should act in the following way:
    1. Player presses AND holds down action button
    2. Nearby items get highlighted
    3. Player uses movement keys to cycle between the highlighted items
    4. Player releases the action button and the selected item gets picked up

== NPC Dialog menus ==

  • The action button mentioned in the previous section would be used to initialize the NPC conversation dialog. NPC dialog would have precedence over item pickup if both are in player's range.
  • Player needs to be able to progress in the dialog by using keyboard/joystick.

== Using the bottom bar ==

  • Now this is tricky. My intention is to easily navigate across the bottom bar (quick access, lmb/rmb and c/i/p/l bar) without resorting to using individual shortcuts for each of the icons.
    We will need to sacrifice 3 keys for it. 2 keys (usually L and R shoulder buttons in gaming handhelds) would be used to change the currently selected icon on the bottom bar, while a 3rd key would activate that given icon.
    This way we can solve both fairly quick access to potions/items in the quick access bar and access to the character, inventory, player, log dialogs. To sum it up, we'd need to highlight one field on the bottom bar and move the highlight from one field to another when player presses the "next/previous field" buttons.

== Loading times ==

Loading times should be optimized to reduce their time.

I believe some of the proposed features should also be merged back with the flare-engine when implemented.

@clintbellanger
Copy link
Collaborator

zear, I'm going to move this issue to the flare-engine repo, as much of this work needs to happen at a very low level inside the engine.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants