Curieux de savoir comment Google a construit techniquement Stadia, son offre de cloud gaming ? Plongez donc dans la retranscription – en quatre parties – de la présentation « Stadia Streaming Tech: A Deep Dive » qui a eu lieu lors du Google I/O en 2019. Nous continuons notre série avec l’intervention de Khaled Abdel Rahman qui nous explique comment s’est déroulée la R&D (Recherche & Développement) qui a aboutit à l’architecture de Stadia. Bonne lecture.
Khaled Abdel Rahman est chef de produit chez Google depuis environ cinq ans, avec une expérience dans le développement de jeux, et plus récemment, sur le “Project Stream“ qui est devenu ensuite Stadia. Avec tous les différents facteurs qui affectent la jouabilité, l’équipe voulait vraiment comprendre les expériences des joueurs dans une démarche axée sur les données et approfondir la science de tout ceci.
Premiers tests
Les premiers tests ont portés sur une grande variété de conditions pour chacun des facteurs identifiés comme ayant une incidence sur la jouabilité.
Au cours de ces tests, comme mesure subjective de la qualité en matière d’expérience, des techniques acceptées par l’industrie basées sur le MOS, ou Score Moyen d’Opinion, ont été utilisées comme guide pour l’évaluation. Dans la plupart des études effectuées, les joueurs ont joué pendant une séance, courte ou longue, qui a été suivie d’une enquête rapide leur permettant d’évaluer leur expérience sur une échelle allant de 1 à 5. Les participants ont également eu la possibilité de donner un retour d’information libre lorsque le besoin s’en faisait ressentir. Et pour chaque jeu testé, une étude de référence a également été réalisée dans laquelle ont été identifiés les seuils à partir desquels le jeu lui-même était considéré comme bon.
Les études de références ont toujours été réalisées avec les paramètres graphiques les plus élevés possibles et à la fréquence d’images la plus élevée possible. Et dans sa forme la plus basique, l’objectif de l’équipe « Jouabilité » a été d’offrir la meilleure expérience possible mais de le faire dans un navigateur même lorsque la machine locale utilisée pour les tests pouvait être comparée à un PC d’une valeur de 6 000 $.
L’équipe a du ensuite isoler ses recherches sur les facteurs présentant un intérêt pour leur plateforme, tels que les différentes largeurs de bandes disponibles, les différents codecs et les jeux fonctionnant à des fréquences d’images différentes. Et même si chacun de ces facteurs pouvait avoir un impact pondéré différent sur l’expérience globale, ensemble, ils présentaient une corrélation nettement plus élevée. Chacun de ses facteurs a donc dû être expérimenté individuellement, mais aussi dans des conditions où ils interagissaient les uns avec les autres. Et on peut dire que l’équipe « Jouabilité » a fait beaucoup de recherches.
Des outils sur-mesure
Khaled Abdel Rahman et son équipe ont construit des outils sur-mesure qui leur ont permis de simuler une grande variété de conditions de réseau, de tester différents prototypes, différentes techniques d’adaptation de débit, de codecs et d’infrastructures.
Leur approche en matière de tests comporte deux volets. D’un côté, ils ont effectué des tests dans des environnements contrôlés avec des variables appliquées comme l’exemple de ce test pratiqué dans un de leur nombreux laboratoires pour lequel ils ont travaillé avec plus de 1 500 joueurs pour tester des dizaines de milliers de jeux structurés avant même le lancement du Project Stream. L’équipe « Jouabilité » a ensuite envisagé des tests à plus grande échelle en utilisant la vaste communauté de joueurs travaillant au sein de Google.
Elle leur a demandé de jouer sur la plateforme et de l’utiliser comme n’importe quoi d’autre ce qui lui a permis de recueillir des commentaires pertinents sur l’expérience globale à partir d’une variété de terminaux, de conditions de réseau et de lieux différents. Rien que pour Assassin’s Creed, l’équipe « Jouabilité » a pu effectuer des tests A/B sur quelques 24 000 heures de jeu avant même son lancement. C’était de loin une des plus grandes ressources dont pouvait disposer l’équipe qui ne remerciera jamais assez leurs collègues qui ont participé à ces tests pour toute leur aide et leurs commentaires.
Comment améliorer la latence ?
La latence reste le premier mot qui ressort lorsque l’équipe déclare travailler sur de la diffusion de jeux vidéo. Et si vous vous posez la question, oui, Khaled Abdel Rahman et son équipe ont fait beaucoup de recherches sur la latence. Elle avait même des sessions de recherche hebdomadaires constantes sur chaque aspect de la latence, en plus de leurs tests à plus grande échelle afin de réduire au maximum l’impact ressenti.
Car pour comprendre le phénomène de latence, il faut d’abord comprendre son impact sur les différents jeux, genres et mécanismes. Il est important de noter que les différentes mécaniques de jeux ont des exigences de latence différentes, y compris au sein d’un même jeu. Et la même mécanique dans deux titres différents peut avoir des comportements et des exigences radicalement opposés.
D’autre part, la perception de la latence est également étroitement liée au niveau d’expérience du joueur avec un titre particulier. Un joueur occasionnel peut profiter pleinement d’un jeu de sport sans perception de latence significative.
À contrario, un joueur plus expérimenté peut chercher à faire des tirs de précision, des passes extraordinaires et des choses qui ne sont pas possibles à des niveaux de latence élevés ou irrégulières. Pour cela, plusieurs jeux, genres et mécanismes ont donc été testés auprès d’un large public de joueurs occasionnels et expérimentés. Lors de ces sessions, l’équipe «Jouabilité» a commencé à imiter les déficiences du réseau qui affectent le jeu et a demandé aux joueurs d’évaluer l’expérience sans leur dire ce qui était en cours. Et les objectifs de Khaled Abdel Rahman et son équipe ont naturellement commencé à s’aligner sur les mécaniques qui exigeaient la plus grande précision temporelle et spatiale de la part des joueurs les plus habiles. C’est au cours de cette même étude qu’ils ont non seulement compris les détails de l’impact de la latence sur le jeu mais qu’ils ont également défini leur propre fenêtre avec laquelle ils devaient opérer : les valeurs exactes dont ils avaient besoin pour cibler les endroits où ils pouvaient recevoir une entrée, lancer une boucle de jeu, transmettre une image jusqu’à l’utilisateur.
La zone ombrée en vert que vous voyez dans le schéma ci-dessus provient de tests comme ceux-là et a éclairé la décision sur l’adaptation du taux et des comportements d’encodage du Streamer dont nous parlerons dans la troisième partie de notre série.
Comment améliorer la qualité vidéo ?
La qualité vidéo est un autre exemple de pilier sur lequel l’équipe « Jouabilité » s’est penchée. Et bien qu’elle ne soit pas aussi importante que la latence lorsque nous parlons de diffusion de jeux vidéo, elle est aussi directement corrélée avec la qualité globale d’une session de jeu.
Dans le domaine plus général de la vidéo même, il existe également de multiples facteurs qui ont un impact sur la qualité. L’utilisation de différents codecs peut avoir des conséquences sur les médias et sur la qualité, ce qui est bien connu. L’équipe « Jouabilité » a finalement choisi le codec VP9 comme codec principal, ce qui leur a permis d’assurer l’extensibilité ainsi qu’une performance 4K de haute qualité.
Le débit numérique est aussi un élément à prendre en compte. En général, un débit numérique plus élevé signifie une plus grande fidélité visuelle pour la plupart des codecs. Mais en réalité, lors de toute recherche sur le débit numérique, il faut également prendre en compte la taille de l’écran, la résolution, le débit d’images et toute autre variable de l’encodeur. Bien que Khaled Abdel Rahman et son équipe aient examiné des mesures génériques comme le PSNR (rapport signal / bruit maximal) et le SSIM (similitude structurelle), ils étaient plus intéressés par l’impact spécifique pour le joueur. Ainsi ont-ils commencé à se demander quel serait cet impact si ces variables étaient modifiées. Leurs résultats ont été à la fois attendus mais aussi très surprenants parfois.
Par exemple, ils ont, à quelques occasions, obtenus de meilleurs résultats à des débits numériques inférieur avec 30 FPS. Même si cela ne leur signifiait pas de devoir abandonner les 30 FPS lorsque le débit numérique disponible est plus faible, cela les a poussé à explorer cette possibilité et à trouver d’autres solutions, comme le changement dynamique de résolution qui garantirait un jeu fluide à 60 FPS ainsi qu’une haute fidélité durable dans le temps.
Un résultat en terme de qualité vidéo n’implique pas immédiatement un meilleur gameplay, ni une meilleure qualité générale de la session de jeu. Dans l’exemple précédent, la qualité vidéo a beaucoup compté dans l’expérience globale mais la fréquence d’images élevée, le gameplay fluide et la faible latence également. Si la qualité vidéo devait être le seul facteur à examiner, le 24 FPS pourrait s’avérer plus cinématographique et prendre quelques secondes pour la mise en mémoire tampon ne poserait aucun problème.
Conclusion
La principale conclusion de la recherche de l’équipe « Jouabilité » réside dans les fenêtres cibles pour chacune des caractéristiques du jeu vidéo. Certaines de ces variables sont directement proportionnelles tandis que d’autres, comme la qualité vidéo et la latence, sont inversement proportionnelles. Et, collectivement, tous ces facteurs contribuent conjointement à la qualité globale d’une expérience de jeu.
Le véritable défi consiste donc à offrir une expérience dans laquelle chaque facteur reste dans la fenêtre définie. C’est un équilibre délicat qui permet de fournir à un joueur une expérience de jeu excellente certifiée par des données.
La prochaine partie sera consacrée au streaming de Stadia. Si vous ne voulez pas rater cet article, abonnez-vous au blog. Sinon pour continuer cette discussion technique, n’hésitez pas à vous inscrire sur le Discord Stadia Fr si ce n’est pas déjà fait.