Guideline 1: Defaults just work
Gamers expect console-like experiences on handhelds. They shouldn’t need to find a menu and tweak some setting to get the game into a handheld mode. Using just the controller, they should be able to navigate all elements of the game. While gamers may want customization and variety in rendering options (black levels, shadows, performance vs quality), they still expect to have a good default experience. The key to having defaults just “work” is knowing you are on a gaming handheld. Use the following code to determine whether the game is running on a gaming handheld.- Choose a resolution and settings that are a good match for the typical handheld capabilities.
- Change default input to expect a gamepad and pop up a virtual keyboard when text input is expected.
- Make the fonts larger (more on this in the Guideline 4: UI readability section below).
- XBOX Accessibility Guideline 101: Text display
- XBOX Accessibility Guideline 107: Input
- XBOX Accessibility Guideline 112: UI navigation
- XBOX Accessibility Guideline 113: UI focus handling
Guideline 2: Iconography
On-screen hints such as the iconography help the gamer understand how to navigate and play the game. Make sure that there aren’t indications suggesting input methods that aren’t available natively on the handheld that will cause confusion.Guideline 3: Text input
Games written for PC typically assume the existence of a mouse and keyboard. On a gaming handheld, the default input is the gamepad. When your game needs text input, make sure players can enter text by using just the gamepad with a virtual keyboard. Trigger virtual keyboards whenever text input may be needed. Two typical approaches are to launch the virtual keyboard when either a “touch” is detected on the textbox or when the textbox has “input focus” and the A button is pressed. You are free to create your own virtual keyboard. You can also use the virtual keyboard that is part of Windows. The following code shows how your game can launch and then hide the Windows virtual keyboard in gamepad mode.ICoreInputView3 interface and calls the TryShow method, passing in the identifier for the new Gamepad-enabled virtual keyboard. TryHide will hide the keyboard if it is currently displayed.
The
TryShow method will only show the keyboard if Windows determines that showing the keyboard is appropriate. For example, calling this method on a device with a physical keyboard attached (and other distinctions) may not display the virtual keyboard. On a handheld device with a touchscreen, this call works as expected.This API above has no dependency on the GDK. It is a Windows API that was introduced to Windows 10 in version 10.0.17763.0, released October 2018, however, the
CoreInputViewKind::Gamepad enumeration requires Windows SDK 10.0.26100.3624 or greater.Guideline 4: UI readability
Small screens that are 7” wide are common on gaming handhelds. These small screens can make it hard to read text UI in the game. The guidance to game developers for these small screens is:- If the screen is 1280 x 720, the pixel height of the text should be at least 9 pixels. We recommend that the height is 12 pixels or greater.
- If the screen is 1920 x 1080, the pixel height of the text should be at least 14 pixels. We recommend that the height is 18 pixels or greater.
DirectWrite can take advantage of key Windows features such as font scaling, DPI, and other Windows settings.
