Dopo mesi dedicati a pitch, prototipo e produzione, siamo finalmente al Code Complete!
L’urlo di liberazione e’ spesso annunciato trionfalmente alla stampa mondiale da sviluppatori sorridenti.
Peter Molyneux, parlò qualche mese fa con toni pomposi della conclusione dei lavori su Fable 2, mentre noi eravamo chiusi in ufficio a fissare bug.
Il Code Complete è infatti solo l’inizio dell’ultima fase di sviluppo di un videogioco: bug fixing e ottimizzazioni. In questo periodo il gioco è virtualmente completo di feature, ma, generalmente, non gira al target framerate (30hz o 60hz), inoltre non è stabile ed è soggetto a vari tipi di crash, magari non rientra in tutte le situazioni nella memoria disponibile, deve essere ancora rifinito sia dal punto di vista visivo sia dal punto di vista della giocabilità.
I tester sono impegnati a giocare e rigiocare livello dopo livello (no, non è affatto un lavoro divertente, tanto meno alle tre di notte) alla caccia di bug e difetti. Questi sono catalogati e inseriti in un enorme database che può contenere decine di migliaia di bug. I programmatori analizzano i bug a loro assegnati dai producer, cercano un fix o li smistano a chi di dovere per ulteriori analisi.
Gli artisti ripercorrono texture e modelli per le rifiniture, quando i designer si occupano del bilanciamento del gameplay, correggendo numeri, mappe, script. E’ una fase dei lavori molto eccitante, perché il gioco sul quale si è speso magari un periodo lungo anni, si avvicina velocemente alla sua forma definitiva.
E’ anche una fase estremamente stressante, dove le scelte e le decisioni possono essere soffertissime, ma sempre senza possibilità di ripensamenti. Una feature sulla quale si sono spesi magari mesi di lavoro è tagliata perché non c’è tempo di concluderla a dovere: il gioco deve uscire.
Parallelamente al bug fixing si svolge il triaging dei bug che consiste nell’individuare i bug nel database che non sono abbastanza importanti, magari sui quali non è conveniente spendere tempo per ragioni economiche: questi bug non sono fissati e sono cancellati dal database. E’ interessante notare come sia matematicamente impossibile testare un gioco (o un software in generale) di modo da assicurare la totale assenza di bug al momento del rilascio; per quanto sia ampio e lungo il testing, qualche bug per forza di cose trova la sua strada verso l’utente finale… E’ la natura dello sviluppo del software.
Durante tutta la fase finale, il publisher scrutina i lavori e, basandosi sulle statistiche di bug fix, cerca di prevedere la data nella quale il gioco raggiungerà gli zero bug, e da questa la data di uscita sul mercato per mettere in moto la macchina che porterà il DVD dallo sviluppatore a, si spera, milioni di giocatori. E’ una macchina complessa alla quale daremo un’occhiata nella prossima puntata.