Come posso rendere gestibile l'intelligenza artificiale complessa? [chiuso]


11

In passato, ho usato sistemi semplici come macchine a stati finiti (FSM) e FSM gerarchici per controllare il comportamento dell'IA. Questo modello cade molto rapidamente o su qualsiasi sistema complesso.

Ho sentito parlare di alberi comportamentali . Sembrano il prossimo ovvio passo, ma non ho visto un'implementazione funzionante o non l'ho ancora provata.

Quali altri schemi possono rendere gestibili comportamenti AI complessi?


Ho anche sentito che ci sono diversi modi per gestire le macchine statali
jokoon il

1
Questa è una domanda piuttosto vaga. Esistono molte tecniche per gestire l'IA "complessa", ma la migliore per ogni situazione può essere diversa da un'altra situazione. Ho implementato un'intelligenza artificiale piuttosto complessa utilizzando nient'altro che elenchi di azioni comportamentali, ma quella soluzione non funzionerebbe per un RTS; le tecniche che ho visto usate nei giochi RTS erano incredibilmente complesse ma comunque eleganti, tuttavia sarebbero quasi inutili in qualsiasi altro tipo di gioco. Se hai in mente un tipo specifico di gioco o di intelligenza artificiale, potresti ottenere risposte più pertinenti e perspicaci se dichiari di cosa si tratta.
Sean Middleditch il

Risposte:


3

Gli alberi comportamentali sono un ottimo modo per gestire l'IA e lo sviluppatore di Ai Game è il posto migliore per conoscerli! Ci sono tonnellate di implementazioni di esempio là fuori in posti come Codeplex, o persino l'implementazione dei motori Sandbox di AIGD (che, ammettendo, è abbastanza complessa e può essere difficile da seguire).

L'anno scorso, durante il gioco di intelligenza artificiale, c'era stata molta eccitazione per i pianificatori , ma quest'anno molto è scomparso. Il miglior consiglio sembrava essere solo per iniziare semplice. L'intero 20% del lavoro per farti arrivare l'80% lì sembra assolutamente vero nella maggior parte dei casi


2

Una cosa che penso sia importante è separare il motivo per cui un agente vuole realizzare qualcosa da come lo fa. I pianificatori di azioni orientate agli obiettivi fanno bene, ma ci sono anche altre soluzioni. Questo ti dà una grande flessibilità per la costruzione di agenti in quanto puoi scegliere tra un secchio di obiettivi e un secchio di azioni.

Gli alberi comportamentali sono progettati per integrare l'intera soluzione - il processo decisionale e le azioni - e come tale può essere difficile da mantenere.


2

Una tecnica che dovresti conoscere in ogni caso è l'approccio dell'elenco di azioni. Al livello più semplice, è solo un elenco di oggetti azione, che ogni oggetto azione ha il suo metodo update () chiamato ciascun frame. Puoi espanderlo rapidamente, tuttavia, per consentire azioni di blocco, corsie multiple di azioni, gruppi di bambini, ecc. Quasi tutto ciò che puoi costruire con un FSM di alto livello può essere implementato in modo più modulare, flessibile e debuggabile con un'azione elenca usando le azioni comportamentali.

Oltre ad essere una tecnica utile per gestire tutte le animazioni, la ricerca di percorsi e altre "cose" sbagliate che i tuoi personaggi possono fare, rende banale implementare un sistema decisionale basato sulla priorità creando azioni comportamentali.

Alcune note su come usarle sono disponibili in questo mazzo di diapositive: http://sonargame.com/2011/11/01/new-game-slides/

Abbastanza sicuro ci sono stati anche articoli a riguardo nella serie AI Programming Wisdom.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.