Archive for giugno 2008

Quattro chiacchiere con Ken Perlin

giugno 27, 2008

Non con troppa frequenza (ed è un peccato) qui in Funcom ospitiamo talvolta alcune personalità importanti della industry. Questo mercoledi abbiamo avuto davvero l’onore di accogliere Ken Perlin, professore della New York University, eminente luminare della animazione procedurale. Non voglio sciorinare tutto ciò che ha fatto, perchè la lista è davvero lunga, mi permetto di citare solo che ha vinto un Oscar per meriti tecnologici per il film TRON, tanto caro al Future Film Festival in quanto primo film con effetti digitali, e ha modellizzato con successo un tipo di rumore, il Rumore di Perlin per l’appunto, che viene usato al giorno d’oggi per creare le rappresentazioni digitali di fumo e nuvole. Se siete interessati a tutti i lavori di Ken Perlin, la sua home page si trova qui http://www.mrl.nyu.edu/~perlin/, tuttavia una banale ricerca su Google vi condurrà attraverso magnifici risultati.

La conferenza di Ken Perlin è stata davvero affascinante, incentrata soprattutto sull’animazione procedurale. Mi limito a dire che è stata stupenda perchè preferirei invece scrivere qui che cosa si nasconda dietro questo complicato termine.

Parliamo di un problema canonico nella realizzazione di videogiochi, ovvero la rappresentazione dell’alter ego del giocatore e in generale di tutte le altre creature presenti nel mondo virtuale. Ci sono due modi, spesso mischiati: animare manualmente i modelli e usare il motion capture.

Animare manualmente i modelli è concettualmente semplice, si assume un animatore, gli si da il modello 3D da animare e dopo alcuni giorni di intenso lavoro avremo a disposizione una serie di animazioni specifiche per quel modello 3D. Ovviamente questo va ripetuto per ogni modello disponibile nel gioco, aspetto che, in caso di mancanza di una corretta prototipizzazione dei modelli, può portare al consumo di una quantità di risorse economiche e umane enorme. Il motion capture è una tecnica relativamente recente, si tratta in pratica di collegare un computer a un attore in carne e ossa che eseguirà alcuni movimenti corrispondenti alle animazioni che si vogliono appunto “catturare”. Il computer registra i movimenti grazie ad alcuni sensori riflettenti e mette a disposizione degli animatori un insieme di dati già pronti che corrispondono alle animazioni eseguite dall’attore. Con questi dati un animatore, anche non troppo bravo, può ottenere degli ottimi risultati. Il motion capture richiede meno competenze dell’animazione interamente manuale, ma richiede un sacco di tempo e soldi (specie perchè l’equipaggiamento per il motion capture non solo non è economico, ma bisogna anche saperlo usare).

Con i procedimenti di cui sopra si ottengono delle animazioni, singole. Qui cominciano i problemi, però. E’ irreale e ingenuo pensare che un personaggio virtuale eseguirà una sola azione alla volta. E’ molto più probabile che debba passare da una “azione” all’altra. Tanto per fare un esempio, un personaggio virtuale corre, dopo un po’ il gioco prevede che questo si fermi per riprendere fiato, poggiando le mani sulle ginocchia e ansimando un po’.

Qualcuno potrebbe osservare che basta creare una animazione specifica per questo, ma io rispondo che quella è una scelta estremamente ingenua. Che cosa succede se si vuole allungare la corsa? O il tempo per cui il personaggio riprende fiato? Una scelta del genere è statica e inflessibile, non è adatta a sistemi molto dinamici come i videogiochi.

Per rendere l’uso delle animazioni dinamico, si presuppone quindi che un personaggio possa essere “interrotto” durante la sua animazione corrente perchè deve cominciarne un’altra. Nel nostro caso, il personaggio sta eseguendo l’animazione “correre” che viene interrotta da “rallenta” e infine da “riposa”. La soluzione più banale al problema è eseguire le animazioni in sequenza, ma questo ci riporta ai problemi statici di prima, tutto il sistema sarebbe dipendente dalla durata delle animazioni scelte, quindi l’impressione del giocatore sarebbe quella di avere un sistema che segue sue temporizzazioni interne, poco prevedibili e insensate. Un’altra soluzione è quella di interrompere istantaneamente l’animazione corrente e cominciare immediatamente quella nuova. Il vantaggio di questa soluzione è l’impressione di risposta immediata che viene data al giocatore: il sistema reagisce esattamente quando necessario. Purtroppo però implementare questa soluzione ha un orribile difetto visivo: i personaggi virtuali interromperebbero istantaneamente ciò che stanno facendo, di fatto “scattando” direttamente in una nuova posizione che potrebbe non avere nulla a che vedere con ciò che stavano facendo prima.

Qual è la soluzione adottata nei giochi moderni quindi? La soluzione si chiama Blending, ovvero “miscelamento di transizione”. Le animazioni che devono essere eseguite “in sequenza” vengono dotate di una animazione intermedia generata dal Blending per fare in modo che non ci sia nessuno “scatto”, del tutto irreale, nell’animazione. La soluzione è bella e funziona molto bene ma ha un piccolo problema: è costosa sia in termini di tempo (bisogna fare del blending per ogni coppia di animazioni che si vuole rendere compatibili l’una con l’altra) che in termini di risorse umane (fare del buon blending richiede esperienza e personale esperto).

Nonostante l’efficienza del Blending sia bassissima, è l’unica soluzione disponibile industrialmente al momento. Fortunatamente persone come Ken Perlin stanno facendo ricerche interessantissime nel campo della animazione procedurale, ovvero nella creazione di personaggi virtuali che sappiano “automaticamente” come comportarsi a seconda degli ordini che vengono impartiti loro. Non voglio addentrarmi in argomenti eccessivamente tecnici, ma vorrei dare almeno un sentore di significato a tutto questo.

In informatica gran parte dei sistemi sono imperativi, ovvero l’uomo dice alla macchina esattamente come vuole che si comporti. Se ad esempio voglio che un personaggio si muova in un certo modo, lo fornisco di specifiche animazioni e gli dico di eseguirle. Questo è un approccio imperativo.

Esiste però un numero più circoscritto di componenti procedurali in cui l’uomo non dice alla macchina come si deve comportare ma solo che cosa vuole ottenere. La macchina esamina il risultato voluto e cerca di raggiungerlo autonomamente senza ricevere istruzioni precise sul COME raggiungere l’obiettivo. Ora, è chiaro che qui c’è della disonestà, è ovvio che le macchine non imparano da sole come fare, ovvero i componenti procedurali sono in realtà fatti di componenti imperativi, tuttavia la ricerca di persone come Ken Perlin si avventura proprio in questo campo: fornire componenti procedurali che possano essere usati in maniera rapida ed efficace.

Nell’ambito specifico delle animazioni, Ken Perlin si sta specializzando nel fornire componenti procedurali che permettano di muovere un qualsiasi personaggio virtuale dalla vita in giù, specializzandosi quindi primariamente nel movimento delle gambe e dei piedi. Con uno strumento del genere non è più necessario registrare animazioni specifiche, nè lanciarsi in massacranti sessioni di blending: è sufficiente dire al proprio personaggio che cosa vuole che faccia, il resto verrà gestito dall’animazione procedurale che tramite parametri davvero semplici da gestire può davvero spaziare all’infinito in quanto a variabilità, molto più di qualsiasi animazione registrata in maniera imperativa.

Mi scuso per la lunghezza della dissertazione, ma è solo per fare capire ai lettori meno tecnici l’importanza degli studi di Perlin.

Veniamo a un po’ di risate tutte norvegesi, giusto per fare capire che razza di barbari siano i nordici per certe cose. Una illustre società norvegese convoca un grande professore americano. I solerti dipendenti tra cui il sottoscritto dopo la conferenza lo portano in giro per l’ufficio e infine lo invitano a cena. L’allegro web designer austriaco, amico personale di Perlin, che ha invitato il professore è un vegano, così come Ken.

Domanda, dove porterai a mangiare un ospite illustre? MA E’ OVVIO! Nello schifosissimo indiano take away da cui ordiniamo la scroccocena! Sono rimasto esterrefatto, sono andati su internet, hanno visto che nel menu c’era “qualcosa che possiamo mangiare” e hanno deciso di andare lì, abbiamo preso la metro per andare in centro (pieno COSI’ di locali di ogni tipo) e siamo andati in una schifosissima trattoriazza indiana di sesta categoria che fa anche takeaway (la scroccocena era chiusa)…

Non ci potevo credere. Poi però ho visto che gli stranieri di cibo non capiscono un accidente e mi sono spiegato molte cose, tutti gli altri al tavolo tranne me e i francesi si stavano leccando i baffi di fronte alle “delizie” del ristorante di Giggi l’Indiano de Trastevere. Fortunatamente la serata era tutta incentrata sull’ospite, alla fine il luogo dove andare a mangiare era davvero irrilevante.

Pensierino della sera: quando finisci le frasi di uno come Ken Perlin, i casi sono due: o sta dicendo cose ovvie, oppure magari proprio scemo scemo non sei.

🙂

La fermata più pericolosa del mondo

giugno 24, 2008

Salve a tutti, sono tornato a Oslo dopo una settimana abbondante in Italia. Il volo da Bergamo è stato un po’ un massacro, sull’aereo non c’era niente da mangiare perchè il catering non aveva mandato i rifornimenti in tempo e la quantità di bambini strepitanti e cafoni era al solito vergognosa. Per fortuna una gentile signora che pensava che fossi norvegese mi ha raccontato diffusamente di tutti i cavoli propri, arrivando alla fine a parlarmi della figlia che ha studiato in italia e ora fa la stilista in norvegia. Dalla foto non mi è sembrata brutta :D.

La Norvegia mi ha accolto a suon di secchiate d’acqua GELIDE all’aeroporto di Sandefjord, i pochi metri per scendere dall’aereo ed entrare nel gate mi hanno fatto infradiciare completamente. Tra l’altro siamo anche arrivati in ritardo e io, forte del mio biglietto andata e ritorno del pullmann-navetta per Oslo (il Torpekspressen), mi sono scapicollato per raggiungere l’autobus ormai in partenza.

Qui però interviene la mia buona stella a soccorrermi! Alla fermata ci sono due pullman. Uno gremito con gente spalmata sui vetri, con una bella fila (sotto la pioggia). L’altro vuoto. Da bravo italiano la fila la ignoro e vado direttamente al pullman vuoto. Vengo “accolto” da un “amichevole” autista che mi rende edotto circa la situazione: se voglio andare a Oslo S direttamente devo prendere il CarnaioBus. Dopo avergli spiegato circa 3 volte che non voglio andare a Oslo S ma voglio scendere a Sjølyst finalmente capisce “Ah ma vuoi andare a Sjølyst?”, apre il bagagliaio e mi fa salire su questo lussuoso autobus… completamente vuoto :D.

Dopo qualche minuto salgono altre due persone, una tizia malese bagnata fradicia e un altro tizio straniero, che forse era pure italiano. La malese aveva una gran voglia di parlare, si chiama Cinciampai (solita alterazione dei nomi) e fa la broker per una nota società di brokeraggio internazionale, ha casa qui vicino e siamo rimasti che ci sentiremo. E’ qui per uno stage fino a fine luglio, poi torna in Malesia a lavorare per la stessa società ma a casa sua.

Arrivo finalmente a Sjølyst, ovvero come da titolo la Fermata più Pericolosa del Mondo. Recentemente ho scoperto che alla fermata dell’autobus a pochi metri da casa passa il 32, un simpatico autobus che pur facendo un giro del piffero attraverso la tangenziale di Oslo mi porta direttamente a Skøyen di fronte all’ufficio. E’ stata una scoperta eccezionale, la comodità è incredibile e mi ha permesso di rivalutare vagamente la rumorosissima e cara casa in cui vivo.

Ma perchè questa fermata, così comoda per l’ufficio, è la più pericolosa del mondo? Ma è semplicissimo! Perchè i norvegesi hanno pensato bene di rendere l’intero marciapiede della zona, che è sul lungomare, una intera PISTA CICLABILE! Quando arrivi la mattina, appena scendi dall’autobus come minimo ci sono 5-10 ciclisti, in ogni direzione, che sfrecciano VELOCISSIMI sul marciapiede. Ho già rischiato di essere tirato sotto almeno tre o quattro volte. Ma chi l’ha avuta questa pensata geniale? Roba da matti.

Saluti di oggi a mia sorella, che finalmente potrebbe avere passato il malefico scritto della materia più inutile del mondo.

“Pronto, parlo con Eusebio?”

giugno 10, 2008

Mi libero subito dell’argomento caldo della giornata, ovvero Italia-Olanda. Abbiamo giocato male, loro hanno giocato bene e abbiamo perso. Mi sembra sufficiente.

Il post di oggi invece è dedicato al modo in cui mi sono visto questa figuraccia europea della Nazionale. Qualche giorno fa mi arriva su Skype una richiesta da un utente che non conosco. Ogni tanto queste persone che ti contattano “a caso” sono interessanti perciò accetto. Nella mia migliore tradizione di gente dalle nazionalità strampalate, mi ritrovo a conoscere una ragazza bielorussa che però ha vissuto in germania che però ora vive in norvegia che però ama l’italia e studia italiano. Il solito fritto misto a cui vi ho abituato :D.

Fatto sta che questa ragazza, che per le solite ragioni chiameremo Irina, non solo è una fan sfegatata dell’Italia ma è anche una sportiva. Adesso ha un braccio rotto perciò si è messa in pianta stabile ad Akershus Festning (il bastione della fortezza di Akershus sul porto di Oslo) dove il munifico comune ci ha messo a disposizione un COLOSSALE megaschermo per le partite, ovviamente tutto gratuito.

Ci siamo visti dunque alla fortezza per “goderci” la partita (perdere 3-0 non è proprio divertentissimo), devo dire che i momenti sociali non sono poi stati moltissimi perchè Irina è veramente una fan sfegatata, appena comincia la partita va in trance sportiva, ma d’altra parte una partita della nazionale è sempre ipnotica, specie se piena di azioni come ieri.

La serata è stata interessante specie per il modo in cui il pubblico (non troppo devo dire) ha reagito alla partita. Più che un pubblico da stadio pieno di rimbecilliti violenti con severissimi problemi di atrofia cerebrale, sembrava di essere in un giardino tedesco. Tanti che bevono birra, stanno con gli amici, esultano se la squadra segna, si uniscono in un “Noooo!” quando la palla va fuori di un soffio, ma per il resto si divertono senza trasformarsi in delle bestie decerebrate.

Nel pubblico c’erano tanti olandesi, tanti norvegesi e anche tanti italiani. Mi viene da pensare che facciamo i cretini solo quando siamo in casa nostra…

C’è caso che forse siamo proprio dei cretini autolesionisti? E’ possibile :D.

Saluti speciali al Capitan Mattia, YARRR!

Indiana Jones e il Qualcosa boh… delle Cose

giugno 4, 2008

Forte di due biglietti gratuiti per il cinema offertimi dalla mia “munifica” megaditta, oggi sono andato al Colosseum di Majorstuen (il più grande cinema THX del mondo, giusto così tanto per) a vedere l’ultimo film di Stargate, pardon X-Files, pardon Indiana Jones.

Un Harrison Ford invecchiato ma sempre con un grandissimo carisma accompagna lo spettatore in una sequenza di scene totalmente scorrelate tra loro e prive di alcun senso o connessione con le altre. Una collezione di scene “stile Indiana Jones”, messe insieme in un frittatone di autocitazioni (carine), sequenze di azione (belle), il solito cattivo (piatto e privo di carattere… dove sono i nazisti!) e forze sovrannaturali (…).

E qui casca l’asino. Nei Predatori dell’Arca Perduta, avevamo i fantasmi dell’Arca. Nel Tempio Maledetto, il sacerdote di Kali strappa il cuore alle vittime sacrificali e queste sopravvivono. Nell’Ultima Crociata c’è addirittura il Graal. Tutte forze mirabolanti ma misurate, dosate. Non voglio guastarvi il film in alcun modo, ma se lo andate a vedere si capisce già dai primi 15 minuti dov’è che si vuole andare ESATTAMENTE a parare ovvero verso il ridicolo. Per usare una espressione colorita ma che credo che renda bene l’idea, direi che lo sceneggiatore (George Lucas) ha pisciato fuori dal vaso. Ma non un pochino sul bordo, proprio nel bagno del vicino.

In definitiva le scene d’azione, le citazioni e la musica ti fanno passare una bella serata, ma cavolo questo non è un film di Indiana Jones, è una sorta di filmetto fanservice nello stile giapponese, rilasciamo qualcosa solo perchè i fan ci stanno facendo due scatole così che vogliono un film nuovo (Burst Angel DX-1 anyone? :D). Mi sono fatto due risate giusto perchè c’era il mio amico Asdrubale con cui ho potuto dibattere sulla insensatezza della trama.

In definitiva: non mi aspettavo di divertirmi quanto mi divertivo da bambino con Indiana Jones. Ma cavolo il film di Indiana Stargate X-Files Jones no, e che diavolo. Fortissima delusione.

2/5 – Indegno scempio di una solida franchigia con idee idiote probabilmente originate dal fatto che George Lucas sa pensare solo a Star Wars.