Flow e Aggiustamento dinamico della difficoltà

Quante volte è capitato, giocando a un FPS, di “capire” come ragiona il gioco dopo poche ore? Oppure che con il proseguire del gioco questo diventi via via più facile, invece di essere più impegnativo? Una delle possibili cause è l’Intelligenza Artificale del gioco, troppo statica e prevedibile. Per chi ha a che fare con l’IA dal punto di vista accademico, queste sono problematiche molto interessanti. Come dovrebbe essere l’IA di un videogioco perché questo continui ad essere divertente nel tempo (o almeno fino al raggiungimento dei titoli di coda)? Questa è la domanda a cui abbiamo cercato di rispondere con la nostra ricerca.

Uno dei problemi più rilevanti nel campo dei giochi commerciali è quello della difficoltà. L’obiettivo attuale degli sviluppatori è quello di creare un gameplay (l’esperienza di gioco) che sia coinvolgente per tutti i diversi tipi di utenti, sia che siano videogiocatori esperti, sia che siano giocatori occasionali. Le soluzioni classiche al problema della difficoltà sono due: bilanciare i diversi elementi del gioco (tramite testing e in base alle decisioni del designer) in modo che offra un bilanciamento che funzioni bene nella media dei casi; la seconda scelta sta nel dare direttamente al giocatore la possibilità di scegliere tra diversi livelli di difficoltà. Considerando l’ampio ventaglio dei livelli di abilità dei giocatori e la loro diversa tolleranza verso la frustrazione, è praticamente impossibile sviluppare giochi con un livello di sfida adeguato a tutti, usando le tecniche convenzionali [1].
230810-flow

Figura 1: L'esperienza di Flow si ha quando il tasso di sfida è bilanciato dal livello di abilità dell'individuo. Un tasso di sfida troppo alto porta agitazione e frustrazione. Un livello di sfida troppo basso, rispetto all'abilità dell'individuo, provoca noia.

Ritornando all’obiettivo che persegue il videogioco, ossia essere coinvolgente, possiamo collegarci al concetto di esperienza Flow definito da Csikszentmihalyi [2]. Il concetto di Flow si riferisce all’esperienza ottimale per l’individuo: una persona nello stato di Flow sente un profondo piacere nello svolgere un determinato compito, cosa che gli riesce naturale e senza sforzi, pur essendo concentrato e impegnato pienamente nel farlo. Un aspetto fondamentale di questa teoria è che nel perdurare dello stato di Flow c’è un bilanciamento continuo tra la sfida proposta dal compito e l’abilità crescente dell’individuo [3]. Se il tasso di sfida supera il livello di abilità, il compito non riesce a essere superato e ciò genera ansia nell’individuo. Se la sfida è invece minore dell’abilità, l’individuo si annoia. Fortunatamente le persone hanno un margine di tolleranza, ed esiste quindi una zona sfumata in cui l’attività non è né troppo impegnativa né troppo noiosa [2] (vedi Figura 1).
Questa descrizione di Flow è identica a quello che accade quando una persona è totalmente immersa in un videogioco. Quando è in questa fase, il giocatore perde il senso del tempo e dimentica tutte le pressioni esterne. È ovvio che i giocatori valutino un videogioco in base a se il gioco causa o no in loro un’esperienza di Flow [4]. Traducendo i principi introdotti da Csikszentmihalyi nel campo del game design, Jenova Chen propone che un gioco, per provocare un’esperienza di Flow, debba possedere queste caratteristiche [5]:

  1. Come premessa, il gioco deve essere intrinsecamente gratificante e il giocatore deve aver voglia di giocarvi.
  2. Il gioco deve offrire il giusto grado di sfida per bilanciare l’abilità del giocatore, e consentirgli di addentrarsi in profondità.
  3. Il giocatore deve percepire un senso di controllo sull’attività del gioco.
Come risultato, il gioco coinvolgerà il giocatore fino a fargli perdere il senso del tempo e la propria consapevolezza.
230810-flow-2

Figura 2: flOw

Se il punto 1 e il punto 3 sono raggiungibili esclusivamente tramite una buona progettazione, l’obiettivo descritto nel secondo punto è ottenibile anche in altro modo, per esempio modificando la difficoltà del gioco dinamicamente.
L’aggiustamento dinamico della difficoltà (Dynamic Difficulty Adjustment, DDA) indica l’abilità di un gioco di adattare automaticamente il livello di difficoltà del gameplay per adeguarsi alle capacità e alla tolleranza del giocatore [1].
Il metodo più semplice per ottenere questo effetto è monitorare la performance del player (tipicamente attraverso il numero di vittorie e di sconfitte), e modificare i parametri interni al gioco per variare il livello di sfida. Questo metodo, già usato in diversi giochi commerciali, permette di venire incontro ai giocatori che incontrano più difficoltà rendendo il gioco più accessibile.
Alcune tecniche usate a questo scopo consistono nel distribuire nell’ambiente di gioco oggetti curativi, ridurre il danno portato dai nemici, ridurre la loro velocità o la loro capacità di mira; modificando questi parametri nel senso opposto è possibile innalzare il tasso di sfida per i giocatori più esperti. Il difetto di queste tecniche è che le modiche sono puramente quantitative; esse non riescono a offrire sfide diverse a seconda del giocatore, ma solo a proporre leggere variazioni su uno stesso tema. È possibile offrire al giocatore nuove sfide, adatte al suo livello di abilità, attraverso l’apprendimento.

230810-flower

Figura 3 : Flower

Nei prossimi articoli parleremo più nel dettaglio dell’utilizzo dell’apprendimento nei videogiochi, e di come questo possa essere usato per migliorare l’esperienza del player.

Riferimenti bibliografici:
[1] C. Bailey and M. Katchabaw. An experimental testbed to enable auto-dynamic difficulty in modern video games. Proceedings of the 2005 GameOn North America Conference, 2005.
[2] M. Csikszentmihalyi. Flow: the psychology of optimal experience. New York: Harper & Row, 1990.
[3] N. Falstein. The flow channel. Game Developer, 11(5), 2004.
[4] R. Holt and J. Mitterer. Examining video game immersion as a flow state. Proceedings of the 108th annual psychological assoc, Washington DC, 2000.
[5] J. Chen. Flow in games (and everything else). Communications of the ACM, 50(4):31-34, 2007.
Questo articolo è un estratto (leggermente adattato) della tesi “Studio di tecniche di apprendimento per rinforzo per il coordinamento di sistemi multiagente nella realizzazione di videogiochi adattivi” (2008) di Marco Canala e Paolo Tajè. Sono entrambi membri del team indipendente BloodyMonkey.
Leggi i 14 commenti a questo articolo