I segreti di uno sviluppatore WiiU

Condividi l'articolo

Nintendo vs gioco online

Ora che il gioco stava cominciando a formarsi e i problemi hardware si stavano risolvendo, la nostra attenzionesi è rivolta al lato dell’infrastruttura online del nostro gioco e l’interfaccia del appena annunciato Nintendo Network. Abbiamo capito subito che la documentazione, e il codice, attorno all’area di networking, sembravano avere dei buchi, quindi abbiamo chiesto lumi. Dopo la solita traduzione in ritardo ci hanno detto che stavano ancora lavorando sul codice, ma di non preoccuparci che sarebbe arrivato presto.

Campanelli d’allarme cominciarono a suonarmi nuovamente in testa, ma li misi da parte da quel momento in poi. Questa è la nuova infrastruttura di Nintendo e loro stanno ponendo le fondamenta della console attorno ad essa, dovrebbero esser sicuri che sia completa e totalmente testata prima di condividerla, quindi gli concedo un po’ di ritardo. Avevamo le basi quindi potevamo almeno fare qualche test e connessione su più kit insieme, ma molti dei Mii e dei contenuti degli amici mancavano e non c’era modo di testare come il codice esistente si sarebbe comportato in un “ambiente casalingo” e non c’era nessun “flash” per la console in modalità negozio per i kit di sviluppo. Abbiamo dovuto scrivere il codice brancolando nel buio e solo sperando che funzionasse.

Attorno a questo tempo abbiamo avuto l’opportunità di parlare con alcuni dirigenti di Nintendo, attraverso una conferenza telefonica, poiché stavano raccogliendo feedback sulla nostra esperienza di sviluppo e i loro strumenti. Questa conferenza telefonica diede un interessante sguardo dentro Nintendo e come pare operare.

La discussione iniziò abbastanza bene e coprì la nostra esperienza con l’hardware e i (lenti) strumenti e poi abbiamo virato la discussione sul quando le features online sarebbero state disponibili. Ci avevano detto che le feature, e gli aggiornamenti software per supportarle, sarebbero stati disponibili al lancio, ma non solo. C’erano apparentemente problemi con il settaggio di una grande infrastruttura online in grado di rivaleggiare Sony e Microsoft che loro non avevano immaginato.

Questo era sorprendente da sentire, poiché avevamo pensato avessero avuto molto tempo per lavorare su queste features, visto che le avevano annunciate mesi prima, quindi ci siamo addentrati più profondamente e abbiamo chiesto come certi scenari sarebbero dovuti funzionare con i Mii amici e il networking, tutte le volte citando come Xbox Live e PSN fanno la stessa cosa. A questo punto nella conversazione siamo stati informati che non era carino citare Live e PSN poiché nessuno nei loro team di sviluppo usasse quesi sitemi (!) quindi come potevamo dargli più informazioni dettagliate? Il mio unico pensiero dopo questa telefonata era che stavano annaspando – malamente – con il networking che era molto più complicato di quanto avessero preventivato. Stavano provando a raggiungere le rivali, ma senza gli anni di esperienza per farlo.

Come promesso, (giusto) prima del lancio mondiale abbiamo ricevuto le feature finali della struttura online che avevamo bisogno per il nostro gioco assieme ad un aggiornamento del sistema operativo per i nostri kit di sviluppo così da poter fare i nostri test. Quindi abbiamo patchato il nostro codice e provato a far partire il nostro gioco testandolo.

Per prima cosa dovevamo mettere i nostri kit in modalità “console disponibile in negozio” che avesse il Mii e le feature del network. Questo era un processo manuale molto complicato che lasciò la console in una situazione di stallo. In questa modalità potevamo testare le nostre feature e assicurarci che funzionassero come aspettato, che sarebbe stato un requisito per passare la certificazione Nintendo, ma in questa modalità le capacità di debugging erano limitate. Quindi potevamo vedere cosa andava male, ma non potevamo pienamente debuggare per capire perché. Come sviluppatori, dovevamo fare una scelta e sperare che ogni problema che avresti trovato dovuto al codice del sistema operativo (non testato) non sarebbe accaduto nell’ambiente di gioco a casa. Quelli che sembravano compiti semplici erano molto lunghi e inclini all’errore. Cose semplici come mandare una richiesta d’amicizia ad un altro utente non era supportata dal SO, quindi dovevi lanciare un programma separato dalla console manualmente, attraverso un menù di debug, così potevi mandarne una. Ma se c’era un errore non c’era modo di debuggare il perché era fallita la cosa, semplicemente falliva.

Abbiamo cominciato a chiedere come potevano lanciare la console così, a poche settimane di distanza, con un sistema operativo parzialmente sviluppato. Come avrebbero portato il SO sulle console che erano state prodotte fino a quel punto? Va bene che l’avevamo ricevuto tardi, ma loro l’hanno messo nella linea di produzione prima?

Il giorno del lancio arrivò e la risposta fu chiara: Nintendo era in ritardo – molto in ritardo – con il suo sistema di network. Infatti, l’unico modo per accedere ai loro sistemi pienamente era di scaricare una grossa patch al lancio che aggiungeva le parti mancanti. Senza quella patch molti dei titoli rilasciati sarebbero stati solo semifunzionali.

Potrebbero interessarti