Here is a breakdown of the content presented in the video 2-106 : Shai Hintz : Designing games for Windows 8 from Build:
Windows 8 Input Specs
Often referred to as accordance, hardware interaction with the user in the Windows 8 OS can be selected from the collection of:
- At least 5 touch points (many with 10)
- XBOX Controller (via USB)
- Light Sensor
Combines the accelerometer, gyros and inclinometer to give a really precise (high granularity) input to work with augmented reality. Possible uses Sensor Fusion, are using a SHAKE gesture (shaking the device) as a method to convey struggling or escaping, or to use it a movement indicator to use the device as a window into another universe (virtual reality) ..(this reminds me of Alice’s mirror, or the dimensional window in Fringe)
Use the Platform
The default perspective for most apps is Landscape including Portrait support is optional, however in order to actually get certified for the windows store, you MUST support these interactions:
Rotation is the process of going from Portrait to Landscape this is handled by the OS itself. when the player rotates the device you want to make sure it doesn’t effect the game play, one way to solve this is to pause the game.
There are a lot of events that can be thrown by the OS that may interfere with the experience of play for the user. Events such as: Loss of Focus, Loss of View the the Escape Key being pressed are naturally handled by pausing. Other events may need special consideration.
Make sure that pausing the game doesn’t effect the outcome of the game
When the player starts to uses their device (tablet, PC, Phone, etc..) you will want to ensure that you properly manage the state as it goes thru the applications processes life-cycle (Process Life-cycle Management or PLM) . Using checkpoints and background game play saving, as well as incorporating and planing for normal game states can give the user a good experience. One of the views of Microsoft that they have been very consistent on is that in Windows 8 the play-pause-resume experience needs to be fluid and seamless across devices. What this means to a developer is that the game-play must be continuous across devices and feel ‘seamless’. One nearly necessary aspect of roaming is having consistent settings and options across devices, by leveraging the federated ID provided by the OS.
Try to use as many control schemes as possible. for example in a FPR you could use mouse-look using the touch counterpart touch-look (examples C++, C++ & XAML). On a touch device the rt click is on by default. You can map input schemas such as click-to-go to tap-to-go rather readily. Some of the sample games such as Marble Maze use all of the inputs (scaled for sensitivity).
|Command||Windows Phone||Touch tablet||Keyboard||Game controller|
|Play/resume||“Play” button||“Play” button||“Play” button/ menu option||Play item/option, triggered with (A) button|
|Game-mode to Menu-mode (pause)||Physical Back key||Swipe-in from top or bottom edge||Escape key||Physical pause button|
|Navigate in menus||Touch taps||Touch taps||Arrow keys, enter key to select mouse clicks||Digital D-pad|
|Previous menu||Back control||Back control||Backspace key Escape key can work in addition||Back(B) button|
You can get player accounts by connecting to gaming services, which has added benifits to your app such as tracking players progress, linkage to social networks and sharing, access to friction-free commerce.Also note that in some situations it can be helpful to leverage skydrive to pass larger pieces of information between devices
Keep your game code abstracted from specific hardware configurations, having a layer of abstraction between the hardware and your game engine will make it easier to apply your game across form factors and devices.