Blog

Scripting e Intelligenza Artificiale

di Simone Soletta, pubblicato il

Ne sentiamo parlare ormai da anni, da sviluppatori e produttori che, a quanto pare, pensano che “scriptare” un gioco sia ormai una pratica da confinare nel passato. L’intelligenza artificiale sempre più raffinata, le reazioni inattese, quella cosa che “abbiamo visto fare al tester e che a noi non era mai capitata”. Tutte balle?

Probabilmente no, l’evoluzione comportamentale degli attori digitali è cresciuta molto, in questi ultimi anni, ma chi pensava che ci si potesse già affrancare da una sequenza di eventi preordinati, per quanto intelligente e variegata, probabilmente sbagliava. È quanto è uscito fuori da un’interessante conferenza “Post Mortem” sull’intelligenza artificiale applicata a tre giochi di grande impatto: Spore, Bioshock e Gears of War 2.

Tra i titoli presentati, quello forse meno indicativo è il primo, appartenente a un genere a sé e quindi chiamato a rispondere in modo diverso alle sollecitazioni dell’utente. Eric Grundstrom di Electronic Arts ha infatti illustrato come i vari livelli d’interazione che il gioco proponeva durante il suo svolgimento, dalla creazione della vita alla gestione “planetaria”, richiedevano l’applicazione di routine differenti a seconda dei casi, in modo che l’esperienza di gioco fosse sempre appagante quale che fosse lo “status” raggiunto dal giocatore.

Tra i principali obiettivi raggiunti dall’IA in questo curioso titolo “Player vs. Environment”, Eric ha citato innanzitutto la credibilità dei comportamenti degli NPC proposti, testimoniata dal fatto che i giocatori ben presto sapevano cosa aspettarsi da loro e ne seguivano i percorsi logici. Percorsi che, come la complessità della simulazione dei vari aspetti proposti, è comunque bene che restino nascosti, dando al gioco un’esperienza profonda senza per questo accrescere la complessità dell’interazione. L’esempio usato, molto calzante in verità, è quello di un’automobile: complicatissima a livello meccanico, elettrico, progettuale, ma semplicissima da guidare.

Secondo Eric, però, ogni nuova creazione, ogni nuova “proprietà intellettuale”, deve basarsi su sistemi di sviluppo di cui si ha una grande esperienza. Il concetto è che se si inventa un’idea, il motore che la fa muovere deve essere necessariamente ben collaudato, o si rischia di mettere sul piatto troppe variabili e di accrescere oltre i limiti del gestibile il livello di complessità dello sviluppo.

Insomma, non si può innovare tutto, e questa verità viene su per giù confermata anche dai successivi interventi. Matt Tonks di Epic Games parla di Gears of War 2, e indica tutta una serie di problemi vissuti a causa dell’interazione tra gli script e le routine di intelligenza artificiale. In particolare, la fase di debug può diventare un vero e proprio incubo quando non si capisce da dover derivi un movimento o un’azione vista nel gioco.

Alla fine, ne scaturisce che l’intelligenza artificiale di un gioco d’azione può tranquillamente basarsi su una serie di “stati”, una lista di azioni da compiere in ordine di importanza che il motore del gioco applica a seconda dei casi. Nulla, insomma, di particolarmente rivoluzionario, ma una soluzione funzionale all’esperienza di gioco.

Una conferma in tal senso viene da John Abercrombie, e dalla sua esperienza nello sviluppo di Bioshock. L’approccio al gioco, inizialmente, prevedeva l’utilizzo del minor numero possibile di script per la gestione degli eventi e dell’intelligenza artificiale. Come lo stesso John ha puntualizzato, si è trattato di un clamoroso errore di valutazione. Non si può basare tutto sulla simulazione, o si rischia di perdere il controllo degli eventi e, soprattutto, di impazzire in fase di bugtesting.

La diapositiva qui sotto, insomma, è chiarissima: tutto quello che si può scriptare, si deve scriptare. Più controllo equivale a meno problemi, e di questo lo sviluppo del gioco non può che avvantaggiarsi. Al di là di roboanti comunicati stampa…


Commenti

  1. Zendo

     
    #1
    Questi due passi sono davvero significativi e rendono piu'chiara la complessità che sta dietro lo sviluppo di un gioco per implementare una buona ia e poi nell'ultima fase di debug con relativi problemi.


    ''Insomma, non si può innovare tutto, e questa verità viene su per giù confermata anche dai successivi interventi. Matt Tonks di Epic Games parla di Gears of War 2, e indica tutta una serie di problemi vissuti a causa dell’interazione tra gli script e le routine di intelligenza artificiale. In particolare, la fase di debug può diventare un vero e proprio incubo quando non si capisce da dover derivi un movimento o un’azione vista nel gioco.''

    Certo che noi giocatori non ci rendiamo conto di quanto sia complicato sviluppare un gioco.




    ''Alla fine, ne scaturisce che l’intelligenza artificiale di un gioco d’azione può tranquillamente basarsi su una serie di “stati”, una lista di azioni da compiere in ordine di importanza che il motore del gioco applica a seconda dei casi. Nulla, insomma, di particolarmente rivoluzionario, ma una soluzione funzionale all’esperienza di gioco.''

    ...forse questa è appunto l'unica soluzione possibile,o cmq la piu'comoda per non avere eccessivi intoppi successivamente .
  2. Magallo

     
    #2
    Interessante anche se molto molto tecnico. D'altra parte alla GDC si parla principalmente di questo quindi...
  3. gahn

     
    #3
    Magallo ha scritto:
    Interessante anche se molto molto tecnico. D'altra parte alla GDC si parla principalmente di questo quindi...
      Beh dai "molto molto tecnico" non direi, mi è sembrato anzi molto semplificato per far capire un po' a tutti il perchè le scene scriptate non si possono (ancora) eliminare.
    Ma del resto era naturale, non è che un nemico mentre sta sparando può iniziare a ragionare su cosa fare come se stesse giocando a scacchi, altrimenti ora che quello si decide noi l'abbiamo già sforacchiato :)

    G.
  4. |Sole|

     
    #4
    Sì, come dice gahn è semplificato... nel senso che loro hanno semplificato una roba complicata, che comunque è arrivata complicata e io ho semplificato ancora :)
Commenta

Per scrivere su Videogame.it devi essere registrato!