แชร์ผ่าน


Optimizing your game for streaming

Use this topic to optimize your title for game streaming. All games on the Xbox platform are able to be streamed whether from a local console with Xbox Remote Play or via the cloud with Xbox Game Streaming. While games are able to be streamed with no customizations, certain behaviors and small changes will improve the experience for players and help increase the engagement and play time with your title. The guidance below is a collection of best practices from user research, technical details on video streaming, and insights gained from studios partnering closely on streaming all shown to increase playability and enjoyment while using game streaming.

First and foremost, it is simple to test your game in an a streaming environment. See Setting up your Xbox Development Kit for streaming for information on how to setup a Xbox Development Kit and contact your Microsoft Account Representative to gain access to a private cloud environment for your title.

The most basic optimization is checking when the game is running in a streaming environment via a Cloud Aware API call. This provides an easy way to know when to alter behaviors for streaming, though many features and recommendations may benefit players and increase accessibility regardless of streaming.

General

  • When using game streaming, new users want to launch and jump into the game as quickly as possible.

    Streaming sessions are more varied in length and don't always allow for long play sessions. You can use automatic save points that can only be resumed and moved forward when the user is streaming.

Video

  • When using game streaming, adapt your heads up display (HUD) and UI layouts for the screen size.

    Players are able to stream to a wide variety of devices with different form factors, viewing distances, and resolutions. While in game text and UI elements may be readable on a large screen TV, the elements may become difficult to read on smaller devices. The XGameStreamingGetStreamPhysicalDimensions API can help ensure scalable UI elements are large enough for the specific device being streamed to.

    Custom Resolution Overview allows you to take this even further and utilize the full screen of a user's device, many of which do not match the traditional 16:9 resolution of a TV, providing a more immersive and natural experience. This also improves usability for games using native touch.

  • Avoid red text were possible

    Due to video compression formats and the sensitivity of human eyes to the color red, this color is often perceived to be most impacted. Avoiding this color, particular with the harsh borders and fine lines in text, will lessen preceived compression artifacts.

  • Allow for configurable gamma and other video settings

    Players are able to stream to a wide variety of devices with different form factors and screen characteristics. XGameStreamingGetClients can be used to obtain a unique identifier for each device being streamed to; use this identifier to save and restore video settings per device to account for differences in brightness across devices.

  • Reduce Video Latency

    Ensuring your game is compatible with DirectCapture will significantly reduce the video latency for players, creating a more responsive and enjoyable experience. See DirectCapture Overview for more details.

Input

  • Allow users to interact with the game in a way that is natural for their device.

    Players are able to stream to a wide variety of devices with different form factors and input types like mouse & keyboard, touch screens, etc. Where possible support these other modalities. Content Test Application (CTA) Stream Configuration Overview has more information on how test streaming with input types besides a controller.

    For more information about touch controls & native touch, see Getting started with touch.

  • Respond to the most recent input type

    Players are able to resume games and continue playing while streaming across a variety of devices and may not always have a physical controller. In these cases, players expect to be able to seamlessly transition between contoller, touch, and mouse & keyboard input. Games can use a 'last one wins' policy to switch UX and prompts to the preferred input type of players. Where possible do not lock players into an input type or require use of a controller to switch modes to a different input type. See Overview of GameInput for more information on handling different input types.

  • Account for input latency

    Latency is an unavoidable reality in streaming environments. While the platform attempts to minimize latency as much as possible, games can further understand and account for latency when interpreting inputs. See Game streaming latency measurement and Game streaming latency compensation overview for more information on techniques available to reduce the precieved latency by players.

See also

Cloud Aware API calls

XGameStreamingGetStreamPhysicalDimensions

Getting started with touch

DirectCapture Overview

Custom Resolution Overview