1 points par GN⁺ 2026-01-05 | 1 commentaires | Partager sur WhatsApp
  • 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 par 0xCD, 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

 
GN⁺ 2026-01-05
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 me souviens avoir joué à Street Fighter pendant des heures après les cours avec des amis dans une boutique asiatique près du collège
      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
    • En Espagne, cette culture n’existait presque pas
      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
    • C’était moins vivant que l’époque où on jouait au foot sur un terrain vague, mais c’était quand même bien mieux que de fixer un écran en appelant ça du « networking »
    • Même aujourd’hui, on peut encore rencontrer des gens dans des choses comme les clubs de running
      Au Japon, la culture des salles d’arcade existe toujours
      Je trouve ces souvenirs un peu ironiques
    • J’aimerais demander si tu as déjà essayé un sport social comme l’escalade
      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

    • J’ai du mal à croire qu’ils aient utilisé un buffer overflow dans le message de la EULA comme mécanisme de patch
    • Voir Dilbert dans l’article m’a fait tiquer un instant, puis j’ai compris en voyant la date
  • 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

    • Réaction du genre : sans photo, c’est difficile à croire
  • Je voulais demander si vous aviez vu une vidéo YouTube récente à ce sujet

    • Oui
      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 drawText n’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

    • D’après l’article de WCNews, cette phrase n’apparaissait pas dans la vraie version commercialisée
      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

    • Mais dire que ce nom est une faute de frappe de « Circuit » n’a aucun sens
      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

    • Mais ici, « draw call » est seulement un terme moderne ; en réalité, il s’agissait d’écrire des valeurs dans la mémoire de la table de sprites
      À l’époque, sans système d’exploitation ni API graphique, on accédait directement à la mémoire du matériel
    • Heureusement, ils n’avaient pas autant de travail à faire sur l’écran-titre
  • Blague disant que quelqu’un devrait corriger la faute « Bimmy and Jimmy » dans Double Dragon