Street Fighter II, The World Warrior (2021)
(fabiensanglard.net)- Behandelt die Anekdote, dass der Untertitel des Arcade-Spiels Street Fighter II, „World Warrior“, bis kurz vor der Veröffentlichung als „World Warrier“ falsch geschrieben war
- Als der Grafikdesigner Akiman die Korrektur nicht mehr vornehmen konnte, weil die GFX-ROMs bereits gebrannt waren, passte er die Sprite-Kombinationen so an, dass ein „e“ wie ein „o“ aussah
- Er verwendete einige Tiles von „World“ erneut, um „ier“ zu ersetzen, was jedoch das neue Problem „The World Warrlor“ verursachte
- Anschließend nutzte er ein Waden-Tile von Guile (0x96), schnitt auf Pixelebene den oberen Teil des „l“ weg und erstellte so einen provisorischen Fix, damit es wie ein „i“ aussah
- Dieser Fix wurde in späteren Versionen offiziell ersetzt und zeigt die präzise technische Reaktion und kreative Problemlösung in der Spieleentwicklung
Beginn von Entdeckung und Korrektur des Tippfehlers
- Es wurde drei Tage vor der Veröffentlichung entdeckt, dass der Untertitel von Street Fighter II, „World Warrior“, fälschlich als „World Warrier“ angezeigt wurde
- Akiman erinnerte sich daran mit den Worten, er habe „einen schrecklichen Fehler entdeckt“, und erklärte, dass die GFX-ROMs bereits gebrannt waren und daher nicht mehr geändert werden konnten
- Die GFX-ROMs speicherten die Grafikdaten, die 68000-ROMs die Befehle, und die Grafik-ROMs befanden sich bereits in einem nicht mehr änderbaren Zustand
- Akiman versuchte, Sprites zu überlagern, damit ein „e“ wie ein „o“ wirkte, und setzte so eine visuelle Korrektur um
Provisorische Lösung durch Austausch von Tiles
- Das Logo bestand aus 16 Tiles (
0xC8~0xDF), und Akiman entfernte die letzten drei Tiles (0xDD~0xDF) und ersetzte sie durch0xCD,0xCE - Dadurch wurde aus „World Warrier“ zwar „World Warrlor“, doch das Problem blieb bestehen, dass das „l“ nicht wie ein „i“ aussah
- Da die 68000-CPU die Tiles nicht direkt bearbeiten konnte, war eine Anpassung auf Pixelebene erforderlich
Pixelkorrektur mithilfe eines Guile-Tiles
- Der Schlüssel zur Lösung lag in einem Waden-Tile (
0x96) der Figur Guile- Dieses Tile zeigte unten links nur genau ein einziges Pixel
- Die 68000-CPU konnte die Palette frei wählen und nutzte den Farbunterschied zwischen Guiles Palette und der Logo-Palette
- Index 14 in Guiles Palette war dunkelgrün, in der Logo-Palette dagegen dunkelblau
- Durch die Verwendung dieses Tiles mit der Logo-Palette wurden 255 Pixel transparent, und nur 1 Pixel wurde wie ein „Bleistift“ genutzt
- Mit drei Draw-Befehlen wurde der obere Teil des „l“ abgeschnitten, sodass es wie der Punkt eines „i“ wirkte
Ergebnis und spätere Versionen
- Dank dieses provisorischen Fixes erschien es auf dem finalen Bildschirm korrekt als „World Warrior“
- In späteren Versionen war zwar der korrekte Tile-Satz „IOR“ enthalten, wurde jedoch nicht verwendet, weil der Untertitel in „Champion Edition“ bzw. „Hyper Fighting“ geändert wurde
Technische Bedeutung
- Dieser Fall zeigt, dass selbst unter den Einschränkungen ROM-basierter Arcade-Hardware kreative Problemlösungen möglich sind
- Die Korrektur mithilfe eines einzelnen Pixels gilt als Beispiel für die Verbindung aus präziser Grafiksteuerung und tiefem Hardwareverständnis
- Der Ablauf der Tippfehlerkorrektur bleibt als Anekdote erhalten, die feingranulares Debugging und pragmatische Reaktionsfähigkeit in der Spieleentwicklung symbolisiert
1 Kommentare
Hacker-News-Kommentare
Die echte Social Media waren Spielhallen.
Zwischen dem Geräusch rollender Bowlingkugeln im Sportzentrum konnte man sofort erkennen, welches mein Spielautomat war.
Die Leute standen im Kreis herum, schauten zu, machten Witze, und es war ein Ort voller Konzentration und Jubel.
Für einen Moment ergoss sich Respekt über das Kind am Joystick, und dann jubelten alle, als mit einem perfekten Dragon Punch der Thron wechselte.
Es war die Zeit, in der man Münzen wieder auf den Automaten legte, auf den nächsten Zug wartete und mit Fremden Dopamin teilte.
Heute sind wir stärker vernetzt als je zuvor, und trotzdem fühlt es sich an, als wären wir weiter voneinander entfernt.
Ich hing dort mit Hmong-Freunden der zweiten Generation ab, deren Familien nach dem Vietnamkrieg eingewandert waren; ich nahm Ken, sie nahmen Ryu.
Diese Zeit, in der wir uns gegenseitig Techniken beibrachten, konkurrierten und lachten, war eine echte Lektion in sozialer Interaktion.
Freunde auf Privatschulen haben so etwas vielleicht verpasst.
SF2 stand zwar in den Spielhallen, wurde aber eher solo als gegeneinander gespielt.
Eine Runde war zu teuer, also spielte man kooperativ Singleplayer, und PvE-Spiele wie Gauntlet oder Knights of the Round waren beliebt.
Das war eine völlig andere Kultur.
In Japan lebt die Spielhallenkultur immer noch.
Solche Rückblicke fühlen sich ein wenig ironisch an.
Weil man sich die Wand teilt, kommt man ganz natürlich mit Fremden ins Gespräch, und schon ein paar Stunden Einsatz reichen, um Spaß daran zu haben.
Ich denke, es gibt viele andere soziale Sportarten, die je nach Altersgruppe gut passen würden.
Wirklich eine faszinierende Geschichte.
Eines meiner Lieblingsbeispiele ist, wie Naughty Dog eine EULA genutzt hat, um Ratchet and Clank zu modifizieren.
Mehr dazu steht in diesem Blogpost.
In einem Burgerladen in meiner Nähe steht ein SF2-Automat, der statt Aufklebern handgemalte Bilder hat.
Oben steht „HYRER FIGHTING“, und wenn man an den Tippfehler „WORLD WARRIER“ denkt, passt das irgendwie perfekt.
Ich wollte fragen, ob jemand kürzlich ein dazu passendes YouTube-Video gesehen hat.
Der Titel war „It sounds dumb but they really fixed a typo with a human leg“, und hier ist der Videolink.
Es war ein ziemlich gut gemachtes Video.
Als ich das heute gelesen habe, habe ich mich gefragt, wie Text Rendering damals eigentlich funktionierte.
Es erinnert einen daran, dass Funktionen wie
drawTextfrüher keineswegs selbstverständlich waren.Es war eine Zeit, in der man selbst die Zeichenausgabe noch direkt selbst implementieren musste.
Mir kommt die Zeile „Thank you for playing Wing Commander! “ in den Sinn.
Das war genau die Art Satz, die das Gefühl dieser Zeit perfekt trifft.
Es soll ein provisorischer Text gewesen sein, um Konflikte im Speichermanagement-System zu vermeiden.
Ich musste an ein Spiel namens Continental Circus denken.
Im Arcade-Museum-Link gibt es einen Trivia-Abschnitt.
Auf Japanisch ist „Circuit“ サーキット, und das klingt völlig anders als „サーカス“.
Außerdem ist es nicht nur in Japan, sondern weltweit üblich, die F1 als „Zirkus“ zu bezeichnen.
Ich musste sehr lachen über die Aussage, dass man zum Zeichnen von Guiles Wade drei Draw Calls für drei Pixel verwendet hat.
Das war noch die Zeit ohne Betriebssystem oder Grafik-API, in der man direkt auf den Hardwarespeicher zugriff.
Ein Witz darüber, dass jemand bitte den Tippfehler „Bimmy and Jimmy“ in Double Dragon korrigieren möge.