Franny's Adobe

Il blog di Francesco Carucci
posts - 99, comments - 948, trackbacks - 6705

La genesi di un effetto 3D

O almeno quello che nel mio caso e' il processo che porta dall'idea di un effetto 3d in tempo reale al vederlo sullo schermo e possibilmente nel gioco finito.

L'idea di un effetto 3D puo' nascere da una richiesta di un game designer o di un'artista, oppure semplicemente da una cosa che ho voglia di provare (ma molto piu' raramente).

Il mio primo passo e' sempre prendere ispirazione dalla vita reale, infatti spesso Stella mi trova imbambolato a fissare magari il cielo, oppure le ombre per terra, il mare, e scattarne foto. A volte mi scopre a mormorare qualcosa di incomprensibile sulla falsa riga di "Hmmm... gauss blur, zbuffer, hmmm".

A partire dalla vita reale mi formo in testa una "visione" di quello che voglio vedere su schermo; in questo stadio mi affido spesso ad un'artista e inizio a bombardarlo di domande, costringerlo a farmi degli schizi su carta, qualunque cosa mi aiuti a formare un'idea piu' precisa della mia "visione". Sono un visionario, lo ammetto candidamente. E poi scarico paper sull'argomento, guardo video e screenshot di effetti simili in altri giochi, domando in giro, leggo, continuo a guardare video di quello che hanno fatto altri. Mi fisso letteralmente e divento ossessionato tanto da sognarmelo la notte. (Si', la notte sogno spessissimo il mio lavoro, e' una malattia.)

Arriva il momento di sedermi di fronte al compilatore, nove volte su dieci non mi viene in mente un'idea di implementazione decente, mi deprimo fortemente, scatta la frustrazione, abbandono tutto li' per un po' di tempo e passo a lavorare su altro. In realta' non mi deprimo, so che tutte le volte e' cosi' e non ci faccio piu' caso. Aspetto l'Idea.

Questa prima o poi arriva, anche perche' se non arriva devo scartare l'effetto. Arriva nei momenti piu' inaspettati, magari leggendo un post in un forum, o guardando uno screenshot, o chiacchierando con qualcuno. Quando arriva inizia la fase piu' eccitante di tutto il processo, cerco di scrivere velocemente la cosa piu' semplice possibile per mettere a schermo l'idea e vedere qualcosa dell'effetto finale. Il primo risultato e' sempre artisticamente piuttosto pietoso e passo un po' di tempo ad aggiustare parametri, cambiare l'algoritmo, provare altre idee, fino a che non vedo qualcosa che mi aggrada. In questa fase non bado quasi mai alle prestazioni, impacchetto, espongo i parametri che controllano l'effetto al resto dell'engine e al codice del gioco e do' tutto in mano ad un volenteroso grafico. E passo a lavorare su altro.

Mi piace vedere un grafico e un designer "giocare" con la tecnologia che gli metto a disposizione, secondo me questa e' l'essenza del mio lavoro: produrre tecnologia per i miei clienti, essere asservito ai loro voleri.

Dal feedback dei grafici e dei designer inizia la fase successiva, quando prendo il codice che implementa l'effetto 3d e lo rivaluto globalmente. Spesso e volentieri lo riscrivo, a volta da zero, aggiungo cio' che mi viene richiesto ed in questa fase mi piace avere il grafico vicino per uno stretto ciclo di feedback: voglio che piloti lui il mio lavoro.

Quando l'effetto 3d e' di suo (e mio) gradimento, le sue prestazioni sono soddisfacenti, entra in produzione, stresso un tool programmer per scrivere il tool per editare i parametri che espongo dall'engine e inizio a mandare in giro screenshot :)

Gli inglesi lo chiamano "work pride", io la chiamo mania di protagonismo e deviazione mentale ai limiti dell'isteria. Il risultato e' l'effetto 3d in produzione all'interno del gioco.

 

I punti cardine del mio lavoro sono quindi:

  • Ispirazione dalla realta' (ma non copia della stessa)
  • Brevi cicli di feedback con gl'artisti
  • Produrre tecnologia per gli artisti e non imporglierla
  • Effetti 3d non fini a se' stessi ma a servizio del gameplay e dell'atmosfera del gioco

Print | posted on giovedì 21 dicembre 2006 19:27 | Filed Under [ Programming ]

Powered by:
Powered By Subtext Powered By ASP.NET