Alpha technique PC : blog des développeurs
Bonjour à tous, je m’appelle Ian Norris et je dirige l’équipe d'ingénieurs Windows 10 pour Sea of Thieves. Dans la mise à jour vidéo de la semaine dernière, Ted vous a déjà donné quelques détails sur ce qui vous attend, mais je voulais partager quelques aspects plus techniques avec ceux d’entre vous que ça intéresse.
L’équipe que je dirige s’occupe exclusivement sur la version Windows 10 du jeu. Nous travaillons sur des éléments comme le paramétrage vidéo, les configurations clavier personnalisables, les plantages spécifiques au PC et l’optimisation pour vos superbes machines ! L’équipe PC fait son maximum pour concevoir la meilleure version possible du jeu sous Windows.
Comme nous avons conçu les versions Xbox One et PC en parallèle, tout le travail effectué sur la version Xbox profite aussi à la version PC. Les nouveautés sur Xbox arrivent en même temps sur PC, car le contenu produit est ajouté de manière bilatérale sur les 2 plateformes (et bientôt également sur la Scorpio !).
Si les versions PC et Xbox sont développées en parallèle, vous vous demandez sans doute pourquoi seule la version PC est jouable en alpha, pour l’instant... Je vais vous donner quelques explications :
La stabilité
Il est difficile de développer des versions stables. Sur PC, c’est encore plus difficile. En raison des nombreuses variables, le développement de jeux exploitant au mieux les processeurs multi-cœurs demande beaucoup d’efforts.
Dans un studio comme Rare, pour simplifier le développement, nous avons créé un environnement ''homogène''. Pour cela, la plupart des développeurs ont la même configuration PC ''hardcore'', avec le même processeur, la même carte graphique et la même version de Windows. Cela nous permet de réduire les problèmes qui empêcheraient par exemple notre artiste Bob de travailler mais que notre ingénieur Jenny ne pourrait pas reproduire. (Jenny et Bob sont peut-être leurs vrais noms... Ou peut-être pas, pour protéger leur identité).
Afin de détecter les problèmes de performance, l'équipe PC a un peu plus de matériel que la plupart des employés du studio. Nos ordinateurs principaux sont les mêmes que ceux de tous nos collègues, mais nous avons d'autres PC pour le test, par exemple des machines plus anciennes ou des portables. Nous avons commandé des ordinateurs correspondant aussi à des configurations courantes. Nous les utilisons pour procéder à des tests manuels, dans notre labo de compatibilité. En outre, pour les tests, nous travaillons aussi avec SHIELD labs, une autre entité de Microsoft. Ted vous en a parlé la semaine dernière. Grâce à ce labo, nous avons identifié et résolu plusieurs problèmes qui auraient autrement énervé nos joueurs les plus assidus et importants.
Quelques joueurs de l’alpha technique nous ont signalé qu’ils ne parvenaient pas du tout à lancer le jeu. Ces prochaines semaines, nous allons nous pencher sur ce problème en priorité, afin que tous les participants à cette phase puissent jouer avec nous !
La performance
Je suis comme tous les joueurs sur PC : rien ne m’énerve plus qu'un jeu mal optimisé. Tout le monde veut que les capacités de sa machine soient bien utilisées. On s'attend à de beaux graphismes, avec une fréquence d'images qui tienne la route.
Nous ne sommes pas en mesure de vous promettre une expérience complètement fluide lors de la phase initiale des alphas techniques sur PC, car nous avons encore beaucoup à faire. C’est justement pour cela que votre avis sur le jeu nous est si précieux. Il est difficile de décider quand on a atteint le point ''satisfaisant'' surtout parce que toutes les améliorations de performance auxquelles nous procédons abaissent potentiellement encore un peu la configuration minimale, permettant à chaque fois à un grand nombre de joueurs supplémentaires de profiter du jeu.
C’est l’une des principales raisons pour lesquelles nous n’avons pas encore donné d’informations sur la configuration minimale : nous ne la connaissons pas encore ! Nous pensons être parvenus à un niveau raisonnable. Cependant, l’alpha technique, grâce à notre fonctionnalité d’auto-détection, nous permet de vérifier à quel point nous nous en approchons, et si nous pouvons encore la diminuer. Nous allons procéder à de nouveaux ajustements qui nous permettront peut-être d’aller encore plus bas. Un PC qui n’aurait que la configuration minimale aujourd'hui pourrait avoir une configuration moyenne demain. Notre mantra, c’est simplement : ''jusqu’où pouvons-nous descendre ?''
Il est essentiel pour nous de bien calibrer notre code d’auto-détection. La plupart des joueurs PC n’ouvriront même pas l’écran de paramétrage vidéo et c’est pour eux qu’il faut absolument que le logiciel prenne automatiquement la bonne décision.
Pour commencer, nous ne dirons pas aux joueurs dans quelle catégorie nous les mettons. Il y a deux raisons à cela. D'abord, la plupart d’entre eux s’en moquent, tant que le jeu est optimisé. Quant à ceux que cela intéresse, ils n'aimeront sûrement pas découvrir que leur machine correspond à la configuration minimale ! Quand nous serons satisfaits de notre programme de détection, les joueurs verront s'afficher leurs paramètres détectés automatiquement sur l’écran des options vidéo, une fois celui-ci activé, lors d’une future mise à jour.
Comment savons-nous si cela fonctionne ? Grâce à la télémétrie ! Cette méthode nous permet de mesurer comment les joueurs utilisent le logiciel. L’outil nous transmet aussi leur fréquence d'images et leurs paramètres vidéo. En compilant toutes ces données, nous voyons si les joueurs ont bien la fréquence d'images correspondant à leur configuration matérielle.
Nous avons ouvert l’alpha technique 1 avec un problème de performance connu, sans en connaître la cause profonde. Cela ne nous a pas empêchés d'utiliser les données de détection automatique collectées, car la plupart du temps, nous pouvons identifier le moment où survient le problème. Mais nous avons également pensé que vos retours pourraient nous aider à remonter jusqu’à lui !
C’est l’occasion ''Rare'' de vous montrer comment on répare un vrai problème de performance !
La première étape a débuté avec la détection du problème par notre équipe de test. Cela se traduit généralement par la création d'un bug envoyé au chef d’équipe, moi en l’occurrence. Voici le rapport de bug en question :
Bien entendu, nous prenons très au sérieux les problèmes de performance, alors nous avons attribué le niveau de gravité ''critique'' à ce bug. Le test continuait son analyse du problème, en essayant de trouver des informations supplémentaires dans l’espoir d’aider l’équipe d’ingénierie à le réparer. Dans ce cas précis, nous avons découvert qu'un PC particulier parvenait très bien à ''reproduire'' le problème, sur une configuration pourtant assez commune !
Nous avons donc demandé à l’équipe de test de reproduire le problème en ma présence. J'ai alors utilisé un outil appelé ''xperf'' pour recueillir davantage d'informations. Malheureusement, cet outil génère une énorme quantité de données, alors il peut être très difficile et très long de remonter à la source d’un dysfonctionnement.
En fonction de la personne ou du problème, nous utilisons différents outils pour identifier les problèmes de performance. Dans le cas précis de ce bug, mon arme préférée s'appelait ''Media Experience Analyzer''. Voici à quoi ressemble mon écran quand j’utilise cet outil (en plus de quelques autres) :
Grâce à cette analyse (sur plusieurs semaines), nous avons identifié 3 problèmes spécifiques, qui provoquaient de très longues pauses. L’étape suivante consiste à vérifier que nos corrections fonctionnent sur toutes les machines, qu’elles ne cassent pas la version Xbox et qu’elles ne provoquent pas d'autres problèmes ! Si notre service Test est d'accord, nous pouvons alors ''fermer'' le bug. Bien entendu, l’ultime étape est de permettre aux participants à notre alpha technique d’essayer à nouveau le jeu !
Les fonctionnalités PC
Vous ne serez peut-être pas surpris si je vous dis que le travail mentionné ci-dessus est complexe, mais n’ayez crainte : ces corrections et d'autres nouveautés arrivent sur PC, et nous travaillons actuellement d'arrache-pied pour lancer notre deuxième alpha technique sur Windows 10 !
Nous avons été un peu pris de court par la demande d’une fonctionnalité de chat avec un bouton. C’était un élément que nous avions prévu d'ajouter plus tard, après une multitude d'autres fonctionnalités. Cependant, le nombre de demandes qui remontaient des forums nous ont poussé à l’avancer dans notre feuille de route et nous allons essayer de l'intégrer avant notre prochaine alpha technique.
Nous savons que nos joueurs PC attendent avec impatience de voir notre interface de paramètres vidéo. La création d’interfaces utilisateur représente beaucoup de travail et nous voulions nous assurer que tout soit fonctionnel dès le début. Pour des jeux comme Sea of Thieves, il est difficile de créer des interfaces aisément navigables. Nous avons analysé des centaines d’écrans d’options d'autres jeux, et nous les avons combinés dans ce qui est pour nous le meilleur écran de paramétrage à ce jour !
Nous sommes très impatients de vous voir vous approprier ces nouveaux joujoux, surtout quand nous aurons décidé que c’est le moment d’inviter davantage de joueurs à notre alpha technique Windows 10, bientôt...
Merci d'avoir lu jusqu’ici !
Ian, ingénieur logiciel senior
