Students Save 30%! Learn & create with unlimited courses & creative assets Students Save 30%! Save Now
Advertisement
  1. Game Development
  2. Artificial Intelligence
Gamedevelopment

Creare una AI divertente: quando l'abbastanza buono è abbastanza buono

by
Length:MediumLanguages:

Italian (Italiano) translation by Mirko Pizii (you can also view the original English article)

Fare buona intelligenza artificiale di avversari controllati dal computer è difficile. Programmazione di un gioco come correnti d'aria non è terribilmente impegnativo; Aggiunta convincente AI, tuttavia, potrebbe richiedere più di fare il gioco stesso. Ma cosa facciamo quando facciamo AI? È importante per poter esaminare ogni possibile mossa sulla scacchiera, o possiamo imbrogliare e solo farla muovere in modo casuale? Cosa serve per fare un'IA, e (soprattutto) come possiamo garantire che il gioco è divertente?

Buona AI vs divertimento IA

Il termine "AI" è un concetto molto ampio, e il tipo di Ia dipende dal gioco. Giochi asimmetriche, come Space Invaders, Mario o Torre di difesa, permettono al giocatore di tagliare attraverso distese di nemici senza sforzo. Poiché le "squadre" (giocatore contro tutto il resto) sono sbilanciati, questi giochi tendono ad usare AI muti. Giochi simmetrici, come Starcraft, Street Fighter o civiltà, si aspettano il giocatore da battere avversari su parità e lo richiedano AI più complessi.

Space Invaders on the left Starcraft on the right The player is fighting an alien horde in both in Starcraft however they tend to fight back
Invasori dello spazio a sinistra, Starcraft sulla destra. Il giocatore sta combattendo un'orda aliena in entrambi; in Starcraft, tuttavia, tendono a reagire.

Tuttavia, giochi devono essere divertimento, prima di tutto. I giocatori godono di una sfida, non perdere più volte. Infatti, alcuni giochi come dama "risolti", che significa che è possibile costruire un'IA che gioca un gioco imbattibile.

Quando la mia squadra ed io stavamo lavorando sul nostro gioco di scheda di computer infetti, abbiamo dovuto fare del primo livello intenzionalmente orribile così come non per spaventare i giocatori. Il gioco AI era inizialmente piuttosto semplicistico, e il computer sarebbe giocare iper aggressivo, concentrandosi interamente sul punteggi alti riproduce con nessun pensiero della presenza di difesa o pensione.

Anche se l'IA era scadente, abbiamo trovato che nuovi giocatori avrebbero schiacciati e perdono interesse. Abbiamo rivisto AI più volte, anche se ha ancora dimostrato troppo di una sfida per i giocatori. Alla fine, abbiamo semplicemente rimosso l'intelligenza artificiale, così il gioco sarebbe solo fare un casuale spostare ogni volta. Anche se alcuni giocatori ancora riuscito a perdere, questo enormemente migliorata fidelizzazione dei giocatori, che ci permette di reintrodurre AI "grave" a livelli più alti.

Infetti, un gioco piuttosto pesantemente basato su un gioco di Amiga con lo stesso nome.

Il problema del "too good" AI può essere visto in una varietà di giochi: giochi FPS con i bot che hanno visione a 360 gradi, o beat-em-up contro i bot con riflessi perfetti. Giocando contro questi AIs non effettivamente insegna al giocatore di giocare il gioco bene: gli insegna a "gioco" il bot, per cercare di trovare un difetto nell'algoritmo che permette la facile uccide.

Questo non vuol dire che tutti AI dovrebbe essere poveri, ma piuttosto che AI buoni è multi-sfaccettato. Esso fa degli errori, ma cerca di evitare di cadere negli stessi schemi prevedibili. Dando l'IA la capacità di adattarsi — e, di conseguenza, per fornire la varianza nel gameplay — probabilmente fornirà intrattenimento molto di più per il giocatore di un'IA che gioca lo stesso gioco perfetto ogni volta.

Youre nothing but a pack of cards cries Alice Unrealistic AI might make us call out something similar Youre nothing but a bunch of code
"Non sei nient'altro che un mazzo di carte!" grida Alice. Irrealistico AI potrebbe farci chiamare qualcosa di simile: "Non sei altro che un mucchio di codice!".

Che li rende umani

Dopo aver apportato Infected, abbiamo brevemente giocato intorno con un sequel, 2 infetti. Era la stessa premessa, ma su scala più ampia, simile al classico gioco da tavolo rischio. Perché il gioco era più grande, era importante avere drasticamente migliorata intelligenza artificiale: qualcosa che potrebbe intrattenere il giocatore nel corso di un gioco molto più lungo, e dove più AIs potevano competere contro l'altro.

Abbiamo collegato AI vecchio, e c'erano diversi problemi con esso. L'IA era prevedibile, ma che era qualcosa che potrebbe essere migliorata con un po' di lavoro. Il problema più grande era per quanto riguarda l'atteggiamento generale dell'intelligenza artificiale, e come ha giocato.

C'erano tre problemi principali:

  • In primo luogo, giocando contro l'AIs non era particolarmente divertente.
  • In secondo luogo, battendo l'IA non era particolarmente gratificante.
  • In terzo luogo, l'intelligenza artificiale sarebbe "barare" lanciando deliberatamente il gioco.

Il gioco è stato divertente contro altri giocatori, ma non contro l'intelligenza artificiale. Anche se c'era ancora lo stesso livello di sfida, perché c'era una tale massiccia disparità tra giocatore contro l'intelligenza artificiale e giocare contro un'altra persona, se il gameplay è stato lo stesso?

Abbiamo poi ricordato che gli esseri umani hanno un computer cosa non: emozioni.

Parte di un gioco è sempre emotivo; Noi amiamo una vittoria emozionante, odiamo una sconfitta schiacciante. Noi amiamo a strofinare le nostre vittorie nei volti dei nostri amici, e diventiamo meschino e vendicativo quando ci tradiscono. Giochi sono intrinsecamente legati alle nostre emozioni ed è qualcosa che AI non possa mai sperimentare... ma è qualcosa che gli sviluppatori possiamo emulare.

La scintilla vitale

Perché non stava giocando il divertimento AI?

Perché l'intelligenza artificiale è stato così ovviamente artificiale. Tutti i bot giocato allo stesso modo; tutti avevano gli stessi approcci al gioco; erano tutti altrettanto prevedibili nei loro modelli di movimento.

Even in Pac-Man the four ghostsInky Blinky Pinky and Clydehave their own personalities and movement patterns
Anche in Pac-Man, i quattro fantasmi — Inky, Blinky, Pinky e Clyde — hanno la propria personalità e schemi di movimento.

Avevamo bisogno di qualcosa per farli risaltare gli uni dagli altri. Così abbiamo introdotto personalità: reckless, difensivo, esploratore. L'intelligenza artificiale sarebbe dare un peso artificiale a certe strategie e poi muoversi in quegli schemi di attacco.

Anche in una forma di base, questo è stato un enorme miglioramento: non era più ogni gioco lo stesso, ma aggiunto imprevedibilità alle mosse nemiche e reso più difficile formulare una strategia singola "gioco vincente". Se l'AIs sono stato randomizzato all'avvio il gioco, il giocatore sarebbe in grado di prevedere come si spiegherebbe il gioco.

Personalità sull'intelligenza artificiale non è una nuova idea. Civiltà dà personalità ai suoi capi (Gandhi notoriamente ama a nuke persone), età di mitologia AIs determinare quante probabilità sono di utilizzare strategie quali turtling o correndo, e Unreal Tournament bot hanno armi preferite.

Gandhi in Civilisation 5 avoid invoking his wrath
Gandhi in civiltà 5: evitare di richiamare la sua ira.

Perché non era battendo il gratificante AI?

Il problema principale era che AI ha giocato quello che visto come una "mossa migliore" ogni giro. Semplicemente ha valutato il gioco da tavolo, senza alcun riguardo alla diplomazia. Se necessario ad attaccare voi sarebbe. Se attaccato indietro, semplicemente non importava. Visto il gioco come un puzzle matematico da risolvere, piuttosto che un gioco contro giocatori umani complessi. Giocare contro l'intelligenza artificiale ha provocato un gioco artificiale.

La nostra soluzione è venuto da un gioco di Amiga dal 1989 chiamato guerra nucleare. In guerra nucleare, si combatté contro vari leader mondiali e provato a nuke loro paese dall'esistenza. Chi è riuscito a sopravvivere avrebbe vinto. Anche se semplicistica, era sorprendentemente divertente guardare i nemici catturati in vendette personali e lanciare testate a vicenda.

Questo sistema di "amici e nemici" utilizzato una metrica molto semplice: felicità. Ogni leader mondiale aveva una varietà di espressioni facciali che ha reso facile giudicare il loro atteggiamento verso di voi. Non sorprende, bombardamento nucleare persone tendevano a renderli infelici molto rapidamente. Inoltre, i nemici non appena si arrabbiano con te, ma con a vicenda. Ciò significava che un singolo missile ribelle potrebbe degenerare in una lotta sostenuta fino alla morte.

Ancora una volta, questo sistema è stato utilizzato in molti giochi, tra cui la civiltà. Una nazione nemica con un elevato livello di "felicità" è più probabile che allearsi con voi e Invia regali, considerando che un nemico che ti odia potrebbe investire un sacco di risorse in schiacciare le vostre città.

Con l'aggiunta di un misuratore di rudimentale felicità nel nostro gioco, siamo autorizzati amicizie e rivalità in infusione. Un gioco è più emozionante quando si sviluppa una nemesi, o quando le squadre e Alleanze formano. Improvvisamente, il gioco è diventato personale e azioni sembrava avessero peso. Abbiamo anche trovato che un metro di felicità visibile era importante, altrimenti il giocatore non avresti capito cosa stava succedendo. Un'icona semplice faccia felice trasmette immediatamente l'idea che i nemici possono ottenere "sconvolti", e guardando la faccia cambiare al momento di prendere determinate azioni ha chiarito quali conseguenze di queste azioni sono state avendo.

Il dilemma del prigioniero è un concetto ben noto gioco di teoria, e molti programmatori hanno trascorso tempo cercando di costruire il finale bot per competere nel dilemma del prigioniero iterato. Curiosamente, la strategia vincente per molti anni è stato anche il più semplice: conosciuto come tit-for-tat, copiato semplicemente mossa dell'avversario.

Come sarebbe il trucco AI?

Il problema in 2 infettato era spesso che l'intelligenza artificiale è stata semplicemente guardando la prospettiva a breve termine. L'IA mira a massimizzare il punteggio ogni volta: se questo significava fare una mossa nel complesso scadente, allora sarebbe farlo comunque.

Il modo più semplice per immaginare che è questo scenario:

  • Alice, Bob e Carol stanno giocando guerra.
  • Alice ha 100 soldati. Bob ha 75 soldati. Carol ha 150.
  • Alice, né Bob può battere Carol.
  • Tuttavia, Alice e Bob combinata può battere Carol.

Il problema era che l'intelligenza artificiale farebbe qualunque cosa sarebbe Punteggio ottenuto il maggior numero di punti. Nello scenario precedente, che significava Alice attaccherebbe Bob: a breve termine, un'ottima mossa, ma a lungo termine, disastroso. Non solo è Alice facendo una mossa che condanna se stessa, lei è condanna Bob a determinati sconfiggere pure. Bob è comprensibilmente sconvolto.

Questo tipo di situazione è difficile da evitare, come vedendo che l'immagine più grande richiede un complesso ragionamento di là maggior parte Ia semplice. Abbiamo cercato di garantire il "equità" facendo i giocatori meno probabili di essere attaccato se stavano perdendo, o se essi erano stati attaccati di recente. Mentre non ogni gioco può essere applicata una soluzione semplice, la sua importante rendersi conto che i giocatori odio essere attaccato senza motivo apparente.

Mentre 2 infetti non superò mai la fase alpha, ci ha insegnato alcune preziose lezioni. La cosa più importante, che non è sufficiente giocare contro i bot nemici: volete essere coinvolti nel gioco, sviluppare le rivalità e schiacciare tutti coloro che stanno contro di te.

AI fatto diritto

Molti anni fa, un gioco è stato pubblicato che sembrava salti e limiti davanti alla concorrenza. Sebbene un gioco multiplayer di design, il bot era buono abbastanza che potrebbe essere apprezzato il giocatore singolo. E, anche se per gli standard odierni è povero, questo gioco — Unreal Tournament — aveva AI che ha fatto esplodere altri giochi fuori l'acqua.

Possiamo guardare un screenshot in-game per vedere alcuni di ciò che è andato a fare un bot:

Bot 19, aka Tamerlane.

L'abilità era il fattore principale nel determinare gli bot comportamento: novizio bot erano lenti, dovevano stare ancora a sparare, e sono stato avanzato lento a girare, mentre il bot di livello superiore era più veloce, poteva schivare, ha avuto un più grande campo di vista e potrebbe utilizzare tecniche combinate di arma.

Bot potrebbero quindi essere futher modificato con precisione, prontezza di riflessi, campeggio e strafing livelli. "Personalità" sarebbe stato determinato dai stile di combattimento e arma preferita, determinare se il bot è piaciuto per ottenere da vicino e personali, o cercare di snipe a distanza. I bot anche schernire il giocatore e cercare vendetta. Ciascuno dei 32 bot ha potuto essere individualmente adattato, significato che potrebbe avere 32 personalità distinte. Alcuni motori di ricerca, quali Loque, divenne famoso tra i giocatori.

Tutti questi fattori ha contribuito a creare bot che sentivo più umano. Mentre il gioco sarebbe ancora buono senza questa raffinatezza, si aggiunge un livello extra, quasi impercettibile di divertimento.

Conclusione

Alla fine della giornata, avete bisogno di chiedere: che cosa vuoi dal tuo AI? I nemici stanno per mindlessly rush il giocatore e a piedi a capofitto nei pozzi, o si sta tentando di sviluppare qualcosa di più, qualcosa che fornisce un livello più personale di interazione con il giocatore? Qualunque cosa decidi, ricordare tre punti chiave:

  • Se bot commettono errori, quindi si sentono più umano e meno come un "mazzo di carte".
  • Se fanno deliberatamente riproduce basati sulla personalità individuale (o emozione, come la vendetta), quindi imprevedibile ed emozionante gameplay è più probabile ad emergere.
  • Se il bot tenta di riprodurre sapientemente, piuttosto che miope, sono più propensi a fare il gioco equo ai nostri occhi.

Riferimenti

  • Anteprima immagine: Ghost da Andres Flores dal progetto sostantivo
  • Anteprima immagine: Pacman da Andres Flores dal progetto sostantivo
  • Alice nel paese delle meraviglie: da John Tenniel, di pubblico dominio
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.