Nachrichten / Spiele

Das Beheben eines Metroid Prime-Fehlers bedeutete, ein GameCube-Entwicklungskit in einen Gefrierschrank zu legen

Um ein Problem mit bestimmten GameCube-CPUs zu beheben, mussten Metroid Prime-Entwickler ein Entwicklungskit in einen Gefrierschrank stellen

Im Rampenlicht Metroid Prime20-jähriges Jubiläum der ehemaligen Retro Studios
Lead Engineer Zoid Kirsch hat damit begonnen, Geschichten über die Entwicklung des Spiels zu erzählen, aber die neueste Geschichte stammt von einem anderen Mitglied des Teams. Technischer Chefingenieur Jack Mathews auf Twitter erwischt um darüber zu sprechen, wie man a repariert Metroid Prime Problem bedeutete, ein GameCube-Entwicklungskit in einen Gefrierschrank zu stecken.

Der Grund, warum ein Freezer an der Spieleentwicklung beteiligt ist, liegt darin, dass einige GameCube-Prozessoren fehlerhaft sind und nicht spielen Metroid Prime richtig. Um den Code zu aktualisieren, musste das Team das Problem auf einem Entwicklungskit mit diesem Prozessor beheben. Es gab jedoch nur einen, und der konnte nur richtig getestet werden, wenn das Gerät einfror. Schließlich behob das Team das Problem und Nintendo schickte eine weitere Kopie des Spiels an Leute, die um Unterstützung baten.

Hier ist die vollständige Geschichte von Mathews, zusammengestellt aus dem gesamten Acht-Tweet-Thread.

Metroid Prime Game Dev Story – Die Geschichte, in der wir einen GameCube gekühlt haben.

Kurz nach der Auslieferung von Prime teilte uns Nintendo mit, dass anscheinend eine „schlechte Charge“ von GameCube-Prozessoren ausgeliefert worden sei Prime war das einzige Spiel, das mit ihnen schlecht abschnitt. Wir haben Videos gesehen und es war klar, was los war.

Alle animierten Objekte gerieten in Panik. Zu den technischen Gründen komme ich später, aber Tatsache war, dass wir einen Teil unseres Codes verlangsamen mussten, weil er für diese Prozessoren zu schnell lief! Wir mussten das testen können, aber Nintendo hatte nur ein Entwicklungskit mit diesem Prozessor. Wir konnten die CPU nicht erkennen, und wenn wir sie zu stark verlangsamten, stürzte die Framerate des Spiels ab. Wenn wir es nicht genug verlangsamen würden, würde es einen Fehler geben. Schlimmer noch, wir mussten für dieses Kit Discs brennen. So dauerte jeder Test stundenlang. Noch seltsamer war es, das Problem zu sehen, das Kit muss kalt gewesen sein. Wie, kalter Gefrierschrank. Also mussten wir das Kit buchstäblich in den Gefrierschrank stellen, bis zu 15 Minuten lang testen und dann von vorne beginnen. Es war verrückt.

Wir ließen das Kit buchstäblich vom Gefrierschrank im Pausenraum zum Fernseher laufen und luden in 15 Minuten so schnell wie möglich gespeicherte Spiele an so vielen Stellen wie möglich, probierten dann einen neuen Code aus, froren erneut ein und zurück. Ich werde ihn nie vergessen.

Technisches Zeug: Unser Skinning verwendete den gesperrten Cache-DMA, um die Daten zu lesen, und die Collect-Write-Pipeline, um sie zu schreiben. Die meisten Nintendo-Beispiele verwendeten einen gesperrten Cache zum Lesen und Schreiben, daher war meine Methode etwas schneller. Aber es stieß auch auf Grenzen der Speicherbandbreite. Wenn ich mich richtig erinnere, bestand das Problem darin, dass der Write-Collection-Kanal auf diesen kaputten CPUs nicht blockierte, wenn er voll war, oder seinen Status nicht korrekt meldete, also mussten wir NOPs in den Code einfügen, um ihn gerade genug zu verlangsamen, um Pass-Blöcke zu stoppen, aber nicht so sehr, um das Spiel zu verlangsamen.

Falls Sie sich gefragt haben, als jemand den Support wegen dieses Animationsproblems anrief, hat Nintendo ihm tatsächlich eine neue Spiele-CD mit diesem aktualisierten Code geschickt! So haben wir damals "Patches" gemacht!

Metroid Prime ist für den GameCube verfügbar. Metroid Prime-Trilogie kann auf Wii und Wii U gespielt werden.