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.
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:
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:
In-game menus:
== Picking up items ==
== NPC Dialog menus ==
== Using the bottom bar ==
== 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.