di  -  lunedì 27 ottobre 2008

CrunchDopo 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.

9 Commenti »

I commenti inseriti dai lettori di AppuntiDigitali non sono oggetto di moderazione preventiva, ma solo di eventuale filtro antispam. Qualora si ravvisi un contenuto non consono (offensivo o diffamatorio) si prega di contattare l'amministrazione di Appunti Digitali all'indirizzo info@appuntidigitali.it, specificando quale sia il commento in oggetto.

  • # 1
    David
     scrive: 

    Hai lavorato con Peter Molyneux? Di cosa ti occupi di preciso? A che giochi hai collaborato?

  • # 2
    banryu79
     scrive: 

    Grazie Fran, questa serie di articoli è molto interessante!

    Non so se posso fare questa domanda, mo’ la posto lo stesso: di che cosa ti sei occupato personalmente in Fable 2?
    Intendo rispetto alle varie fasi di sviluppo che hai illustrato in questa serie di articoli.

  • # 3
    Ale
     scrive: 

    Citerò il magnifico Edsger Dijkstra: “La fase di testing può eventualmente dimostrare la presenza di bug, ma _mai_ la loro assenza.”

  • # 4
    Fabio
     scrive: 

    Certo, poi però uno si chiede come mai in alcuni prodotti trova dieci bug nei primi dieci minuti. O siamo fenomeni noi o il testing c’è chi lo salta a pie’ pari.
    Però sempre 60 euro costa il gioco…

  • # 5
    Francesco Carucci (Autore del post)
     scrive: 

    David. Si’, lavoro con Peter. Ho lavorato a Black&White 2 e Fable 2.

    Banryu. Grazie :) In Fable 2 mi sono occupato dell’engine, effetti speciali, post processing, bug fixing e profiling.

    Fabio. E’ assolutamente vero. Non tutti i progetti hanno la stessa complessita’ e non tutti godono del medesimo testing. La sola e’ sempre in agguato: io provo le demo prima di acquistare quando posso. Oppure semplicemente smetto di acquistare i giochi di un team se mi hanno rifilato troppe sole: Konami con la serie PES non vede piu’ i miei soldi.

  • # 6
    Francesco Carucci (Autore del post)
     scrive: 

    Piccola curiosita': la foto e’ la mia (ex) postazione di lavoro durante il crunching di Fable 2. Occhio alla papera.

  • # 7
    Corrado
     scrive: 

    Black and White 2… mannaggia era veramente forte… anche il primo però fantastico.. ma Molyneux è un genio del tipo Will Wright o Sid Meier?

  • # 8
    Rubatti D.
     scrive: 

    Francesco Carucci O_O è a dir poco magnifico leggere i tuoi articoli,davvero interessanti.
    -Che voglio fare da grande? I videogiochi.

    Ho 14 anni e mi chiedevo ma ormai è troppo tardi per iniziare a programmare?

    Soprattutto,(premesso che un linguaggio non lo si impara mai)quando può richiedere l’apprendimento di un linguaggio (tipo python)?
    Quest’ultimo è l’ideale per iniziare?

  • # 9
    Zak84
     scrive: 

    A 14 anni puoi fare tutto quello che vuoi e quando hai finito puoi anche ricominciare dall’inizio! XD

Scrivi un commento!

Aggiungi il commento, oppure trackback dal tuo sito.

I commenti inseriti dai lettori di AppuntiDigitali non sono oggetto di moderazione preventiva, ma solo di eventuale filtro antispam. Qualora si ravvisi un contenuto non consono (offensivo o diffamatorio) si prega di contattare l'amministrazione di Appunti Digitali all'indirizzo info@appuntidigitali.it, specificando quale sia il commento in oggetto.