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)
(ancora parole senza senso)
(sempre parole senza senso)
(mi sto sentendo male)
(…)