The Sims è una casa delle bambole digitale abitata da personcine virtuali. Ed è vostro compito tenerle in vita, renderle felici, e addobbare le loro case con ninnoli costosissimi. Ma la microgestione dei bisogni e dei desideri di una famiglia può risultare poco stimolante. E infatti gli sviluppatori di Maxis hanno capito di dover dare a questi personaggi una certa dose di autonomia. Il libero arbitrio, il potere di pensare per sé stessi se il giocatore smette di dare istruzioni. Che è… un lavoro decisamente complicato! Questi personaggi devono risultare degli umani credibili. E devono sapersi adattare alla casa che gli costruite intorno o al contesto sociale in cui si trovano. E, soprattutto, non possono essere così intelligenti da sostituirsi completamente al giocatore. Ma come si crea un'IA videoludica in grado di fare tutto questo? Sarà l'argomento di questo video. Esaminerò l'ingegnoso design di Maxis per i vari tipi di autonomia nei quattro titoli del franchise, pur concentrandomi sul gioco originale e, siamo onesti, sul migliore, che è The Sims 3. Non userò troppi tecnicismi ma troverete una vagonata di risorse nella descrizione se vorrete approfondire. Detto questo, io sono Mark Brown, questo è Game Maker's Toolkit, ed ecco come pensano i Sim. Il processo decisionale in The Sims è definito da un set di bisogni mentali e fisici che Maxis ha chiamato "motives". In The Sims 1 erano Fame, Igiene, Divertimento, Energia, Vescica, Relazioni, Comfort e Spazio, o Ordine. Vanno tutti da -100 a +100 e sommandoli si ottiene il livello di felicità complessiva del Sim. Questi valori diminuiscono costantemente, ognuno ad un ritmo diverso e più rapidamente se il Sim sta compiendo un'azione correlata. Ad esempio, mangiare fa diminuire più rapidamente il valore Vescica. Maxis ha regolato con cura ogni ritmo per imitare la tipica giornata di una persona prevedendo, ad esempio, otto ore di sonno e tre pasti al giorno. Se il giocatore non darà un comando al Sim questo deciderà da solo cosa fare, e la decisione sarà guidata dal desiderio di soddisfare questi bisogni. Si potrebbe presumere che un Sim sappia come soddisfare i propri bisogni: il gabinetto per svuotare la vescica, il frigo e i fornelli per placare la fame, e i libri, la tv e il biliardino per divertirsi. Ma non funziona così. Anzi, è proprio il contrario. Gli oggetti della casa di un Sim contengono questi dati e comunicano cosa possono offrire. Un letto dirà "dormi per ottenere 10 punti Energia," l'uso del gabinetto aumenterà di 20 il punteggio Vescica, mentre pulire la stanza garantirà 5 punti Spazio. Gli altri Sim, invece, serviranno ad aumentare i punti Relazioni. Maxis li chiama "annunci". Ogni volta che un Sim deve prendere una decisione, crea rapidamente un elenco di tutti gli oggetti della casa e delle loro offerte. Il Sim registra quindi i valori degli annunci e li valuta in base ai suoi bisogni. Lo fa applicando un moltiplicatore al punteggio atteso determinato dagli attuali livelli dei bisogni del Sim. Ad esempio, se il Sim è ben riposato, il punteggio Energia del letto verrà ridotto, ma se il Sim è sfinito allora lo stesso punteggio aumenterà moltissimo. Il Sim raccoglie quindi la lista delle interazioni, i punteggi ponderati, e li ordina. In cima alla lista c'è l'interazione che in quel momento garantirà il maggior beneficio al Sim e che diventerà la priorità del nostro amico digitale. Questa astuta soluzione è stata ispirata da un designer del precedente gioco di Will Wright: SimAnt, una colonia di formiche virtuale dove gli animaletti si muovono in base all'attrazione dei feromoni. È fondamentalmente la stessa idea, ma al posto dei feromoni ci sono la TV, il frigo, il flipper e la vasca da bagno. Ma le persone non sono formiche e se il sistema fosse stato implementato senza cambiamenti avrebbe generato comportamenti bizzarri, facendo apparire i Sim robotici o irrazionali. Per questo sono servite molte regolazioni per farlo funzionare a dovere. Ad esempio, non tutti i bisogni sono uguali. Se un Sim sta morendo di fame e di noia, probabilmente dovrebbe mangiare un panino invece di aprire Netflix. Ma se il frigo e la TV offrono la stessa ricompensa, cosa dovrebbe scegliere? Si può ottenere un comportamento più razionale definendo una curva per ogni bisogno. La curva della fame deve essere così. Il punteggio del frigo è prossimo allo zero quando il Sim è sazio, mentre è altissimo quando il Sim patisce la fame, diventando così il bisogno più importante. Gli altri bisogni fisiologici hanno curve più piatte, come Vescica, Igiene ed Energia. Al contrario, bisogni meno importanti come Divertimento, Relazioni e Comfort aumentano man mano che il Sim diventa più felice. È un'idea che si ispira alla piramide dei bisogni di Maslow, secondo la quale gli umani si dedicano a compiti cognitivi e sociali solo dopo aver soddisfatto i bisogni primari. Insomma, se vi scappa la pipì il divertimento passa in secondo piano. I punteggi vengono ponderati anche in base ad altri fattori. Ad esempio, ogni Sim ha una personalità basata su punteggi in aree come Gentilezza, Ordine e Allegria. Anche se un flipper e una libreria offrono gli stessi punti Divertimento, un Sim li valuterà in base al suo livello di Allegria. Quindi un Sim più serio opterà per il libro. Inoltre l'interazione verrà ponderata a seconda della distanza dal Sim, rendendo più allettanti gli oggetti vicini. Infine, alcune interazioni hanno la priorità assoluta – come una telefonata o lo scuolabus. Altre invece sono vietate, facendo in modo che determinati oggetti vengano ignorati dai bambini, dagli adulti, oppure dagli ospiti. Combinati, questi fattori delineano un punteggio adattato ai vari bisogni, alla personalità e alla vicinanza del Sim. Ed è in base a questi punteggi che viene scelta l'azione successiva del Sim. Ma, ed è forse l'aspetto più importante, un Sim non sceglie sempre l'opzione migliore. Al contrario, un Sim opta casualmente per una delle interazioni migliori. In questo modo i Sim risultano meno robotici e prevedibili, oltre a non soddisfare al meglio i propri bisogni. Sì, insomma… in modo che il giocatore abbia qualcosa da fare. Quella che ho descritto è un particolare tipo di IA chiamata "IA utilitaristica," o "IA basata sui bisogni." In questo sistema un personaggio ha un insieme predefinito di bisogni, vaglia le opzioni a disposizione e sceglie quella che soddisferà al meglio i suoi bisogni, quella con la maggiore utilità. In The Sims consente alle personcine di abitare qualsiasi casa agendo in modo realistico: sfamarsi e riposare quando è necessario, socializzarsi e divertirsi quando è il momento. Inoltre, associando le informazioni agli oggetti e non al Sim, per Maxis è facilissimo aggiungere al gioco centinaia di oggetti o creare innumerevoli espansioni senza mettere mano al codice. È per questo che il sistema di base è stato usato nei quattro titoli del franchise. Eppure Maxis ha voluto fare un passo ulteriore per la creazione dell'ambizioso terzo gioco della serie. Ricapitolando, in The Sims 1 abbiamo visto come la personalità di ogni Sim – ad esempio il suo l'Ordine o l'Allegria – influenza il suo processo decisionale. Questo rende ogni Sim unico nel suo genere. Ma in The Sims 3 questo concetto è stato decisamente ampliato sostituendo i valori della personalità con i tratti. Cose come Ordinato, Nevrotico, Sonno Pesante o Fatica ad Impegnarsi. Cinque slot per i tratti e oltre 60 tratti nel solo gioco di base permettono circa 5 milioni di Sim e, di fatto, l'unicità di ogni personaggio. Questi tratti influenzano il Sim in vari modi: un Sim goffo incespicherà mentre cammina, se è sciatto rutterà e scoreggerà quando è inattivo. I Sim inoltre hanno dei moodlet bonus se agiscono seguendo i loro tratti, e ci sono delle interazioni esclusive per i Sim con determinati tratti: ad esempio un genio dei computer può guadagnare grazie all'hacking. Ma questi tratti influenzano anche il processo decisionale del Sim. Questa volta, invece di confrontare i punteggi con la personalità del Sim, The Sims 3 si limita ad aggiungere dei bisogni alla lista. Nel codice, ogni Sim ha i soliti bisogni di base come Fame, Energia e Vescica, ma anche altri cinque bisogni collegati ai suoi tratti. Quindi un Pantofolaio ha bisogno di sedersi sul divano e guardare la TV tanto quanto ha bisogno di fare pipì, mangiare e dormire. E poi, come un frigo si dimostra un rimedio per la fame, gli oggetti possono dimostrarsi dei rimedi per i bisogni collegati ai tratti del Sim. Ad esempio, interazioni come spaventare un Sim, rubare le caramelle, distruggere una casa delle bambole e comportarsi come un troll al computer si riservate ai Sim con il tratto Malvagio. I Sim sono quindi incoraggiati ad agire autonomamente seguendo la loro personalità e gestendo al contempo le normali esigenze quotidiane. L'idea di aggiungere dei bisogni ai Sim può essere utile anche per simulare i contesti sociali. Ad esempio, un Sim che va in palestra avrà il bisogno aggiuntivo e temporaneo Andare in palestra soddisfatto da oggetti come la panca per allenamenti o il tapis roulant. Quando se ne va, il bisogno scompare. Tornato a casa, un Sim vorrà essere accogliente fintanto che ci saranno degli ospiti. Questi ultimi, invece, saranno motivati a comportarsi in un modo socialmente accettabile. E in The Sims Medieval, un Sim ha dei bisogni correlati al lavoro che sta svolgendo che svaniscono durante la pausa. Ma questi bisogni possono essere anche influenzati dai tratti. Ad esempio, se un Sim si mette a fare un picnic, i suoi amici e familiari saranno spinti ad unirsi a lui, al contrario degli sconosciuti. Ma un Sim col tratto Inappropriato ignorerà questa indicazione e sarà motivato a sedersi con persone che non conosce. Giusto per farle sentire a disagio. In questo modo i Sim agiranno in modo naturale e credibile in ogni tipo di contesto, sebbene alcuni abbiano dei comportamenti peculiari a causa della loro personalità. E tutto questo semplicemente regolando i bisogni dei Sim invece di scrivere a mano il codice per specifiche regole ed interazioni. Nonostante questo, talvolta servono regole più codificate. Prendiamo il già citato caso delle visite: un Sim ospite è motivato ad agire in modo appropriato. Ma cosa succede se rimane troppo a lungo? O se il giocatore interviene e lo fa agire in modo inappropriato? Come forma di controllo, le visite in casa sono supervisionate da un insieme di regole che definiscono le norme sociali. Se un Sim dorme nel letto del padrone di casa o usa il suo computer, le regole dicono al padrone di casa di avvertire il Sim ed eventualmente di cacciarlo fuori nel caso continuasse. Allo stesso modo, le conversazioni richiedono più artigianalità quando coinvolgono specifiche coppie di persone o particolari segnali sociali. Ad esempio, come dovrebbe reagire un Sim ad una battuta se a raccontarla è qualcuno con cui è furibondo? O se l'altro Sim ha ripetuto la stessa battuta per cinque volte di fila? La gestione è affidata ad una serie di regole con un input, un insieme di condizioni e l'output. Nell'esempio della battuta, l'ascoltatore riderà se ha il tratto Senso dell'umorismo. Se la relazione tra i due è in crisi, lo insulterà. E nel caso di una battuta ripetuta, l'ascoltatore si annoierà. Queste cosiddette "regole di produzione" sono ordinate in base alla specificità definita dal designer, e gli output prevalenti fungono da risposta. Maxis ha scritto a mano migliaia di regole per determinare l'esito di centinaia di possibili argomenti di conversazione. Ma dato che le regole sono un semplice elenco ed è la più specifica ad essere scelta, non possono entrare in conflitto, causare un loop infinito o qualche altro tipo di problema. Proprio come per gli oggetti, i designer possono semplicemente allungare l'elenco a piacere. Finora ho parlato di singoli Sim o di piccoli contesti sociali come una conversazione o una festa. Ma se dovessimo simulare un'intera città di personcine? Vedete, in The Sims 3 la vostra casa esiste in un vicinato open-world con dozzine di altri Sim, che prevede case, ristoranti, un parco, e così via. Per l'occasione Maxis ha dovuto implementare nuovi strumenti ma, in realtà, il vicinato non si comporta così diversamente dai Sim stessi. Questo perché la città ha a sua volta dei bisogni che soddisferà compiendo delle scelte. Ad esempio, potrebbe voler mantenere un equilibrio tra i generi. Quando un Sim entra a far parte del vicinato, la probabilità che sia maschio o femmina è ponderata in base al bisogno attuale della città. C'è poi il tasso d'occupazione ideale che è circa dell'80%, e questo può spingere gli altri Sim ad essere assunti o licenziati a seconda della necessità. Semplificando, alla mezzanotte di ogni giorno la città controlla il suo livello di felicità e svolge le azioni necessarie a soddisfare i suoi bisogni. Anche i singoli lotti hanno dei bisogni. Ad esempio, il ristorante potrebbe volere otto persone che mangiano all'esterno sia a pranzo che a cena. Per riuscirci, il lotto potrebbe dare temporaneamente il bisogno Mangiamo Fuori ad alcuni Sim per invogliarli ad andare al ristorante. Può restringere il campo ai Sim con certi tratti – come Cuoco Provetto – e scoraggiare chi ha altri tratti, ad esempio Frugale. I Sim che vanno al ristorante sembrano dei personaggi totalmente autonomi. Hanno dei bisogni, una famiglia, potrebbero aver avuto un figlio e cambiato lavoro dal vostro ultimo incontro. Stanno effettivamente vivendo la loro vita simulata lontano dalle telecamere? Non proprio. I Sim di contorno sono simulati ad un livello di dettaglio molto basso. Quotidianamente, il sistema analizza ogni Sim e valuta i grandi cambiamenti che potrebbero accadergli, come trovare un lavoro, innamorarsi o sposarsi. Questi vengono ponderati in base ad elementi come i tratti, le relazioni esistenti e i percorsi di carriera. Inoltre i designer hanno creato i grafici per i bisogni che un Sim potrebbe avere durante il giorno. Ad esempio, difficilmente sarà affamato subito dopo pranzo. E così, quando un Sim di contorno diventa un Sim di primo piano perché è nelle vicinanze del giocatore, il sistema controlla l'orario e mette a grafico tutti i suoi bisogni. Brillante. E così abbiamo gli strumenti per simulare personaggi, conversazioni, visite, ristoranti ed intere città. E con delle tecniche così efficaci è allettante simulare… beh, ogni cosa. Prendiamo, ad esempio, la regola dell'orinatoio. Se fate pipì in piedi, avete capito il problema. Quando scegliete dove farla, dovrebbe esserci almeno un orinatoio tra voi e le altre persone. È una sorta di regola sociale non scritta. Maxis aveva deciso di implementarla per poi eliminarla poco prima del lancio. Questo perché i Sim che seguivano la regola rendevano la situazione prevedibile e noiosa. Invece, con gli orinatoi scelti causalmente, si assistevano a momenti divertenti e memorabili frutto di comportamenti imbarazzanti. Sebbene The Sims sia nato come un simulatore piuttosto nerd – essenzialmente un Sim City in scala ridotta – è diventato ben presto qualcosa di molto diverso. Durante i playtest del gioco originale, Will Wright non si aspettava che i giocatori raccontassero le vicissitudini delle loro famiglie Sim, romanzandone i dettagli, analizzando le loro decisioni e rievocando dei momenti qualsiasi. «Era affascinante vedere quanto facilmente nascessero delle storie,» dice Wright. E così Maxis aggiunse una funzionalità dell'ultimo minuto: la possibilità di fare uno screenshot, scrivere una didascalia, e creare un semplice fumetto che poteva essere caricato nel sito di EA in un click. La funzione ebbe molto successo, dimostrando che per molte persone The Sims era uno strumento narrativo. E lo è tuttora: cercate "The Sims" su YouTube per capire cosa intendo. Ma supportare la narrazione è un atto di equilibrio. Il gioco dev'essere abbastanza specifico da creare delle storie ma senza togliere spazio all'immaginazione del giocatore. L'ultimo pezzo di questo puzzle sull'IA è sapere quando fare un passo indietro. Sapere cosa non simulare. Sapere quando rendere casuale e non scriptata la scelta dell'orinatoio. Una possibile soluzione è l'uso attento dell'ambiguità. In sostanza, lasciare qualcosa di non-detto affinché i giocatori facciano delle ipotesi e proiettino la loro visione sugli eventi a schermo. Un buon esempio è l'iconico balbettio dei Sim conosciuto come "Simlish". Nei primi design document si legge che Maxis sperimentò l'uso di linguaggi reali per i Sim, come l'inglese, il navajo, l'estone e l'ucraino. Ma per motivi tecnici e logistici finì con l'assumere due comici improvvisatori per inventare dei suoni privi di senso. SIM: Droba droba droba. Seeka neeba huh. (risate) MARK: Eppure funzionò a meraviglia. Quando i Sim farfugliano tra di loro il giocatore può fare ipotesi, riempire i vuoti, proiettare la sua immaginazione sui Sim e personalizzare il gioco. «Se avessimo usato una lingua reale, il gioco avrebbe perso complessità e profondità. E tutti avrebbero vissuto la stessa esperienza,» afferma Matt Brown di EA. Nessuna parentela. Inoltre l'ambiguità può far sembrare i Sim più intelligenti di quanto non siano e celare i casi in cui la simulazione fa qualcosa di sbagliato. Un altro approccio è seguire sempre la guida del giocatore, e non usare mai l'autonomia per contraddire la storia che il giocatore sta cercando di raccontare. I Sim useranno il libero arbitrio per svuotare la vescica e riempiersi lo stomaco ma non per lasciare il lavoro o frequentare un Sim a caso. Proprio come il Nemesis System in Shadow of War, Maxis si è ispirata al concetto del "Sì, e…" tipico della commedia dell'improvvisazione. I Sim cercano di basarsi sulle azioni del giocatore cercando di non contraddirle. Ad esempio, se un giocatore fa innamorare due Sim, il sistema autonomo non dovrebbe farli lasciare. Allo stesso modo, i Sim creati dall'utente non esordiscono con una preferenza sessuale. Ma se dite, ad esempio, ad un Sim maschio di flirtare con altri maschi, state suggerendo che dovrebbe essere bi o gay, e il gioco se ne ricorderà. Il gioco cercherà di rispettare la coerenza della storia del giocatore. The Sims ha quindi un'IA affascinante che consente simulazioni umane verosimili e una narrazione creativa guidata dal giocatore. Ed è quasi tutto basato su un concetto semplicissimo. Personaggi, luoghi ed interi vicinati hanno un insieme di bisogni che cercheranno di essere soddisfatti tramite delle scelte. Grazie a delle sottili regolazioni si otterranno dei personaggi credibili, situazioni sociali in cui i Sim si comportano in modo appropriato ed interi vicinati che risultano coerenti ed equilibrati. Ma tutto questo non è utile solo per gestire una simulazione di vita divertente e senza obiettivi. Possiamo notare che l'IA utilitaristica è usata anche in altri tipi di gioco. Ad esempio, in XCOM, un'unità nemica terrà conto di tutte le caselle che può raggiungere e le valuterà in base a fattori come la distanza, l'attacco ai fianchi, l'angolo, il bonus di copertura, la visibilità e la prossimità, prima di muoversi verso la casella col punteggio migliore. Può essere usata anche nella generazione procedurale per costruire mondi che prevedono determinati requisiti. L'IA utilitaristica è una fantastica aggiunta alla cassetta degli attrezzi dello sviluppatore e la sua implementazione in The Sims dovrebbe essere una meravigliosa fonte d'ispirazione per i game designer. E ora, solo per farvi sbroccare, ecco Katy Perry che canta in Simlish. KATY PERRY: (parole senza senso) (parole senza senso) (ancora parole senza senso) (sempre parole senza senso) (mi sto sentendo male) (…)