Porting Console

Con il termine porting si intende l’adattamento del proprio videogioco per piattaforme alternative a quella per cui si sta sviluppando il gioco; indicativamente i porting PC e console sono simili, mentre su mobile le cose cambiano. 

Va detto subito che è una questione che non può essere gestita in maniera amatoriale.

Tecnicamente per sviluppare un porting console, lo sviluppatore deve richiedere un dev-kit ai platform holders, ovvero i produttori delle console. 

Innanzitutto, per richiedere i devkit, gli sviluppatori devono registrarsi sulle piattaforme proprietarie delle console, ognuna con le proprie prerogative: un requisito su tutti è l’ip statico, oltre ad un processo amministrativo e burocratico non immediato.

Infatti la submission dei dati e documenti fiscali è un aspetto molto delicato e non sono ammessi errori: se non si fanno le cose per bene, si rischia di pagare una tassazione doppia, quindi sia in Italia, sia nel paese di appartenenza del platform holder. 

Una volta registrati, si presenta il gioco che si vuol sviluppare e vengono richiesti:

  • Il game design del titolo 
  • Video
  • Demo del gioco 

dopo aver esaminato questi materiali, il gioco viene approvato e viene conferito allo sviluppatore un codice di approvazione, ovvero l’App ID

Ottenuto questo, si lavora ad una serie di cose utili (come ad esempio la classificazione PEGI) alla pubblicazione sullo store della console, ma in primis alla build definitiva del gioco: è una delle parti più pesanti dal punto di vista lavorativo, dato l’altissimo livello della QA (Quality Assurance) presente sulle console (parliamo di una soglia di approvazione molto più stringente di quella di Steam, per esempio). 

La valutazione tecnica della propria build segue una check list, una lista di caratteristiche che il gioco deve avere: mancando anche solo un punto della lista, il gioco viene bocciato. 

Queste verifiche sono affidate a team ridotti interni alle aziende dei platform holders: occorre prenotare lo slot per la verifica della propria build, tramite la submission

È evidente che in questa fase si possa perdere molto tempo, se non si fanno le cose in maniera precisa: tra una submission e l’altra possono passare anche due o più settimane, i tempi di preparazione dei report potrebbero dilatarsi e così via.

Quindi è buona norma creare una safety build, ovvero una versione del gioco con meno feature, ma approvabile; una volta passata la soglia di controllo, infatti, sarà più semplice e veloce farsi approvare successivi update o aggiunte

Ora veniamo a quelli che sono gli aspetti più complessi del porting console: 

  • Burocrazia Tecnica 

Tutta la documentazione necessaria al porting console è spesso poco user friendly e va studiata in maniera “cervellotica” per evitare problemi.

  • Livello Qualità

Come è già stato scritto precedentemente, il livello qualitativo richiesto è nettamente più alto rispetto ad altre piattaforme.

  • Costi

Tutto diventa più costoso poiché lo sviluppatore deve garantire feature come la classificazione PEGI o il supporto multilingua sulla pagina dello store, che su altre piattaforme non sono richieste.

  • Giochi Costosi

Solitamente si propongono videogiochi con un costo medio elevato: i giochi sono complessi e vanno testati più e più volte (solitamente non si fanno giochi da 4,99€ da portare su console). 

  • Hardware Unico

Una nota sicuramente positiva è il fatto che si lavora su una specifica configurazione dell’hardware: in questo senso, ci sono molti meno fattori da tenere in considerazione rispetto ad una produzione PC o mobile

Lavorare su console ha certamente una peculiare barriera d’entrata, ma superata quella si tratta meramente di spenderci soldi e tempo lavorativo.

Oltre a questo vanno tenuti in considerazione una serie di aspetti specifici delle console: caratteristiche che vanno studiate con attenzione.

  • Gestione Account, Achievement e Contenuti Social
  • Possibilità di tornare all’hub della console in qualsiasi momento senza problemi di freezing o crash del gioco: è un qualcosa che va gestito lato software da parte dello sviluppatore.
  • Tecnologie non compatibili con il mondo console: ad esempio le strutture dati XML funzionano su PC, ma non su console.
  • Tenere a mente che le console hanno molta più GPU che CPU, quindi una capacità grafica maggiore rispetto a quella di calcolo computazionale. 
  • Peculiarità del controller console da considerare, in modo da sfruttarne le potenzialità.
  • La distribuzione dei caricamenti varia da console a console: un gioco che su una console X potrebbe avere tempi di caricamento velocissimi, su una console Y potrebbe peggiorare drasticamente per la differenza di specifiche tra le console. 
  • Le versioni console degli engine sono attivabili solamente con l’App ID dello specifico gioco; terminata il lavoro su quel gioco, si disattiva la possibilità di utilizzare la versione console dell’engine utilizzato.

Molto spesso esiste anche un’altro tipo di soluzione per quanto riguarda il porting console: si sviluppa il proprio gioco su PC e poi si affida il porting ad una società terza che si occupa solo del porting (magari in accordo col publisher). Esistono infatti numerose società nel settore videoludico che si occupano solamente di effettuare porting per altri sviluppatori

Porting Mobile

Gli store mobile pubblicano “qualsiasi cosa” (anche se esistono differenze tra Android e IOS: infatti il secondo è più puntiglioso e pretende un polishing maggiore) e l’operazione diventa molto meno complessa a livello lavorativo. 

Ovviamente va adattato il sistema di controllo: non si dispone di un controller, ma bisogna mappare i comandi su uno schermo touch. 

Va considerato che la GPU coincide con la CPU, quindi anche graficamente non posso avere la potenza delle console e le risorse andranno considerate in modo differente; inoltre anche la memoria è più limitata: questo comporta una scelta oculata sulle texture da utilizzare (queste non possono superare il limite del 2048 x 2048). 

Anche la scelta su quale modalità utilizzare influenza di fatto il design del gioco: 

  • Landscape

Il dispositivo mobile viene tenuto a due mani in orizzontale; il controllo viene eseguito con il giocatore che afferra entrambi i lati del dispositivo con ciascuna mano e utilizza i pollici per controllare il gioco. Questo schema vuole emulare il controller dei giochi su console. 

  • Portrait

Il dispositivo mobile viene tenuto ad una mano in verticale; il controllo viene eseguito tenendo il dispositivo nel palmo della mano e utilizzare il pollice della stessa mano per fornire l’input. Un’alternativa sarebbe che l’utente tenga il dispositivo nel palmo della mano e quindi utilizzi l’indice dell’altra mano per l’input.

Effettuare il porting su mobile di fatto richiede il rifacimento del gioco da zero, sia dal punto di vista delle specifiche tecniche che da quello del game design.