Cet article s’applique uniquement à la console XBOX, et non aux autres plateformes, comme le PC.
Fonctionnement en ligne normal
En général, les consoles XBOX fonctionnent dans un état entièrement connecté, dans lequel l’utilisateur dispose d’une connexion Internet stable et d’un accès complet au réseau XBOX (également appelé XBOX Live) et aux services tiers. Cet état connecté permet aux services XBOX de valider périodiquement l’état de la console, de fournir des mises à jour et d’exécuter d’autres services en arrière-plan qui profitent à votre jeu et à vos utilisateurs. Nous vous recommandons de partir du principe que les utilisateurs sont connectés la plupart du temps.Principes du jeu hors ligne
Il arrive qu’aucune connexion en ligne ne soit disponible. Pour le jeu hors ligne, la XBOX est conçue selon les principes suivants :- Avant tout, permettre aux utilisateurs de continuer à jouer malgré les problèmes de connexion.
- Permettre aux utilisateurs de continuer à jouer même s’ils n’ont aucune connexion.
- Rendre le jeu hors ligne simple et prévisible pour les utilisateurs, tout en préservant l’esprit d’une expérience toujours connectée.
Modes hors ligne
Il existe deux grands scénarios de perte de connexion :- Perte complète du service Internet
- Perte d’un ou plusieurs services en ligne
Scénario hors ligne : aucun service Internet au démarrage du jeu
Les jeux peuvent se déclarer comme appartenant à l’un des trois types suivants :- Réseau XBOX requis : tous les modes de jeu nécessitent une connexion Internet.
- XBOX Live Gold requis : tous les modes de jeu nécessitent une connexion Internet et un abonnement XBOX Live Gold.
- Réseau XBOX non requis : le jeu dispose d’au moins un mode de jeu qui ne nécessite pas de connexion Internet. Techniquement, ce type n’est pas déclaré explicitement dans le manifeste de l’application. Une application qui ne se déclare pas comme appartenant à l’un des deux premiers types est considérée comme « réseau XBOX non requis », c’est-à-dire compatible avec le mode hors ligne.
Scénario hors ligne : perte de connexion pendant le jeu
Si un jeu est déjà en cours d’exécution lorsque la connexion est perdue, le titre en est informé par le système. Si le jeu n’utilise pas de services en ligne, poursuivez la session sans interruption. Si le jeu utilise activement des services en ligne, basculez vers un mode où ces services ne sont plus nécessaires ou informez le joueur que la session de jeu se termine en raison de l’état hors ligne. Les titres déclarés « Réseau XBOX requis » ou « XBOX Live Gold requis » sont automatiquement suspendus par le système lorsque la console perd toute connexion réseau pendant un certain temps, et le système affiche automatiquement un message d’erreur à l’utilisateur. Comme pour tout autre scénario impliquant la suspension du jeu, vous devez enregistrer l’état afin que l’utilisateur ne perde pas de données et puisse revenir rapidement à cet état une fois la connexion rétablie.Scénario hors ligne : un service des services XBOX est indisponible
Dans d’autres situations, certains services en ligne peuvent être indisponibles alors que la connexion Internet fonctionne correctement. Par exemple, un service XBOX peut être hors ligne pendant une courte période. Dans ce cas, l’appel à ce service expire ou signale une erreur au jeu. Vous devez gérer correctement les états de service hors ligne, comme vous le feriez sur XBOX 360 ou sous Windows. Au minimum, le jeu ne doit pas planter ni se figer. Si le jeu ne peut pas continuer sans le service, signalez la situation à l’utilisateur et permettez-lui de continuer dans une autre zone du jeu où le service n’est pas requis. Dans le meilleur des cas, poursuivez le jeu et mettez en cache les données à envoyer ultérieurement (si le jeu écrivait dans le service), ou formulez des hypothèses raisonnables sur les données (si le jeu lisait depuis le service).Scénario hors ligne : un service tiers est indisponible
Si votre jeu dépend d’un service en ligne tiers, il doit également résister à une défaillance de ce service. Si le service échoue, votre jeu ne doit pas planter ni se figer. Vous pouvez signaler l’erreur de service à l’utilisateur si le jeu ne peut pas continuer. Idéalement, le jeu doit continuer, ou vous devez permettre à l’utilisateur de continuer dans une zone du jeu qui ne nécessite pas le service en ligne.Scénario hors ligne : votre service cloud est indisponible
La puissance du cloud est l’une des fonctionnalités phares de la XBOX. Certains jeux peuvent dépendre entièrement d’un service toujours connecté, comme Azure PlayFab Multiplayer Servers, qui permet d’accéder à des capacités de calcul supplémentaires ou à des serveurs de jeu toujours disponibles. Ce mode toujours connecté est à la fois autorisé et encouragé lorsqu’il améliore l’expérience des joueurs. Si votre jeu utilise ce mode, nous vous recommandons de le rendre résistant aux interruptions de service (de plusieurs secondes à une minute) dues à une perte totale de la connexion Internet ou à la perte d’un service cloud particulier. Toutefois, le jeu n’est pas tenu de disposer d’un mode hors ligne. Si le jeu a réellement besoin d’une connexion et que celle-ci n’est pas disponible, informez l’utilisateur et mettez fin à la session de jeu.Exigences XBOX
L’exigence la plus importante dans les scénarios hors ligne est la stabilité du jeu. Qu’il s’agisse d’une perte complète de connexion ou simplement de la perte d’un service en ligne spécifique, votre jeu ne doit pas se figer, planter ni faire perdre son état à l’utilisateur. Votre jeu doit disposer d’un système robuste pour gérer les scénarios d’expiration réseau et les erreurs renvoyées par toute API qui accède à un service en ligne. Les jeux ne sont pas tenus de prendre en charge le jeu hors ligne. Si votre jeu ne peut tout simplement pas continuer en raison d’une perte de connexion au service, informez l’utilisateur, mettez fin à la session de jeu et revenez au menu principal ou à l’état interactif initial.Bonnes pratiques
Voici les bonnes pratiques pour gérer les situations hors ligne :- Concevez les jeux en partant du principe que les utilisateurs sont connectés la plupart du temps.
- Si cela est pertinent pour la conception de votre jeu, envisagez de concevoir des modes de jeu qui offrent une expérience agréable à l’utilisateur même lorsque la console est hors ligne.
- Les services peuvent devenir indisponibles. Les connexions peuvent échouer. Mettez en place une gestion des erreurs robuste pour les API susceptibles d’expirer ou de signaler des conditions d’échec lorsqu’un service en ligne est indisponible ou que la connexion Internet est perdue. Dans la mesure du possible, permettez aux utilisateurs de continuer à jouer malgré ces problèmes.
- Respectez les exigences XBOX (XR). Votre jeu ne doit ni se figer ni planter.
- À la réception d’une notification de suspension de titre PLM, enregistrez l’état afin que l’utilisateur ne perde pas de données et puisse revenir rapidement à cet état à la reprise du jeu.
- Signalez correctement votre titre dans le manifeste de l’application. Ne marquez votre titre comme « Réseau XBOX requis » que si tous les modes de jeu nécessitent une connexion.
- Les jeux XBOX sont autorisés à utiliser des services en ligne et à en dépendre dans tous les modes de jeu. Si le jeu ne peut tout simplement pas continuer en raison d’une perte de connexion au service, informez l’utilisateur, mettez fin à la session de jeu et revenez au menu principal ou à l’état interactif initial.
- Ne comptez pas sur le service XBOX Help pour les messages d’erreur et l’aide liés aux états hors ligne. Le service XBOX Help nécessite une connexion aux services XBOX.
