Cyberpunk 2077 : Analyse d'un échec de l'agilité
Le 10 décembre dernier est sorti l’un des jeux les plus attendus de l’année : Cyberpunk 2077.
Personnellement, je prends beaucoup de plaisir à y jouer, mais ce n’est pas le cas pour tout le monde.
Avec un regard extérieur de professionnel de l’IT, je vous propose de voir aujourd’hui les "loupés" qu’il y a eu, d’après moi dans ce projet, et comment certaines erreurs auraient pues être évitées. Cet article n’a pas pour but de parler du jeu en lui-même, mais plutôt de l’aspect organisationnel et technique.
Un peu de contexte
Le studio
Cyberpunk est développé par CD Projeckt Red, un studio polonais assez petit (à l’échelle des titans de l’industrie actuelle). C’est une entreprise d’environ 800 personnes (d’après leur site internet). C’est le studio à l’origine de la franchise The Witcher maintes fois acclamée par la critique, et même adaptée dernièrement en série par Netflix.
C’est aussi la plateforme GOG.com, rachetée il y a quelques années permettant de vendre des jeux de studios indépendants. GOG s’illustre par son modèle promouvant le fait de vendre des jeux sans DRM (protection contre la copie) qui peuvent parfois poser des soucis.
C’est une entreprise qui travaillait historiquement sur une seule licence : The Witcher.
Le jeu
Le développement du jeu aurait commencé en 2012, d’après un communiqué de presse de l’époque. Le premier teaser arrivant en 2013 en ne précisant pas de date de sortie.
Développé beaucoup en fond, peu d’informations sont publiées au fil des années, on commence à entendre parler de nouveau du jeu à l’E3 de 2018 (la grand-messe des jeux vidéos). Une première vidéo offrant une vue globale du jeu est alors présentée.
Initialement prévue pour le 16 avril 2020, la sortie sera repoussée 3 fois : d’abord pour le 17 septembre 2020, puis le 27 octobre 2020, pour finalement sortir le 10 décembre 2020.
Le développement du jeu aurait coûté environ 270 millions d’euros, l’un des plus chers de l’industrie du jeu vidéo, d’un ordre de grandeur similaire à GTA V par exemple.
Toutefois, sa sortie a été assez catastrophique pour l’image du studio : le jeu semble mal fini, on sent que certains éléments ont été "baclés". Pire, le jeu est injouable sur les consoles PS4 et Xbox One, qui étaient pourtant les consoles existantes au début du développement. Le jeu est ponctué d’énormément de bugs plus ou moins bloquants.
De même, le jeu ne ressemble plus vraiment aux trailers présentés plus tôt, il apparaît beaucoup plus rigide, le joueur ayant bien moins de liberté qu’annoncé, notamment sur la partie personnalisation du personnage.
Cela a eu plusieurs impacts :
- Retrait du jeu des stores en ligne
- Campagne de remboursement massive
- Énorme impact sur l’image de l’entreprise
- Impact sur la valorisation boursière de l’entreprise
Bien que l’entreprise ait communiqué massivement sur ses erreurs, l’impact sera sans doute durable.
L’agilité, connait pas !
Je ne vais pas présenter ici tous les concepts de l’agilité, mais plutôt parler d’un des objectifs de base : rapprocher le métier et les développeurs pour que chacun puisse prendre en compte les contraintes et besoins de chacun.
Ce qui transparaît clairement dans l’histoire même du développement de ce jeu est la désynchronisation totale des deux parties. Les reports successifs en sont l’exemple type, cela met en exergue le fait que le business n’est pas conscient de la charge de travail restante ou que celle-ci a été grandement sous-estimée.
Dans le premier cas, cela montre que la démarche adoptée n’est pas cohérente pour sortir un produit fini, dans le second cas, cela peut venir d’un manque d’encadrement.
Dans un monde agile/DevOps, mesurer est primordial. Normalement, nous sommes capables d’estimer à peu près la vélocité que l’on peut atteindre dans un sprint, même si des erreurs peuvent arriver.
« We ignored the signals about the need for additional time to refine the game on the base last-gen consoles. It was the wrong approach and against our business philosophy. »
Pourtant, on peut voir dans les communiqués officiels que des alarmes ont été levées quant au fait que les développeurs avaient besoin de plus de temps pour sortir un produit fini.
Même si on peut aisément comprendre la date "butoir" du 10 décembre (2 semaines avant Noël), il est dommage que cela soit une deadline si forte que l’on ignore tous les signaux qui indiquent qu’on fonce dans le mur.
L’importance des tests
Sortir un jeu sur 4 consoles simultanément et sur ordinateur, ainsi que sur les plateformes de jeu en streaming n’est pas si simple qu’il y paraît :
- Multiples spécifications techniques
- Spécificité des SDK de chaque console
- Architectures processeurs différentes
CD Projekt Red a admis qu’ils n’ont pas assez testé leur jeu sur les consoles et se sont focalisés sur le PC.
Le souci, c’est que même sur PC, certains bugs et anomalies sont très compliqués à comprendre, on pourrait citer :
- Le non-support des procédures SMT sur les processeurs AMD : juste incompréhensible que les tests soient concluants, pour avoir testé sur la config que nous avons à la maison (AMD Ryzen 1600 + Nvidia GTX 1070), nous avons eu un gain de 40 % de performances supplémentaires (environ 20 FPS) ! (Ce point a été corrigé depuis la version 1.05)
- La configuration QWERTY par défaut et la non-ergonomie des commandes en général
- Les éléments du décor qui flottent dans les airs (les téléphones par exemple)…
- Les "Lorem ipsum" qui trainent sur certaines langues, ces placeholders sont normalement utilisés pendant le développement pour simuler un remplissage de texte
- Des bugs avec les sous-titres qui restent affichés en permanence à l’écran ou des tooltip d’objets
- Les véhicules qui apparaissent sous la map
Et je pourrais encore continuer la liste longtemps… Sachant qu’il ne s’agît la que des bugs que j’ai pu constater de mon côté avec un PC récent !
Et la sécurité dans tout ça ?
Cyberpunk se lance via un launcher, qui fort heureusement peut être ignoré quand on l’a, comme moi, sur Steam. Le souci c’est que ce launcher est (comme beaucoup de launcher) une énorme faille de sécurité, permettant d’exécuter facilement du code arbitraire en cas de compromission…
Au niveau du hacking, on est difficulté "script kiddie" là…
Mais bon, vu qu’on n’a pas d’approche DevOps, je ne vais pas demander du DevSecOps !
Ce qui aurait pu limiter ce désastre
Je sais qu’il est facile de critiquer après les faits, toutefois, je voudrais apporter quelques points qui auraient peut-être permis de limiter ce désastre.
Se limiter à une sortie sur PC dans un premier temps
C’est la stratégie utilisée par Rockstar pour ses jeux, sortir d’abord sur console, puis quelques mois plus tard sur PC.
Cela permet d’avoir plusieurs gains :
- Les bugs sont localisés sur moins de plateformes
- Cela permet de focaliser son développement et ses tests sur moins de plateformes
- Cela permet de vendre potentiellement plusieurs le même jeu vu que des joueurs ne sont pas forcément prêts à patienter plusieurs mois
CD Projekt Red est un petit studio, se disperser sur autant de plateformes en parallèle est risqué.
Ne pas vendre le jeu parfait sur tous les aspects
Le jeu a clairement été survendu, annoncé à plusieurs reprises comme "complètement jouable, mais devant être peaufiné", on retrouve l’aspect de désynchronisation entre le business et les développeurs, où l’on vend d’abord des choses et on regarde ensuite comment les développer.
Pour le coup, c’est quelque chose que j’ai souvent connu dans l’IT (malheureusement), où l’on promet des choses à un client, mais à aucun moment :
- On a sollicité l’IT pour une estimation réaliste des délais
- On s’est demandé si c’était techniquement faisable sans coûter plus cher que ça ne rapporte à l’entreprise.
Le souci est que le jeu a été vendu sur trop d’aspects en même temps qui me paraissent difficilement faisables pour une entreprise de cette dimension.
Sortir le jeu en "early access" ou "closed beta"
Méthode utilisée de plus en plus en souvent, il aurait été possible de sortir le jeu en "early access", c’est à dire, en le sortant "tel quel", mais en itérant rapidement. Les joueurs sont plus compréhensif sur des jeux qui rencontrent des soucis en early access qu’une version finale, et cela permet d’avoir bien plus de retours.
De même une bêta fermée avec un nombre limité d’utilisateurs aurait sans doute permis de lever pas mal de soucis (surtout si on prend bien des configurations de jeu distinctes)
Tout n’est pas noir
Pour finir ce billet, je conclurais en disant que tout n’est pas noir.
Sur PC, le jeu est complètement jouable, j’ai pour ma part pas mal d’heures de jeu dessus. Graphiquement, c’est aussi une réussite, avec un univers qui lui est propre, la direction artistique a fait un travail impressionnant.
De même, au niveau de l’écriture, on sent que certains personnages sont assez travaillés et ont de la profondeur. Je salue aussi les efforts du studio de mettre beaucoup de femmes comme personnages centraux dans leur jeu !
The Witcher était aussi truffé de bug à sa sortie, mais est maintenant considéré comme l’un des meilleurs jeux de la décennie, nul doute que le tir va être corrigé sur ce jeu, d’autant plus que le studio a déjà livré ses premières salves de correctifs.
Toutefois, je noterais aussi que le fait de sortir des jeux "mal finis" sous prétexte qu’on peut les patcher ensuite devient une norme dans le jeu vidéo, faisant subir au client le fait d’avoir un produit instable. Pour le coup, aujourd’hui, de nombreux studios sont dans le même cas (coucou Assassin’s Creed et ses bugs bloquants qui ont été corrigés un mois après sa sortie).
Comments ()