Street Fighter II, The World Warrior (2021)
(fabiensanglard.net)- L’article raconte l’anecdote selon laquelle le sous-titre de Street Fighter II, jeu d’arcade, comportait une faute de frappe, « World Warrier », jusqu’à juste avant la sortie
- Le graphiste Akiman, incapable de corriger le problème car la GFX ROM était déjà gravée, a ajusté la combinaison des sprites pour faire paraître le « e » comme un « o »
- Il a réutilisé une partie des tuiles de « World » pour remplacer « ier », mais cela a créé un nouveau problème, « The World Warrlor »
- Il a ensuite utilisé la tuile du mollet de Guile (0x96) pour découper au pixel près le haut du « l » afin de le faire ressembler à un « i » dans un correctif temporaire
- Ce correctif a ensuite été officiellement remplacé dans des versions ultérieures, illustrant la précision technique et la résolution créative de problèmes dans le développement de jeux
Détection de la faute de frappe et début de la correction
- Il a été découvert trois jours avant la sortie que le sous-titre de Street Fighter II, « World Warrior », était incorrectement affiché comme « World Warrier »
- Akiman se souvient avoir « découvert une erreur terrible » et explique qu’il était déjà impossible de corriger le problème car la GFX ROM était gravée
- La GFX ROM stockait les données graphiques, tandis que la ROM 68000 stockait les instructions, et la ROM graphique n’était plus modifiable
- Akiman a tenté de superposer des sprites pour faire paraître le « e » comme un « o », mettant en place une correction visuelle
Solution temporaire par remplacement de tuiles
- Le logo était composé de 16 tuiles (
0xC8~0xDF), et Akiman a retiré les trois dernières tuiles (0xDD~0xDF) pour les remplacer par0xCD,0xCE - Cela a transformé « World Warrier » en « World Warrlor », mais le problème du « l » qui ne ressemblait pas à un « i » demeurait
- Comme le CPU 68000 ne pouvait pas modifier directement les tuiles, un ajustement au pixel près était nécessaire
Correction au pixel avec une tuile de Guile
- La clé de la solution se trouvait dans la tuile du mollet du personnage Guile (
0x96)- Cette tuile n’affichait qu’un seul pixel dans l’angle inférieur gauche
- Le CPU 68000 pouvait choisir librement la palette, et la différence de couleur entre la palette de Guile et celle du logo a été exploitée
- L’index 14 de la palette de Guile était un vert foncé, alors que dans la palette du logo il s’agissait d’un bleu foncé
- En utilisant cette tuile avec la palette du logo, 255 pixels devenaient transparents et un seul pixel servait de « crayon »
- Avec trois commandes de dessin, le haut du « l » a été coupé pour le faire ressembler au point d’un « i »
Résultat et versions suivantes
- Grâce à ce correctif temporaire, l’écran final donnait bien à voir « World Warrior »
- Dans des versions ultérieures, le bon ensemble de tuiles « IOR » a été inclus, mais n’a pas été utilisé car le sous-titre est devenu « Champion Edition » puis « Hyper Fighting »
Portée technique
- Cet épisode montre qu’une résolution créative de problèmes reste possible malgré les contraintes du matériel d’arcade basé sur des ROM
- Cette correction utilisant un seul pixel est considérée comme un exemple de combinaison entre contrôle graphique de précision et compréhension du matériel
- Le processus de correction de la faute est resté comme une anecdote symbolisant le débogage minutieux et la réactivité concrète du développement de jeux
1 commentaires
Commentaires sur Hacker News
Les vraies réseaux sociaux, c’étaient les salles d’arcade
Au milieu du bruit des boules de bowling dans le complexe sportif, je pouvais reconnaître tout de suite quelle était ma borne de jeu
Les gens se rassemblaient autour, regardaient, plaisantaient, et c’était un lieu où se mêlaient concentration et acclamations
Pendant un instant, l’enfant qui tenait le joystick recevait une sorte de respect, puis tout le monde explosait quand un dragon punch parfait faisait changer le roi de son trône
C’était l’époque où l’on reposait une pièce sur la borne, où l’on attendait son tour, et où l’on partageait de la dopamine avec des inconnus
Aujourd’hui, nous n’avons jamais été aussi connectés, et pourtant j’ai l’impression que nous sommes plus éloignés les uns des autres
Je traînais avec des amis hmong de deuxième génération, issus de familles arrivées après la guerre du Vietnam, moi je choisissais Ken et eux prenaient Ryu
Le temps passé à nous apprendre des techniques, à nous affronter et à rire ensemble était une véritable leçon d’interaction sociale
Les amis qui allaient dans des écoles privées ont peut-être raté ce genre d’expérience
Il y avait bien SF2 dans les salles d’arcade, mais on y jouait surtout en solo plutôt qu’en versus
Une partie coûtait trop cher, donc tout le monde coopérait pour profiter du mode solo, et des jeux PvE comme Gauntlet ou Knights of the Round étaient populaires
C’était une culture complètement différente
Au Japon, la culture des salles d’arcade existe toujours
Je trouve ces souvenirs un peu ironiques
Le fait de partager le même mur pousse naturellement à parler avec des inconnus, et on peut déjà bien en profiter en y consacrant seulement quelques heures
Je pense qu’il existe aussi beaucoup d’autres sports sociaux adaptés à chaque tranche d’âge
Histoire vraiment fascinante
Un de mes exemples préférés, c’est quand Naughty Dog a utilisé une EULA pour modifier Ratchet and Clank
On peut voir les détails dans ce billet de blog
Il y a une borne SF2 dans un fast-food à burgers près de chez moi, avec un dessin fait à la main au lieu d’un autocollant
En haut, il y a écrit « HYRER FIGHTING », et vu la faute dans « WORLD WARRIER », je me suis dit que ça collait parfaitement
Je voulais demander si vous aviez vu une vidéo YouTube récente à ce sujet
Le titre était « It sounds dumb but they really fixed a typo with a human leg », et il y a aussi le lien vers la vidéo
C’était une vidéo plutôt bien faite
En voyant cette histoire aujourd’hui, je me suis demandé comment fonctionnait le rendu de texte
Ça m’a rappelé qu’autrefois, des fonctions comme
drawTextn’allaient pas du tout de soiÀ l’époque des premières machines, il fallait même implémenter soi-même l’affichage des caractères
La phrase « Thank you for playing Wing Commander! » m’est revenue en tête
C’était exactement le genre de formule qui capte l’atmosphère de cette époque
C’était un message provisoire destiné à éviter un conflit dans le système de gestion mémoire
Ça m’a fait penser à un jeu appelé Continental Circus
Il y a une section trivia sur la page Arcade Museum
En japonais, « Circuit » s’écrit サーキット, et la prononciation n’a rien à voir avec « サーカス »
En plus, appeler la F1 « le cirque » est une expression courante non seulement au Japon, mais dans le monde entier
L’idée qu’ils aient utilisé 3 draw calls pour 3 pixels afin de dessiner le mollet de Guile me fait trop rire
À l’époque, sans système d’exploitation ni API graphique, on accédait directement à la mémoire du matériel
Blague disant que quelqu’un devrait corriger la faute « Bimmy and Jimmy » dans Double Dragon