Depuis le lancement de Stadia en novembre 2019, les ingénieurs de Google concrétisent une vision qui consiste à permettre aux joueurs de profiter de leurs jeux sur pratiquement tous les écrans. Mais qu’en est-il des développeurs ?
Cet article est une traduction libre du billet de blog « Jouez et développez de n’importe où avec Stadia » publié par Yadhav Balakrishnan, Bryan Coutch et Anton Markov, développeurs logiciel senior.
Jusqu’à récemment, le cœur de la boucle de développement se limitait au client de tests, une interface Web similaire à stadia.com que les développeurs utilisent pour diffuser le jeu qu’ils développent sur leur poste de travail. Ce client de tests est plus qu’un simple écran de streaming ; il contient également plusieurs outils qui permettent aux développeurs de comprendre comment leur jeu réagira à des conditions changeantes, tel qu’un utilisateur qui passe à un écran aux capacités différentes, ou qui branche une manette de jeu différente, ou même lorsque les conditions du réseau changent.
Il existe des situations où il est préférable de tester comme si on était un joueur, en conditions réelles en quelque sorte. Il s’agit par exemple de déboguer un crash de jeu qui ne se reproduit que dans certaines conditions particulières, d’évaluer l’utilisabilité du jeu sur différentes tailles d’écran ou de déboguer les interactions du jeu avec les superpositions de la plateforme, comme le déblocage d’un succès ou la réalisation d’achats en jeu. Les développeurs ont toujours été en mesure de publier des jeux en interne et d’y jouer sur les différentes interfaces de joueurs (telles que Chromecast, Google TV, mobile et stadia.com). Malheureusement, ce processus exige que les développeurs téléchargent une version complète de leur jeu, ce qui n’est pas pratique lorsqu’il s’agit d’itérer rapidement sur le code ou les ressources.
Les équipes de Stadia voulaient donc atteindre un point où les développeurs auraient la possibilité de rapidement tester leur code en conditions réelles tout en fournissant les outils de débogage du client de tests. Les développeurs devraient pouvoir utiliser leurs outils habituels, y compris Microsoft Visual Studio, pour lancer un jeu sur n’importe quelle interface.
Mais permettre cela a nécessité une refonte fondamentale du flux de lancement des jeux sur Stadia. Le remplacement des services qui prennent en charge le parcours le plus critique de l’utilisateur de Stadia pourrait faire l’objet d’un billet de blog à lui tout seul, mais nous allons nous concentrer sur les changements clés :
1) Découpler la configuration du lancement du jeu du lancement effectif du flux
Le nouveau système, qui a été baptisé en interne « Launch Anywhere », permet aux outils des développeurs d’initialiser le lancement d’un jeu et leur permet de commencer le streaming sur n’importe quelle interface où le développeur est connecté.
Par exemple, un développeur apporte un changement de code à son jeu. Pour tester cette modification, il lance le jeu à partir de Microsoft Visual Studio avec l’option « All player endpoints ». Il se trouve que Stadia est ouvert à la fois sur son Chromecast et sur son appareil mobile, de sorte qu’une notification apparaît sur ces deux interfaces de jeu indiquant qu’un lancement de tests est en cours. Le développeur utilise son Chromecast pour diffuser le jeu où il est maintenant en mesure de valider l’expérience de jeu.
Cela présente un certain nombre d’avantages :
- Les interfaces en conditions réelles n’ont pas besoin de connaître les nombreuses options de lancement configurables dont disposent les développeurs. Cela inclut le nom binaire, les paramètres, les variables d’environnement, les ressources, la configuration d’outils supplémentaires, etc.
- Les outils de développement n’ont pas besoin de connaître les différents appareils et la façon de communiquer avec chacun d’eux. Par exemple, les développeurs peuvent lancer un jeu sur n’importe quelle interface avec un débogueur attaché.
- La configuration du lancement de jeu actuel est disponible pour les autres outils de développement utilisés pour surveiller les sessions de jeu. Ce sujet sera abordé dans la prochaine section de cet article.
Cela permet d’ajouter de nouveaux outils de développement et de nouvelles interfaces de tests sans modifier les outils et les clients existants.
2) Permettre aux développeurs d’utiliser des outils pour surveiller et contrôler le jeu, quel que soit l’écran
Toutes les interfaces ne disposent pas des mêmes outils axés sur le développement que les clients de tests. Il était donc important de permettre aux développeurs de surveiller et de contrôler le jeu indépendamment des tests qu’ils réalisent. À cette fin, un nouvel outil appelé Test Hub a été introduit, un portail Web conçu pour surveiller et contrôler les sessions des développeurs indépendamment de là où ils réalisent les tests.
Test Hub met tous les détails du jeu à la portée du développeur, y compris les détails sur la session de jeu, un retour d’information amélioré lorsqu’un jeu se termine de manière inattendue, un contrôle des performances en temps réel et des calculateurs pour aider à vérifier que le jeu répond aux exigences de la plate-forme. Cette analyse se fait automatiquement dans le cloud, sans qu’il soit nécessaire d’utiliser un logiciel spécialisé sur le poste de travail.
Les outils de contrôle sont déjà disponibles pour les développeurs sur Stadia afin de s’assurer que le jeu répondra aux exigences techniques de Stadia lorsqu’il sera soumis à la certification. Google travaille actuellement à l’extension de Test Hub afin d’inclure un grand nombre des outils pour développeurs que l’on trouve dans le client de tests, tels que l’émulation de réseau, le forçage du rendu 4K, la simulation de différentes manettes et le débogage graphique. Un prochain article de blog sera d’ailleurs entièrement consacré à Test Hub.
Launch Anywhere et Test Hub concrétisent une partie d’une vision audacieuse du développement dans le cloud. Chaque écran est désormais un kit de développement, et non plus une configuration distincte qui n’est testée que lors de la préparation de la certification. Les ingénieurs de Stadia ont fait en sorte que les développeurs puissent plus facilement développer et certifier leurs jeux dans les mêmes conditions que les joueurs, améliorant ainsi la qualité de l’expérience et facilitant l’introduction de contenu sur la plate-forme.