Notizie / Giochi

Risolvere un problema tecnico di Metroid Prime significava mettere un kit di sviluppo per GameCube in un congelatore

Per porre rimedio a un problema che riguardava alcune CPU GameCube, gli sviluppatori di Metroid Prime avevano bisogno di mettere un kit di sviluppo in un congelatore

Sotto i riflettori Metroid Prime20° anniversario degli ex Retro Studios
L'ingegnere capo Zoid Kirsch ha iniziato a condividere storie sullo sviluppo del gioco, ma l'ultima storia arriva da un altro membro del team. Ingegnere tecnico capo Jack Mathews catturato su Twitter parlare di come riparare a Metroid Prime problema significava attaccare un kit di sviluppo GameCube in un congelatore.

Il motivo per cui un Freezer viene coinvolto nello sviluppo del gioco è perché alcuni processori GameCube sono difettosi e non funzionano Metroid Prime propriamente. Per aggiornare il codice, il team doveva risolvere il problema su un kit di sviluppo con questo processore. Tuttavia, ce n'era solo uno e poteva essere testato correttamente solo se il dispositivo si bloccava. Alla fine, il team ha risolto il problema e Nintendo ha inviato un'altra copia del gioco alle persone che hanno chiesto supporto.

Ecco la storia completa di Mathews, compilata dal thread completo di otto tweet.

Metroid Prime Game Dev Story – Quella in cui abbiamo refrigerato un GameCube.

Poco dopo la spedizione di Prime, Nintendo ci ha detto che era stato spedito un "brutto lotto" di processori per GameCube, e apparentemente premio è stato l'unico gioco che ha funzionato male con loro. Abbiamo visto dei video ed era chiaro cosa stava succedendo.

Tutti gli oggetti animati furono presi dal panico. Arriverò ai motivi tecnici più avanti, ma il fatto è che abbiamo dovuto rallentare parte del nostro codice perché era troppo veloce per essere gestito da quei processori! Dovevamo essere in grado di testarlo, ma Nintendo aveva solo un kit di sviluppo con questo processore. Non siamo riusciti a rilevare la CPU e, se la rallentassimo troppo, il framerate del gioco andrebbe in crash. Se non lo rallentassimo abbastanza, ci sarebbe un bug. Peggio ancora, abbiamo dovuto masterizzare i dischi per questo kit. Pertanto, ogni test è durato per ore. Ancora più strano vedeva il problema, il kit doveva essere freddo. Tipo, congelatore freddo. Quindi abbiamo letteralmente dovuto mettere il kit nel congelatore, provare il gioco per un massimo di 15 minuti e poi ricominciare da capo. È stato pazzesco.

Stavamo letteralmente facendo scorrere il kit dal congelatore della sala pausa alla TV e caricando i salvataggi il più velocemente possibile in più posti possibile in 15 minuti, quindi provando un nuovo codice, ricongelando e viceversa. Non lo dimenticherò mai.

Cose tecniche: il nostro skinning ha utilizzato il DMA della cache bloccata per leggere i dati e la pipeline di raccolta di scrittura per scriverli. La maggior parte dei campioni Nintendo utilizzava la cache bloccata per leggere e scrivere, quindi il mio metodo era un po' più veloce. Ma ha anche raggiunto i limiti di larghezza di banda della memoria. Se ricordo bene, il problema era che il canale di raccolta delle scritture su queste CPU rotte non si bloccava quando era pieno o ne segnalava lo stato correttamente, quindi dovevamo continuare a inserire NOP nel codice per rallentarlo quanto basta per fermare i blocchi di passaggio, ma non tanto per rallentare il gioco.

Nel caso ti stavi chiedendo, quando qualcuno ha chiamato il supporto per questo problema di animazione, Nintendo ha effettivamente inviato loro un nuovo disco di gioco con questo codice aggiornato! È così che abbiamo fatto le "toppe" all'epoca!

Metroid Prime è disponibile per GameCube. Trilogia di Metroid Prime può essere giocato su Wii e Wii U.