Las técnicas de IA usadas en los juegos comerciales son en la mayoría de los casos predecibles, rígidas y poco adaptativas, causando una pérdida en el realismo de cara al jugador. En esta charla mostraremos cómo hemos conectado varios juegos (GTA IV, Warcraft 3, y otros) al framework ALIVE, basado en teorías organizacionales. El objetivo de nuestro trabajo es dotar al desarrollador de IA para juegos de una metodología y herramientas que permitan modelar escenarios de juego usando estructuras sociales.
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
cOncienS: un nuevo paradigma de IA para juegos
1. 02/27/10 | 1 Fiberparty Febrero 2010
cOncienS
Sergio Alvarez
!"#$%&'()*+#",'
Ignasi Gómez
-$.+/%'012",'
Javier Vázquez
3+*%"#'45,67",'
João Lopes
Grup KEMLg
Dept. Llenguatges i sistemes informàtics
Universitat Politècnica de Catalunya
Campus Nord, Edifici K2M
Jordi Girona 1-3
08034 Barcelona
ALIVE EU FUNDED PROJECT
ALIVE EU FUNDED PROJECT
2. 02/27/10 | Fiberparty Febrero 2010
Indice
• Quiénes somos
• AI en juegos comerciales
• Qué proponemos
• Tecnología
• Demo
ALIVE EU FUNDED PROJECT
3. 02/27/10 | Fiberparty Febrero 2010
El grupo
• El Knowledge Engineering and Machine Learning
Group se fundó en 1989 dentro de la Sección de
Inteligencia Artificial del Dept. LSI.
• Actualmente esta formado por un catedrático, 5
titulares, 4 investigadores post-doc, 9 estudiantes de
doctorado, 4 estudiantes de máster.
ALIVE EU FUNDED PROJECT
3
4. 02/27/10 | Fiberparty Febrero 2010
Nuestras líneas de investigación (I)
Knowledge
Health & Assistive
Environmental Management Industrial
Sciences Technologies & Web Applications
Software Agents, Multiagent Systems,
Electronic Institutions and Grid Computing
Intelligent Decision Support Systems (IDSS),
Knowledge Discovery, Machine Learning and Data Mining
Knowledge Representation, Ontologies,
The semantic Web and Web services
ALIVE EU FUNDED PROJECT
4
5. 02/27/10 | Fiberparty Febrero 2010
Nuestras líneas de investigación (II)
Knowledge
Environmental
Health & Assistive Industrial
Management
Sciences Technologies Applications
& Web
Software Agents, Multiagent Systems,
Electronic Institutions and Grid Computing
DAI-DEPUR+
ESCONDA
Intelligent Decision Support Systems (IDSS),
HIDRADMET
Machine Learning and Data Mining
OCATTIA
Knowledge Representation, Ontologies,
Volcán
the semantic Web and Web services
ALIVE EU FUNDED PROJECT
5
6. 02/27/10 | Fiberparty Febrero 2010
Queremos FEEDBACK
ALIVE EU FUNDED PROJECT
7. 02/27/10 | Fiberparty Febrero 2010
AI para juegos: tipos
• Movimiento (pathfinding, colisiones, visibilidad)
• Comportamiento individual (NPCs)
• Estrategia colectiva (grupos de NPCs)
ALIVE EU FUNDED PROJECT
8. 02/27/10 | Fiberparty Febrero 2010
State of the art
Hash tables
Finite State Machines
Scripting
Neural Networks
Rule Engines
Goal-Oriented Action Planning
ALIVE EU FUNDED PROJECT
9. 02/27/10 | Fiberparty Febrero 2010
Problemas
• Se especifica el CÓMO, no el POR QUÉ
• Flexibilidad y adaptabilidad limitadas
• Comportamiento rígido, predecible y poco realista
• Reusabilidad nula
ALIVE EU FUNDED PROJECT
10. 02/27/10 | Fiberparty Febrero 2010
Fuente de inspiración: El proyecto ALIVE
• Universitat Politecnica de Catalunya (UPC)
– Barcelona / Spain
• University of Bath (BATH)
– Bath / UK
• Trinity College Dublin (TCD)
– Dublin / Ireland
• University of Aberdeen (UNIABDN)
– Aberdeen / UK
• Universiteit Utrecht (UU)
– Utrecht / The Netherlands
• Calico Jack Ltd. (CJ)
– Dundee / UK
• TMT Factory (TMT)
– Barcelona / Spain
• Thales Nederland B.V. (THALES)
ALIVE EU FUNDED PROJECT – Hengelo / The Netherlands
11. 02/27/10 | Fiberparty Febrero 2010
Off-line architecture On-line architecture
Operetta Organisational
Organisational Tool Model Rep.
Level
Ontology Domain Global Monitor
Ontology Rep.
Editor event
Event Bus Event
Coordination recorder
Model Rep.
Notify event notify event
Coordination Coordination
Level Design Tool All events
Plan AgS_1
Synthesis monitor planner
AgS_2 Event Log
Matchmaker enact planner monitor
coordinate
Agent Request enact
Plan Ws for
Repository task invoke ws
invoke ws Monitor Tool
Ontology
Editor
Look for ws for a task
Service
WS
ModelRep. WS WS
WS WS
Service WS WS
Level Service Template register WS
Design Tool Repository register workflow
WS WS
Service WS
Matchmaker Directory adaptor
ALIVE EU FUNDED PROJECT WS
register
12. 02/27/10 | Fiberparty Febrero 2010
Off-line architecture On-line architecture
Operetta Organisational
Organisational
Level
Tool Model Rep. ¿POR QUE?
(motivos)
Ontology Domain Global Monitor
Ontology Rep.
Editor event
Event Bus Event
Coordination recorder
Model Rep.
Notify event notify event
Coordination
¿QUE?
Coordination
Level Design Tool All events
Plan AgS_1
Synthesis (acciones monitor planner
posibles, planes)
AgS_2 Event Log
Matchmaker enact planner monitor
coordinate
Agent Request enact
Plan Ws for
Repository task invoke ws
invoke ws Monitor Tool
Ontology
Editor
Look for ws for a task
Service
WS
ModelRep. WS WS
WS WS
Service WS
Level Service
Design Tool
Template ¿COMO?
register
register
WS
WS
workflow
Repository
(servicios disponibles) WS WS
Service WS
Matchmaker Directory adaptor
ALIVE EU FUNDED PROJECT
register WS
13. 02/27/10 | Fiberparty Febrero 2010
¿Qué aporta ALIVE?
• Esquema de alto nivel que justifica las acciones que
se toman durante el razonamiento
– Roles, objetivos, normas, planes...
• Separar de forma clara implementacion de diseño
– De esta forma se pueden reutilizar los diseños
· Cambios mínimos (ej. Vocabulario)
· Menor esfuerzo de adaptacion
– Aplicar técnicas de reorganización dinámicas
ALIVE EU FUNDED PROJECT
14. 02/27/10 | Fiberparty Febrero 2010
Off-line architecture On-line architecture
Operetta Organisational
Organisational Tool Model Rep.
Level
Ontology Domain Global Monitor
Ontology Rep.
Editor event
Event Bus Event
Coordination recorder
Model Rep.
Notify event notify event
Coordination Coordination
Level Design Tool All events
Plan AgS_1
Synthesis monitor planner
AgS_2 Event Log
enact planner monitor
coordinate
Plan enact
Repository
Monitor Tool
Game
Level
Game Engine
ALIVE EU FUNDED PROJECT
15. 02/27/10 | Fiberparty Febrero 2010
Objetivos de cOnscienS
• Plataforma IDE para ‘desarrolladores’
• NO pretendemos substituir otras técnicas
– Sino complementarlas
• Eficiencia Flexibilidad, realismo
– Comportamiento individual
– Estrategia colectiva
– Narrativa
ALIVE EU FUNDED PROJECT
16. 02/27/10 | Fiberparty Febrero 2010
Conexión con juegos
• Lenguajes de scripting con I/O (e.g. LUA)
• DLL Injection
• Source code
ALIVE EU FUNDED PROJECT
17. 02/27/10 | Fiberparty Febrero 2010
Dónde estamos
• Conexiones hechas con
– GTA IV (DLL Injection)
– Warcraft III (DLL Injection)
– Spring RTS (Java scripting)
– Lincity (Source code)
– World of Warcraft (Server source code)
• Modelado organizacional
• Implementación de planes
ALIVE EU FUNDED PROJECT
18. 02/27/10 | Fiberparty Febrero 2010
GTA
• Diseño de un modelo normativo
– “Está prohibido bajo multa saltárse un semáforo”
• Las violaciones de normas de tráfico afectan al juego
• Conexión hecha mediante DLL injection y Protocol
Buffers
time_since_ran_light = 320ms RanLight()
time_since_drive_wrong = -1 RanLight() ALIVE Monitor
Java GTA
GTA IV
Event Bus
GTA IV Annotated
ScriptHook ALIVE
Service
Infrastructure
set_wanted_level(4)
ChasePlayer() Police
ChasePlayer()
Agent
ALIVE EU FUNDED PROJECT
19. 02/27/10 | Fiberparty Febrero 2010
WC3
• Diseño de un modelo organizacional OPERA
• Integración del modelo con un thread Java
• Conexión del thread de ALIVE con WC3
– Funciones de sockets añadidas mediante DLL
injection
ALIVE EU FUNDED PROJECT
20. 02/27/10 | Fiberparty Febrero 2010
WC3
ALIVE EU FUNDED PROJECT
21. 02/27/10 | Fiberparty Febrero 2010
WC3
ALIVE EU FUNDED PROJECT
22. 02/27/10 | Fiberparty Febrero 2010
WC3
• Conexión del juego con el cerebro Java
• El cerebro Java es un thread que lee datos del juego
de forma periódica. El juego puede pasar datos al
cerebro java gracias a ‘New Gen Warcraft’
• El juego envia datos para ser leidos por el thread
– Unidades disponibles (soldados, trabajadores y
edificios)
– Recursos del mapa (minas de oro y árboles)
– Recursos disponibles (Oro y madera recolectados,
soportes disponibles)
ALIVE EU FUNDED PROJECT
23. 02/27/10 | Fiberparty Febrero 2010
WC3
• Conectamos el cerebro Java con el juego mediante
‘New Gen Warcarft’. Esto permite pasar parametros
al juego que son interpretados por los triggers
tomando las acciones oportunas
• Por ejemplo ‘Tfoo|1234567’ se interpreta como que la
unidad con ID 1234567 debe entrar un ‘footman’
• El cerebro java se encarga de asegurarse que las
condiciones para que esta accion se lleve a cabo de
forma satisfactoria se cumplan
· La unidad es de tipo barracks
· Existe oro suficiente
· Etc.
ALIVE EU FUNDED PROJECT
24. 02/27/10 | Fiberparty Febrero 2010
WC3
• Del mismo modo, el cerebro Java se encarga de
asegurarse que las acciones que se ejecutan en el
juego entren dentro del marco organizacional definido
por el usuario.
– Ratios recolectores de madera / recolectores de
oro
– Ratios trabajador / Soldado
– Creación de granjas para el soporte de unidades
• Como veremos, modificar el marco organizacional
modifica las decisiones que toma el cerebro Java
• El cerebro java es capaz de razonar en base a la
información disponible y encargar acciones al juego.
ALIVE EU FUNDED PROJECT
25. 02/27/10 | Fiberparty Febrero 2010
Desarrollo
• Open source
– http://sourceforge.net/projects/conciens
• Hacemos esto en nuestro tiempo libre
– Estáis todos invitados
– PFCs / Master Thesis (IA)
ALIVE EU FUNDED PROJECT