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)
(…)