One of the new and innovative features of NVIDIA SHIELD™ family is the ability to stream games. Games can be streamed wirelessly from your GeForce® GTX-powered PC or across the internet using the GRID™ Game Service.
This document highlights some of the tips and tricks game developers can use to ensure a flawless streaming experience for the gamer, in approximate order of importance:
NVIDIA SHIELD is a portable Android gaming and entertainment device built around a console-grade game controller, so it is crucial that your game works completely with controllers, and all interaction with the controller should be through the XInput API.
Many games support controllers for gameplay, but you should keep the following issues in mind to ensure a flawless streaming experience:
PC to SHIELD streaming relies on GeForce Experience on your PC to control and manage the streaming, including setting streaming-optimal settings for your game to provide an optimal quality and low latency experience when streamed to SHIELD. For this reason, it is critical that your game support GeForce Experience in modifying the settings for your game, such as resolution, other graphics settings, and input settings.
This can be done by either providing a straightforward plaintext settings file that GeForce Experience can modify or by using our upcoming GFE API for developers.
Please refer to the GeForce Experience Settings API for more details.
SHIELD is a mobile device that has a smaller screen than your average desktop or laptop. SHIELD devices can also connect to a HDTV. Excessively tiny text or on-screen elements may be difficult to read on both small screens (5 to 8 inches) and big HDTV (10ft viewing distance), so including options to scale these up where they are critical to gameplay would be useful.
When streaming, there are certain situations where the game needs to be paused on the PC - for example, when the user hits the Android home button, or closes the lid of the device. The game should include an API to pause the game so the user can pick up right where they left off.
If your game interoperates flawlessly with GeForce Experience, it will launch from the SHIELD device and start streaming optimally. However the user can still potentially go into the in-game menu settings from a SHIELD device and change settings so the game is no longer playable via streaming. Examples of this include disabling the controller input or changing the video setting. For this reason, we recommend including a “Streaming mode” (accessible by a command-line parameter, say “-streaming”, or an API you define) which prevents the user from modifying certain settings that can disable the streaming experience, such as controller input and graphics settings. Additionally, a “Streaming mode” is also a good place to include other streaming-friendly features to allow disabling of start-up launchers and options dialogs.