Novinky / Hry

Opravit závadu Metroid Prime znamenalo dát vývojářskou sadu GameCube do mrazáku

Aby se napravil problém týkající se určitých CPU GameCube, museli vývojáři Metroid Prime vložit vývojářskou sadu do mrazáku

Středem pozornosti Metroid Prime20. výročí bývalých Retro Studios
Vedoucí inženýr Zoid Kirsch začal sdílet příběhy o vývoji hry, ale nejnovější příběh pochází od jiného člena týmu. Hlavní technický inženýr Jack Mathews zachyceno na Twitteru mluvit o tom, jak opravit a Metroid Prime problém znamenal strčení vývojářské sady GameCube do mrazáku.

Důvod, proč se Freezer zapojuje do vývoje her, je ten, že některé procesory GameCube jsou vadné a nejdou hrát Metroid Prime správně. Aby tým mohl aktualizovat kód, potřeboval vyřešit problém na vývojové sadě s tímto procesorem. Byl však jen jeden a ten se dal pořádně otestovat jen v případě, že by zařízení zamrzlo. Nakonec tým problém vyřešil a Nintendo poslalo další kopii hry lidem, kteří volali o podporu.

Zde je celý Mathewsův příběh sestavený z celého vlákna s osmi tweety.

Metroid Prime Game Dev Story – Příběh, kde jsme chladili GameCube.

Krátce po odeslání Prime nám Nintendo řeklo, že byla odeslána „špatná dávka“ procesorů GameCube a zjevně pojistné byla jediná hra, která si s nimi vedla špatně. Viděli jsme videa a bylo jasné, co se děje.

Všechny animované objekty zpanikařily. K technickým důvodům se dostanu později, ale faktem bylo, že jsme museli zpomalit část našeho kódu, protože běžel příliš rychle na to, aby to ty procesory zvládly! Potřebovali jsme to otestovat, ale Nintendo mělo pouze jednu vývojovou sadu s tímto procesorem. Nepodařilo se nám detekovat CPU a pokud bychom jej příliš zpomalili, spadl by framerate hry. Pokud bychom to dostatečně nezpomalili, byla by tam chyba. Ještě horší bylo, že jsme pro tuto sadu museli vypálit disky. Každý test tedy trval hodiny. Ještě podivnější bylo vidět problém, souprava musela být studená. Třeba mrazák. Museli jsme tedy doslova dát sadu do mrazáku, testovat hru po dobu až 15 minut a pak začít znovu. Bylo to šílené.

Doslova jsme spouštěli sadu z mrazáku v odpočinkové místnosti k televizi a načítali uložené hry tak rychle, jak jen to šlo, na co nejvíce míst za 15 minut, pak jsme zkoušeli nový kód, znovu zmrazili a zpět. Nikdy na něj nezapomenu.

Technické věci: naše skinování používalo zamčenou mezipaměť DMA ke čtení dat a kanál sběru zápisu k jejich zápisu. Většina vzorků Nintenda používala pro čtení a zápis zamčenou mezipaměť, takže moje metoda byla o něco rychlejší. Ale také narazil na limity šířky pásma paměti. Pokud si dobře pamatuji, problém byl v tom, že kanál sběru zápisu na těchto poškozených CPU neblokoval, když byl plný nebo správně nehlásil svůj stav, takže jsme museli do kódu vkládat NOP, abychom jej zpomalili natolik, aby zastavilo blokování průchodu, ale ne tolik, aby zpomalil hru.

V případě, že by vás zajímalo, když někdo zavolal na podporu ohledně tohoto problému s animací, Nintendo mu ve skutečnosti poslalo nový herní disk s tímto aktualizovaným kódem! Tak jsme tenkrát dělali „záplaty“!

Metroid Prime je k dispozici pro GameCube. Metroid Prime Trilogy lze hrát na Wii a Wii U.