Carles Ros Martínez[[email protected]]
Oscar García Panyella[[email protected]]
OPENDOORIA
08/Nov/2002
Carles Ros Martínez [[email protected]]Carles Ros Martínez [[email protected]]
OP
EN
DO
OR
IA
OP
EN
DO
OR
IA
Índex
Introducció Agents
Introducció Arquitectura Pipeline Comportaments de locomoció
Universos Conclusió Links & Bibliografia
Carles Ros Martínez [[email protected]]Carles Ros Martínez [[email protected]]
OP
EN
DO
OR
IA
OP
EN
DO
OR
IA
Introducció
Llibreria amb funcionalitat per crear i actualitzar la IA d’éssers vius i controls de sistemes
Objectius de la llibreria: Accelerar desenvolupament Temps real Màxima portabilitat Sistema de detecció de col·lisions extern Extensibilitat Per aplicacions escrites en C++
Carles Ros Martínez [[email protected]]Carles Ros Martínez [[email protected]]
OP
EN
DO
OR
IA
OP
EN
DO
OR
IA
Agents: Introducció
Agent = IA d’una entitat Tipus d’agents:
Agent de control Agent d’ésser viu
Característiques d’un agent: Autònom Dirigible De resposta ràpida Actua segons el context Realístic Fàcil d’implementar
Carles Ros Martínez [[email protected]]Carles Ros Martínez [[email protected]]
OP
EN
DO
OR
IA
OP
EN
DO
OR
IA
Agents: Encapsulació
Entitat = cos + IA que en governa les accions
Crear i manipular el cos és responsabilitat de l’usuari
Indicar les accions que el cos ha de realitzar és responsabilitat d’OpenDoorIA (agent)
Agent encapsulat dins el cos L’agent no té accés directe a l’estructura del seu cos ni del seu entorn
Carles Ros Martínez [[email protected]]Carles Ros Martínez [[email protected]]
OP
EN
DO
OR
IA
OP
EN
DO
OR
IA
Agents: Cicle d’actualització
Cicle d’actualització iniciat per l’usuari
Control addicional sobre la freqüència en què es realitza la percepció
Beneficis de controlar els cicles d’actualització:
Ajustar la IA a la potència de cada màquina
LOD Simulació d’un retard
natural en la percepció
Carles Ros Martínez [[email protected]]Carles Ros Martínez [[email protected]]
OP
EN
DO
OR
IA
OP
EN
DO
OR
IA
Agents: Arquitectura
Carles Ros Martínez [[email protected]]Carles Ros Martínez [[email protected]]
OP
EN
DO
OR
IA
OP
EN
DO
OR
IA
Agents: Coneixement (records)
Rellotge Increment de temps Temps de comportament
Records Entitat Tipus d’entitat Atributs genèrics Estats de percepció
Estat (JustP, P, JustNP, NP) Exposició
Vehicle de locomoció Validesa del vehicle Força externa
Identitat Memòria recent
Carles Ros Martínez [[email protected]]Carles Ros Martínez [[email protected]]
OP
EN
DO
OR
IA
OP
EN
DO
OR
IA
Agents: Coneixement (mapa)
Objectiu del mapa: Reconeixement de l’espai
navegable Consciència de la ubicació de
les entitats físiques en l’espai Contingut del mapa:
Àrees convexes navegables Portals Costos entre portals Entitats
El mapa necessita molta memòria Mapa externAvantatges:
Compartir part del mapa Tenir en compte entitats de
menor rellevància sense recordar-les
Optimitzat pel sistema de col·lisions
Carles Ros Martínez [[email protected]]Carles Ros Martínez [[email protected]]
OP
EN
DO
OR
IA
OP
EN
DO
OR
IA
Agents: Pipeline
Carles Ros Martínez [[email protected]]Carles Ros Martínez [[email protected]]
OP
EN
DO
OR
IA
OP
EN
DO
OR
IA
Agents: Pipeline (percepció)
Carles Ros Martínez [[email protected]]Carles Ros Martínez [[email protected]]
OP
EN
DO
OR
IA
OP
EN
DO
OR
IA
Agents: Pipeline (pensament)
Carles Ros Martínez [[email protected]]Carles Ros Martínez [[email protected]]
OP
EN
DO
OR
IA
OP
EN
DO
OR
IA
Agents: Pipeline (acció)
Carles Ros Martínez [[email protected]]Carles Ros Martínez [[email protected]]
OP
EN
DO
OR
IA
OP
EN
DO
OR
IA
Agents: Comportaments de locomoció
Cos i vehicle vistos com un conjunt Vehicle de locomoció
Vehicle de locomoció simple i genèric Comportaments més complexos a partir
d’altres de més simples Fusió de comportaments
Fusió de velocitats desitjades Menor distància a l’objectiu = Major prioritat en la
fusió Acció de locomoció
Força de correcció de la velocitat Temps d’aplicació de la força
Carles Ros Martínez [[email protected]]Carles Ros Martínez [[email protected]]
OP
EN
DO
OR
IA
OP
EN
DO
OR
IA
Agents: Comportaments de locomoció inclosos en OpenDoorIA
Buscar Arribar Anar Evitar obstacles Contenir Perseguir Fugir Vagar
Carles Ros Martínez [[email protected]]Carles Ros Martínez [[email protected]]
OP
EN
DO
OR
IA
OP
EN
DO
OR
IA
Agents: Comportament “anar”
Dos passos: Cercar el camí més òptim (planificador) Recórrer el camí trobat (director)
Mapa = Xarxa de camins Algoritme A* Execució del camí mitjançant “buscar” i “arribar”
Carles Ros Martínez [[email protected]]Carles Ros Martínez [[email protected]]
OP
EN
DO
OR
IA
OP
EN
DO
OR
IA
Universos
Eina per agrupar els agents segons el seu àmbit
Un agent només pot existir dins d’un univers
Actualitzar un univers equival a actualitzar tots els agents que hi viuen
Carles Ros Martínez [[email protected]]Carles Ros Martínez [[email protected]]
OP
EN
DO
OR
IA
OP
EN
DO
OR
IA
Conclusió
Agents no intrusius, portables i extensibles
Estalvi de CPU amb: Cicles d’actualització control·lats (amb control
addicional sobre la percepció) Màquina d’estats per prendre decisions Àrees convexes i xarxa de camins
Estalvi de memòria amb: Memòria recent Mapa compartit
Carles Ros Martínez [[email protected]]Carles Ros Martínez [[email protected]]
OP
EN
DO
OR
IA
OP
EN
DO
OR
IA
Links & Bibliografia
AI for games and animation: a cognitive modelling approach, John David Funge, 1999
AI game programming wisdom, Steve Rabin, 2002 Developing an artificial intelligence engine, AI
Lab, University of Michigan Game programming gems, Mark DeLoura, 2000 Multi-level direction of autonomous creatures for
real-time virtual environments, Bruce M. Blumberg i Tinsley A. Galyean, MIT Media Lab
Steering behaviors for autonomous characters, Craig W. Reynolds, 1999, www.red.com/cwr/
Webs AI depot (www.ai-depot.com), Gamasutra (www.gamasutra.com), GameDev (www.gamedev.net)
Top Related