Auteur du message original en russe: HotWaterMusicL'histoire de gamedev dans le monde connaît de nombreux bugs curieux auxquels les développeurs
ont dû s'attaquer . En fait, à en juger par l'histoire que le CTO de Media Molecule Alex Evans a
partagé sur sa page Twitter le week-end dernier, de nombreuses légendes attendent toujours d'être entendues. Evans est célèbre pour
son rôle dans une performance démoscène de la fin des années 1990 et son travail sur la série de jeux LittleBigPlanet et sur Rag Doll Kung Fu.
Le cas auquel je fais référence dans cet article a eu lieu il y a dix ans, en 2008. En travaillant sur la première partie de
LittleBigPlanet - un jeu vidéo de plateforme de puzzle original qui devait être publié exclusivement pour PlayStation 3 - les développeurs de la société sont tombés sur bug difficile à attraper.
Normalement, pour qu'un jeu obtienne le feu vert pour les consoles, il doit passer un processus de certification, c'est-à-dire répondre à un ensemble d'exigences prédéfinies par le propriétaire de la plateforme. La certification peut également inclure des exigences plus spécifiques, telles que le bon fonctionnement du jeu sans se bloquer pendant 24 heures.
Le développement de LittleBigPlanet était à sa dernière étape, avec seulement deux semaines pour le déploiement final et la distribution. Tout à coup, un testeur de la société QA au Japon a signalé que le jeu plantait régulièrement lorsqu'il était laissé pendant la nuit. Maintenant, la version était évidemment hors de question à moins que le bogue ne soit corrigé.
Le temps a passé, mais l'équipe n'a pas réussi à reproduire le bogue. Il leur a fallu plusieurs jours pour s'assurer que les SDK des développeurs et des testeurs étaient identiques, c'est-à-dire qu'ils fonctionnaient avec du matériel similaire, la même version du système d'exploitation et une configuration d'environnement identique. En raison du décalage du fuseau horaire, chaque tentative de réplication du bogue a pris plus de 24 heures, ce qui n'a pas aidé à relâcher la pression.
Après une enquête plus approfondie, les développeurs ont découvert que le SDK du testeur comprenait un
appareil photo numérique EveToy qui enregistrait l'audio, bien que cette découverte elle-même ne serve à rien. Enfin, quelqu'un a remarqué un schéma amusant: chaque crash s'est produit exactement au même moment - 4 heures du matin. Mais que pouvait-il se passer au Japon à 4 heures du matin?
La réponse est venue inattendue: ce sont les femmes de ménage qui ont assidûment assumé leurs tâches. Le jeu avait un chat vocal intégré avec les lèvres des personnages du jeu synchronisé avec toute conversation que les joueurs pouvaient faire en mode multi-joueurs. Pendant que les nettoyeurs faisaient leur travail, un aspirateur travaillait à côté de la caméra d'enregistrement sonore EyeToy. La compression de l'audio du chat a généré une fuite de plusieurs octets de mémoire, ce qui
ne se produisait curieusement
que lors de l'enregistrement du bruit blanc. Il a donc fallu une heure d'aspirateur pour garantir un autre crash.
Il n'est donc pas étonnant que lorsque Media Molecule a essayé de reproduire ce bogue dans leur bureau à l'aide d'une radio à l'écoute du bruit blanc, ils aient réussi du premier coup. En conséquence, il a fallu aux développeurs environ cinq minutes pour corriger ce bogue, bien que sa mémoire ait persisté même dix ans plus tard.