Documentation Steamworks
Préparer son jeu pour Steam Deck
Si, fondamentalement, Steam Deck est un ordinateur, son nouveau format engendre de nouvelles attentes de la part de la clientèle. Outre les critères à respecter lors du processus de vérification de compatibilité avec Steam Deck, nous vous présentons ici des conseils supplémentaires.

Aucune des recommandations se trouvant sur cette page n'influence le groupe de compatibilité dans lequel votre jeu est classé. Toutes les recommandations que nous faisons ici ont pour but de répondre aux attentes du public en ce qui concerne les entrées, l'affichage, les performances ainsi que l'autonomie de la batterie, en les améliorant. Elles vous permettent également de tirer le meilleur parti des nouvelles fonctionnalités introduites avec Steam Deck.

Si les avantages apportés par l'application de ces conseils profitent essentiellement aux utilisateurs et utilisatrices de Steam Deck, ils profitent également à toute personne jouant sur ordinateur, notamment celles qui utilisent uniquement un contrôleur ou ne jouent que dans leur salon.
SDK Steamworks : de nombreuses API recommandées sur cette page ont été intégrées dans la version 1.52 du SDK Steamworks, publiée le 14 septembre 2021.

Entrées

  • Configuration par défaut du contrôleur : nous vous recommandons vivement de proposer une configuration par défaut qui permette d'accéder à toutes les fonctionnalités en jeu (ce paramètre est d'ailleurs requis pour recevoir l'étiquette Compatible). Si votre jeu ne prend pas en charge les contrôleurs en mode natif, nous vous conseillons de créer une configuration de contrôleur afin d'associer les entrées clavier et souris respectives. Mieux encore, si vous intégrez la prise en charge de manettes ou de Steam Input, votre jeu deviendra accessible à un tout nouveau public.
  • Champs de texte : nous vous conseillons vivement d'afficher automatiquement un clavier virtuel lorsqu'il faut saisir du texte en jeu (ce paramètre est d'ailleurs requis pour recevoir l'étiquette Compatible). Pour ce faire, vous pouvez utiliser l'une des deux API du SDK Steamworks, selon l'utilisation que vous souhaitez privilégier : ShowFloatingGamepadTextInput (envoie directement les entrées des touches) ou ShowGamepadTextInput (utilise les rappels).
  • Trackpad et gyroscope : les jeux qui prennent en charge les mouvements de caméra de type souris (mouvements linéaires) et de type joystick devraient les prendre en charge simultanément et de manière homogène. Nous vous recommandons d'autoriser la manipulation de la caméra avec les entrées souris, comme ce serait le cas normalement, sans que cela entrave l'utilisation simultanée d'un contrôleur. Le mode clavier/souris ne devrait être activé que si un clic de souris est envoyé. Parmi les problèmes les plus courants, citons les suivants : les entrées du joystick sont bloquées lorsque la souris est utilisée pour manipuler la caméra (et inversement) ; les boutons du contrôleur ne fonctionnent plus lorsque la souris est utilisée pour manipuler la caméra ; les icônes des boutons à l'écran alternent entre le contrôleur et le clavier ou la souris. Ce genre de problèmes rend l'utilisation d'une configuration personnalisée difficile. (Remarque : cette fonctionnalité est définie automatiquement lorsque vous utilisez l'API Steam Input.)

Graphismes

  • API Vulkan : nous vous recommandons de choisir Vulkan comme API graphique principale pour améliorer les performances et l'autonomie de Steam Deck. Si vous utilisez un moteur tel que Unity ou Unreal, vous offrirez à vos fans de meilleures performances et une meilleure autonomie en activant Vulkan dans votre build. (Remarque : Proton inclut une couche de compatibilité DirectX vers Vulkan. Si votre jeu ou votre moteur de jeu prend parfaitement en charge DirectX, mais pas Vulkan, il est probable que les performances seront meilleures si vous utilisez cette couche de compatibilité automatique plutôt qu'une implémentation personnalisée de Vulkan.)
  • Codecs audios et vidéos : nous vous recommandons d'utiliser des codecs autonomes (par exemple, VP9 ou AV1) plutôt que des codecs associés à une marque spécifique (par exemple, WMF).

Fonctionnalités du jeu

  • Sauvegardes dans le cloud : pour les jeux où les sauvegardes sont autorisées, nous vous conseillons d'activer la sauvegarde automatique des parties dans le cloud. Ainsi, il est possible de sauvegarder sa partie sur Steam Deck, puis de la reprendre sur un autre ordinateur, et inversement, sans devoir transférer manuellement les fichiers. Cela signifie que les jeux devraient fournir la possibilité de faire des sauvegardes sur le cloud, que ce soit via Steam Cloud ou un service automatique tiers (par exemple, sur un serveur au moyen d'un compte créé pour un jeu ou une équipe d'édition). Nous vous conseillons vivement d'utiliser Steam Cloud pour les transferts automatiques. Nous déconseillons de synchroniser les paramètres de configuration du jeu, comme la définition d'affichage, entre deux appareils.
  • Mode hors ligne : nous recommandons fortement de rendre le contenu jouable en solo accessible sans connexion à Internet. Vous pouvez tester votre jeu sans aucune connexion, y compris lors d'un premier lancement sur un nouveau compte Steam. Cette fonctionnalité est particulièrement importante pour Steam Deck, car le public pourrait moins facilement avoir accès à une connexion réseau qu'avec un ordinateur de jeu traditionnel.
  • Lanceurs : nous vous conseillons d'intégrer à votre client de jeu toutes les fonctionnalités nécessaires plutôt que de proposer un lanceur à parcourir avant de démarrer votre jeu. Les lanceurs utilisent généralement une infrastructure spécifique à une plateforme (par exemple, .NET/WPF) qui pourrait dégrader l'expérience des personnes qui utilisent un contrôleur pour parcourir un petit écran. Si une interface de lanceur native est nécessaire, vous pouvez utiliser l'API SetGameLauncherMode pour traduire automatiquement les entrées du contrôleur en des évènements clavier/souris afin d'aider l'utilisateur ou l'utilisatrice.