63
Inteligencia Inteligencia Artificial Artificial en Videojuegos en Videojuegos Seminario de Videojuegos y Tecnologías Interactivas INCO, Facultad de Ingeniería (UDELAR) Noviembre 2008

Inteligencia Artificial en Videojuegos Seminario de Videojuegos y Tecnologías Interactivas INCO, Facultad de Ingeniería (UDELAR) Noviembre 2008

Embed Size (px)

Citation preview

Page 1: Inteligencia Artificial en Videojuegos Seminario de Videojuegos y Tecnologías Interactivas INCO, Facultad de Ingeniería (UDELAR) Noviembre 2008

InteligenciaInteligencia Artificial en Artificial en VideojuegosVideojuegos

Seminario de Videojuegos y Tecnologías Interactivas

INCO, Facultad de Ingeniería (UDELAR)Noviembre 2008

Page 2: Inteligencia Artificial en Videojuegos Seminario de Videojuegos y Tecnologías Interactivas INCO, Facultad de Ingeniería (UDELAR) Noviembre 2008

IA académicaIA académica

IA en videojuegosIA en videojuegos

conceptos básicos de IAconceptos básicos de IA

motor de IAmotor de IA

Page 3: Inteligencia Artificial en Videojuegos Seminario de Videojuegos y Tecnologías Interactivas INCO, Facultad de Ingeniería (UDELAR) Noviembre 2008

IA académicaIA académica

definiciones de IAdefiniciones de IA

agentesagentes

test de Turingtest de Turing

campos de IAcampos de IA

aplicacionesaplicaciones

Page 4: Inteligencia Artificial en Videojuegos Seminario de Videojuegos y Tecnologías Interactivas INCO, Facultad de Ingeniería (UDELAR) Noviembre 2008

definiciones de IAdefiniciones de IA

"The exciting new effort to make computersthink . . . machines with minds, in the fulland literal sense" (Haugeland, 1985)

"[The automation of] activities that we associatewith human thinking, activities such asdecision-making, problem solving, learning...“ (Bellman, 1978)

"The study of mental faculties through theuse of computational models"(Charniak and McDermott, 1985)

"The study of the computations that makeit possible to perceive, reason, and act"(Winston, 1992)

"The art of creating machines that performfunctions that require intelligence when performed by people" (Kurzweil, 1990)

"The study of how to make computers dothings at which, at the moment, people arebetter" (Rich and Knight, 1991 )

"A field of study that seeks to explain andemulate intelligent behavior in terms ofcomputational processes" (Schalkoff, 1990)

"The branch of computer science that is Concerned with the automation of intelligentbehavior" (Luger and Stubblefield, 1993)

sistemas que piensan como humanos

sistemas que actúan como humanossistemas que actúan racionalmente

sistemas que piensan racionalmente

Page 5: Inteligencia Artificial en Videojuegos Seminario de Videojuegos y Tecnologías Interactivas INCO, Facultad de Ingeniería (UDELAR) Noviembre 2008

test de Turingtest de Turing

• Planteado en 1950 por Alan Turing en su paper “Computing Machinery and Intelligence”.

• Proponía cambiar la pregunta “¿pueden las máquinas pensar?” por “¿pueden las máquinas hacer lo que nosotros hacemos?

• Una máquina es inteligente si un interlocutor no puede distinguir sus respuestas de las de un humano.

Page 6: Inteligencia Artificial en Videojuegos Seminario de Videojuegos y Tecnologías Interactivas INCO, Facultad de Ingeniería (UDELAR) Noviembre 2008

agentesagentes

• Es uno de los enfoques más comunes de la IA.

• La define como el estudio y diseño de agentes inteligentes, considerados como sistemas que perciben su entorno y toman acciones para maximizar sus posibilidades de éxito.

• Los agentes más sencillos son los que resuelven un único problema específico.

• Esto permite a los investigadores centrarse en problemas aislados.

Page 7: Inteligencia Artificial en Videojuegos Seminario de Videojuegos y Tecnologías Interactivas INCO, Facultad de Ingeniería (UDELAR) Noviembre 2008

campos de IAcampos de IA

razonamientorazonamiento

aprendizajeaprendizaje

movimiento y manipulaciónmovimiento y manipulación

procesamiento de leng. naturalprocesamiento de leng. natural

percepciónpercepción

planeamientoplaneamiento

inteligencia socialinteligencia social

inteligencia generalinteligencia general

creatividadcreatividad

Page 8: Inteligencia Artificial en Videojuegos Seminario de Videojuegos y Tecnologías Interactivas INCO, Facultad de Ingeniería (UDELAR) Noviembre 2008

aplicacionesaplicaciones

Page 9: Inteligencia Artificial en Videojuegos Seminario de Videojuegos y Tecnologías Interactivas INCO, Facultad de Ingeniería (UDELAR) Noviembre 2008

IA en videojuegosIA en videojuegos

particularidadesparticularidades

metasmetas

IA en los distintos génerosIA en los distintos géneros

Page 10: Inteligencia Artificial en Videojuegos Seminario de Videojuegos y Tecnologías Interactivas INCO, Facultad de Ingeniería (UDELAR) Noviembre 2008

particularidadesparticularidades

• Si se usara el enfoque de Turing, se diría que un juego posee IA únicamente cuando el jugador no puede distinguir un adversario humano de uno controlado por el sistema.

• Sin embargo, en videojuegos, se habla de IA para referirse a la lógica que maneja el comportamiento de los NPCs.

• No se busca obtener la IA más potente, sino maximizar el entretenimiento brindado por el juego.

• La cantidad y calidad de IA necesarias dependen del tipo de juego.

• Debe tomarse en cuenta desde la etapa de diseño.

Page 11: Inteligencia Artificial en Videojuegos Seminario de Videojuegos y Tecnologías Interactivas INCO, Facultad de Ingeniería (UDELAR) Noviembre 2008

metasmetas

Independientemente del tipo de juego, se deben buscar algunas metas comunes:

• Presentar un reto para el jugador

• No hacer cosas estúpidas

• Ser impredecible

• Contribuir a la historia

• Construir un mundo creíble

Page 12: Inteligencia Artificial en Videojuegos Seminario de Videojuegos y Tecnologías Interactivas INCO, Facultad de Ingeniería (UDELAR) Noviembre 2008

metasmetas

Básicamente, si el jugador cree que el juego es inteligente, el trabajo está hecho.

Page 13: Inteligencia Artificial en Videojuegos Seminario de Videojuegos y Tecnologías Interactivas INCO, Facultad de Ingeniería (UDELAR) Noviembre 2008

IA en cada género: racingIA en cada género: racing

• IA básica, en muchos casos se limita al control de los oponentes para seguir un camino óptimo a lo largo de la pista.

• Los avances han sido mucho menores que en el área de gráficos.

• Algunos títulos presentan innovaciones que mejoran el gameplay (Total Immersion Racing, Forza Motorsport).

Page 14: Inteligencia Artificial en Videojuegos Seminario de Videojuegos y Tecnologías Interactivas INCO, Facultad de Ingeniería (UDELAR) Noviembre 2008

IA en cada género: RTSIA en cada género: RTS

• El ritmo más lento permite dedicar más procesador a la IA.

• Básicos: comportamiento predeterminado, tareas de alto nivel y planeamiento estratégico.

Page 15: Inteligencia Artificial en Videojuegos Seminario de Videojuegos y Tecnologías Interactivas INCO, Facultad de Ingeniería (UDELAR) Noviembre 2008

IA en cada género: aventuraIA en cada género: aventura

• Aunque pueden haber escenas de acción, el juego se centra básicamente en los puzzles y la acción es bastante lineal.

• Se pueden usar máquinas de estado finitas para definir el comportamiento de los NPCs, agregando habilidades básicas de pathfinding para encontrar y perseguir al PC.

Page 16: Inteligencia Artificial en Videojuegos Seminario de Videojuegos y Tecnologías Interactivas INCO, Facultad de Ingeniería (UDELAR) Noviembre 2008

IA en cada género: acciónIA en cada género: acción

• Los enfrentamientos son la clave del juego, por lo que muchas veces se requiere IA más sofisticada.

• Se utilizan los mismos mecanismos básicos que en el género de aventura, pero se busca innovar más.

• Se han utilizado técnicas como algoritmos genéticos y redes neuronales para “entrenar” a los oponentes.

Page 17: Inteligencia Artificial en Videojuegos Seminario de Videojuegos y Tecnologías Interactivas INCO, Facultad de Ingeniería (UDELAR) Noviembre 2008

IA en cada género: RPGIA en cada género: RPG

• Es probablemente el género que permite aplicar mayor variedad de técnicas de IA.

• FSM (tanto en PCs como en NPCs), pathfinding, scripts modificables por el jugador, etc.

Page 18: Inteligencia Artificial en Videojuegos Seminario de Videojuegos y Tecnologías Interactivas INCO, Facultad de Ingeniería (UDELAR) Noviembre 2008

conceptos básicos de IAconceptos básicos de IA

autómatas finitosautómatas finitos

pathfindingpathfinding

aprendizajeaprendizaje

coordinación de NPCscoordinación de NPCs

movimientomovimiento

lógica fuzzylógica fuzzy

Page 19: Inteligencia Artificial en Videojuegos Seminario de Videojuegos y Tecnologías Interactivas INCO, Facultad de Ingeniería (UDELAR) Noviembre 2008

autómatas finitosautómatas finitos

• Una de las herramientas más simples para implementar comportamiento de los NPCs.

• Se compone de un conjunto finito de estados y condiciones que llevan de un estado a otro.

• Sólo resuelve qué hacer en distintas situaciones, se deberán implementar otras técnicas para ejecutar cada acción.

Page 20: Inteligencia Artificial en Videojuegos Seminario de Videojuegos y Tecnologías Interactivas INCO, Facultad de Ingeniería (UDELAR) Noviembre 2008

autómatas finitosautómatas finitos

Page 21: Inteligencia Artificial en Videojuegos Seminario de Videojuegos y Tecnologías Interactivas INCO, Facultad de Ingeniería (UDELAR) Noviembre 2008

lógica fuzzylógica fuzzy

• No siempre la pertenencia a un estado es un valor booleano.

Page 22: Inteligencia Artificial en Videojuegos Seminario de Videojuegos y Tecnologías Interactivas INCO, Facultad de Ingeniería (UDELAR) Noviembre 2008

lógica fuzzylógica fuzzy

• Además, puede haber varios factores incidiendo en la conducta de un personaje.

• Por ejemplo, un jugador de fútbol decide qué hacer teniéndo en cuenta su posición relativa con respecto a otros jugadores, pero además debe actuar distinto dependiendo de qué equipo (o jugador) tenga la posesión de la pelota.

• En estos casos, se generan matrices de acción, y se calcula el nivel de pertenencia a cada estado.

Page 23: Inteligencia Artificial en Videojuegos Seminario de Videojuegos y Tecnologías Interactivas INCO, Facultad de Ingeniería (UDELAR) Noviembre 2008

lógica fuzzylógica fuzzy

• Para el ejemplo del jugador:

Page 24: Inteligencia Artificial en Videojuegos Seminario de Videojuegos y Tecnologías Interactivas INCO, Facultad de Ingeniería (UDELAR) Noviembre 2008

Pathfinding

• Se refiere a encontrar un camino entre dos puntos venciendo obstáculos como pueden ser paredes, agua, puertas, etc.

• Es utilizado en una amplia variedad de juegos.

Page 25: Inteligencia Artificial en Videojuegos Seminario de Videojuegos y Tecnologías Interactivas INCO, Facultad de Ingeniería (UDELAR) Noviembre 2008

Algoritmo A* (star)• Definir el área de trabajo

NODOS

DESTINO

ORIGEN

ZONA INTRANSITABLE

Page 26: Inteligencia Artificial en Videojuegos Seminario de Videojuegos y Tecnologías Interactivas INCO, Facultad de Ingeniería (UDELAR) Noviembre 2008

Algoritmo A* (star)• Referencia de colores

PUNTERO AL PADRE

LISTA CERRADA

LISTA ABIERTA

Page 27: Inteligencia Artificial en Videojuegos Seminario de Videojuegos y Tecnologías Interactivas INCO, Facultad de Ingeniería (UDELAR) Noviembre 2008

Algoritmo A* (star)• Puntuando el camino

A cada cuadro se le da un peso F que se calcula de la siguiente forma:

F = G + H

dondeG = el coste de movimiento para ir desde un cuadro seleccionado en un momento dado a un cierto cuadro de la rejilla. H = el coste de movimiento estimado para ir desde ese cuadro de la rejilla hasta el destino final (Heurística)

Page 28: Inteligencia Artificial en Videojuegos Seminario de Videojuegos y Tecnologías Interactivas INCO, Facultad de Ingeniería (UDELAR) Noviembre 2008

Algoritmo A* (star)• Búsqueda

1. Añade el cuadro inicial a la lista abierta.2. Repite lo siguiente:

a) Busca el cuadro con el coste F más bajo en la lista abierta. Nos referimos a este como el cuadro actual.

b) Cámbialo a la lista cerrada

Page 29: Inteligencia Artificial en Videojuegos Seminario de Videojuegos y Tecnologías Interactivas INCO, Facultad de Ingeniería (UDELAR) Noviembre 2008

Algoritmo A* (star)c) Para cada uno de los 8 cuadros adyacentes al cuadro actual

Si no es transitable o si está en la lista cerrada, ignóralo. Si no está en la lista abierta, añádelo a la lista abierta. Haz que

el cuadro actual sea el padre de este cuadro. Almacena los costes F, G y H del cuadro.

Si ya está en la lista abierta, comprueba si el camino para ese es mejor usando el coste G como baremo. Un coste G menor significa que este es un mejor camino. Si es así, cambia el padre del cuadrado al cuadro actual y recalcula G y F del cuadro.

Page 30: Inteligencia Artificial en Videojuegos Seminario de Videojuegos y Tecnologías Interactivas INCO, Facultad de Ingeniería (UDELAR) Noviembre 2008

Algoritmo A* (star)d) Para cuando:

añadas el cuadro objetivo a la lista abierta en cuyo caso el camino ha sido encontrado, o

falles en encontrar el cuadro objetivo y la lista abierta esté vacía. En este caso no hay camino.

Page 31: Inteligencia Artificial en Videojuegos Seminario de Videojuegos y Tecnologías Interactivas INCO, Facultad de Ingeniería (UDELAR) Noviembre 2008

Algoritmo A* (star)

3. Guarda el camino. Muévete hacia atrás desde el cuadro objetivo, ve desde cada cuadro a su padre hasta que alcances el cuadro inicial. El camino seguido es el que buscas.

Page 32: Inteligencia Artificial en Videojuegos Seminario de Videojuegos y Tecnologías Interactivas INCO, Facultad de Ingeniería (UDELAR) Noviembre 2008

Algoritmo A* (star)• Sobre la implementación

1. Mantenimiento de la lista abierta:

Listas Listas ordenadas Heap (+ de 10 veces más rápido en caminos largos)

2. Otras unidades:

3. Mejorar la velocidad:

No considerar otras unidades en el código del pathfinding Código separado para el manejo de colisiones

Utilizar un mapa más pequeño o unos pocos personajes No buscar el camino para varios personajes al mismo tiempo Pathfinding A* de dos niveles Caminos precalculados incluidos en el juego

Page 33: Inteligencia Artificial en Videojuegos Seminario de Videojuegos y Tecnologías Interactivas INCO, Facultad de Ingeniería (UDELAR) Noviembre 2008

Algoritmo A* (star)

5. Variable de costo de terreno:

Diferenciar el terreno en base al costo de la superficie Caminos de menor costo puede significar recorrer una

distancia más larga. Mapas de influencia

6. Manejo de áreas inexploradas:

Si los personajes siempre saben que camino tomar puede resultar un tanto irreal.

Manejar información sobre el área que cada jugador ha explorado y considerar el resto del mapa como transitable hasta que se demuestre lo contrario.

4. Caminos más suavizados:

El camino más corto y de menor costo no tiene porque ser el más suavizado.

Penalizar cuadros donde el cambio de dirección es abrupto.

Page 34: Inteligencia Artificial en Videojuegos Seminario de Videojuegos y Tecnologías Interactivas INCO, Facultad de Ingeniería (UDELAR) Noviembre 2008

Introducción NPC’sIntroducción NPC’s

• Originalmente los NPC’s eran implementados mediante máquinas de estado finitas o “scripts”.

• Número determinado de acciones y reacciones previamente conocidas y programadas por el desarrollador.

• Estrecha jugabilidad, deja de ser entretenido.

Page 35: Inteligencia Artificial en Videojuegos Seminario de Videojuegos y Tecnologías Interactivas INCO, Facultad de Ingeniería (UDELAR) Noviembre 2008

Algunas definiciones…Algunas definiciones…

• Un NPC es un personaje de en juego que es controlado automáticamente por inteligencia artificial u otra técnica.

• Un agente autónomo es un sistema situado en un entorno de donde percibe información y sobre el cual actúa a lo largo del tiempo persiguiendo su objetivo.

• Difieren de un programa normal Pro-activos: No solo actúan ante la acción de

un usuario Persistentes: Continúan funcionando aunque

el usuario no interactúe con ellos.

Page 36: Inteligencia Artificial en Videojuegos Seminario de Videojuegos y Tecnologías Interactivas INCO, Facultad de Ingeniería (UDELAR) Noviembre 2008

Redes Neuronales Redes Neuronales ArtificialesArtificiales……

• Las RNA son dispositivos o software programado de manera tal que funcionen como las neuronas biológicas de los seres vivos.

• El objetivo es conseguir que las máquinas den respuestas similares a las que es capaz de dar el cerebro

• Las RNA están compuestas de muchos elementos sencillos que operan en paralelo.

• El diseño de la red está determinado mayormente por las conexiones entre sus elementos. Al igual que las conexiones de las neuronas cerebrales.

Page 37: Inteligencia Artificial en Videojuegos Seminario de Videojuegos y Tecnologías Interactivas INCO, Facultad de Ingeniería (UDELAR) Noviembre 2008

Redes Neuronales Redes Neuronales ArtificialesArtificiales……

• Las RNA pueden ser entrenadas para la solución de problemas que son difíciles para sistemas computacionales comunes o para el ser humano.

• Tipo de pesos Fijos Variables

• Tipo de aprendizaje Supervisado No supervisado

• Fases de operación Entrenamiento de la red. Recuperación de lo aprendido.

Page 38: Inteligencia Artificial en Videojuegos Seminario de Videojuegos y Tecnologías Interactivas INCO, Facultad de Ingeniería (UDELAR) Noviembre 2008

Aplicación a los NPC’sAplicación a los NPC’s……

• Necesidad de crear juegos más divertidos y de mayor vida útil.

• Se pueden crear juegos más realistas con comportamientos inteligentes.

• Se pretende que los NPC’s puedan ir aprendiendo en cada sesión de juego e interactuar con los escenarios virtuales de forma inteligente con un mínimo conocimiento inicial.

Page 39: Inteligencia Artificial en Videojuegos Seminario de Videojuegos y Tecnologías Interactivas INCO, Facultad de Ingeniería (UDELAR) Noviembre 2008

Áreas de influenciaÁreas de influencia……

1. Conocimiento, entendimiento y explotación del terreno.

Escondites o refugios Atajos Lugares de ataque estratégicos

2. Uso eficiente del trabajo en equipo Interacción de NPC’s para lograr un mismo

objetivo

3. Habilidad para cazar Habilidad de NPC’s para perseguir al jugador

4. Instinto de supervivencia Planificar los ataques

Page 40: Inteligencia Artificial en Videojuegos Seminario de Videojuegos y Tecnologías Interactivas INCO, Facultad de Ingeniería (UDELAR) Noviembre 2008

STEERING

• Necesario para la creación de agentes autónomos• Sistema situado en y parte de un entorno que siente ese

entorno y actúa sobre él, a través del tiempo, persiguiendo sus propios objetivos de forma que afecte lo que siente en el futuro.

• Maniobrabilidad (Steering) es la habilidad de moverse según lo que se encuentra en su entorno intentando cumplir un objetivo dado

Page 41: Inteligencia Artificial en Videojuegos Seminario de Videojuegos y Tecnologías Interactivas INCO, Facultad de Ingeniería (UDELAR) Noviembre 2008

FPS

• Uso extensivo de maniobrabilidad– Llegar a destino– Evitar obstáculos– Persecuciones– Huir– Etc…

Page 42: Inteligencia Artificial en Videojuegos Seminario de Videojuegos y Tecnologías Interactivas INCO, Facultad de Ingeniería (UDELAR) Noviembre 2008

STEERING

• Individuales• Grupales• Uso de un vector fuerza (Steering Force), masa,

posición y orientación.•Se calcula la fuerza necesaria que se debe aplicar para alcanzar el objetivo. Se la disminuye según la velocidad máxima y se aplica como aceleración

Page 43: Inteligencia Artificial en Videojuegos Seminario de Videojuegos y Tecnologías Interactivas INCO, Facultad de Ingeniería (UDELAR) Noviembre 2008

Comportamientos básicos individualesComportamientos básicos individuales

Búsqueda (Seek)Búsqueda (Seek)

Huir (Flee)Huir (Flee)

Llegar (Arrive)Llegar (Arrive)

Persecución (Pursuit)Persecución (Pursuit)

Evadir (Evade)Evadir (Evade)

Vagar(Wander)Vagar(Wander)

Evitar obstáculos (Obstacle avoidance)Evitar obstáculos (Obstacle avoidance)

Evitar muros(Wall avoidanceEvitar muros(Wall avoidance

Interponerse(Interpose)Interponerse(Interpose)

Esconderse(Hide)Esconderse(Hide)

Seguimiento de ruta (Path following)Seguimiento de ruta (Path following)

Persecusión a distancia (Offset pursuit)Persecusión a distancia (Offset pursuit)

Page 44: Inteligencia Artificial en Videojuegos Seminario de Videojuegos y Tecnologías Interactivas INCO, Facultad de Ingeniería (UDELAR) Noviembre 2008

Comportamientos básicos grupalesComportamientos básicos grupales

Separación (Separation)Separación (Separation)

Alineamiento (Alignment)Alineamiento (Alignment)

Coehsión (Cohesion)Coehsión (Cohesion)

Bandada (Flocking)Bandada (Flocking)

Page 45: Inteligencia Artificial en Videojuegos Seminario de Videojuegos y Tecnologías Interactivas INCO, Facultad de Ingeniería (UDELAR) Noviembre 2008

Motor de IAMotor de IA

• Data driven

• Decision Making• Base del sistema

• Perception System• El entorno al que se debe

responder

• Navigation• Ir del punto A al B

Page 46: Inteligencia Artificial en Videojuegos Seminario de Videojuegos y Tecnologías Interactivas INCO, Facultad de Ingeniería (UDELAR) Noviembre 2008

Motor de IA – IA Distribuida

• Basado en capas– Capa de percepción (Perception layer)– Capa de comportamiento (Behavior layer)– Capa de animación (Animation layer)– Capa de movimiento (Motion layer)– Toma de decisiones a corto plazo (Short term decision

making)– Toma de decisiones a largo plazo (Long term decision

making)– Capa de información basada en la posición

Page 47: Inteligencia Artificial en Videojuegos Seminario de Videojuegos y Tecnologías Interactivas INCO, Facultad de Ingeniería (UDELAR) Noviembre 2008

Motor de IA – Brook’s Subsumption

• Basado en capas• Más básico que la IA Distribuida.• Intenta llegar a una inteligencia de insecto

robusta• Muchas veces todo lo que se necesita

– Mentalidad de colmena en RTS

Page 48: Inteligencia Artificial en Videojuegos Seminario de Videojuegos y Tecnologías Interactivas INCO, Facultad de Ingeniería (UDELAR) Noviembre 2008

Motor de IA

• Consideraciones de diseño– Data driven– One track mind (OTM)– Nivel de detalle– IA de soporte– Ideas de diseño– Ideas de implementación

Page 49: Inteligencia Artificial en Videojuegos Seminario de Videojuegos y Tecnologías Interactivas INCO, Facultad de Ingeniería (UDELAR) Noviembre 2008

EjemplosEjemplos

Page 50: Inteligencia Artificial en Videojuegos Seminario de Videojuegos y Tecnologías Interactivas INCO, Facultad de Ingeniería (UDELAR) Noviembre 2008

Los 10 juegos más influyentes (Lista de controversias)

Mejores IAMejores IA

Mejores diseñosMejores diseños

Más innovadoresMás innovadores

Más vendidosMás vendidos

Page 51: Inteligencia Artificial en Videojuegos Seminario de Videojuegos y Tecnologías Interactivas INCO, Facultad de Ingeniería (UDELAR) Noviembre 2008

#10 Half Life (1998)

Cut – Scenes interactivas

IA NPC que acompaña al jugador

Squad AI

Page 52: Inteligencia Artificial en Videojuegos Seminario de Videojuegos y Tecnologías Interactivas INCO, Facultad de Ingeniería (UDELAR) Noviembre 2008

#9 Total War (2000)

Miles de NPC’s controlados simultaneamente

Modela las emociones de grupos de soldados (según el Arte de la guerra de Tsun-Tzu)

Page 53: Inteligencia Artificial en Videojuegos Seminario de Videojuegos y Tecnologías Interactivas INCO, Facultad de Ingeniería (UDELAR) Noviembre 2008

#8 Warcraft (1994)

Cientos de personajes manejados por IA

Uso de pathfinding en grandes cantidades depersonajes simultaneamente

Page 54: Inteligencia Artificial en Videojuegos Seminario de Videojuegos y Tecnologías Interactivas INCO, Facultad de Ingeniería (UDELAR) Noviembre 2008

#7 Thief (1998)

Modelo sensorial que permite responder conRealismo a luces y sombras

Voces pregrabadas para dar a entender alJugador que es lo que está pasando

Page 55: Inteligencia Artificial en Videojuegos Seminario de Videojuegos y Tecnologías Interactivas INCO, Facultad de Ingeniería (UDELAR) Noviembre 2008

#6 Sims (2000)

Uso de objetos inteligentes para decirle al personaje como actuar

Modelado de emociones y deseos

Page 56: Inteligencia Artificial en Videojuegos Seminario de Videojuegos y Tecnologías Interactivas INCO, Facultad de Ingeniería (UDELAR) Noviembre 2008

#5 Creatures (1996)

Aprendizaje automático

Uso de redes neuronales

Gran avance en ALife

Page 57: Inteligencia Artificial en Videojuegos Seminario de Videojuegos y Tecnologías Interactivas INCO, Facultad de Ingeniería (UDELAR) Noviembre 2008

#4 Halo (2001)

Los enemigos se cubren inteligentementeuso de grandas y fuego al sorprender

La situación del grupo afecta a los individuos

Behavior Tree

Page 58: Inteligencia Artificial en Videojuegos Seminario de Videojuegos y Tecnologías Interactivas INCO, Facultad de Ingeniería (UDELAR) Noviembre 2008

#3 Façade (2005)

Uso de lenguaje natural

Historia dinámica

Page 59: Inteligencia Artificial en Videojuegos Seminario de Videojuegos y Tecnologías Interactivas INCO, Facultad de Ingeniería (UDELAR) Noviembre 2008

#2 FEAR (2005)

Uso de planificador en motor de IA

Uso del entorno (puertas, mesas, etc…)

Muy buenas tácticas grupales

Page 60: Inteligencia Artificial en Videojuegos Seminario de Videojuegos y Tecnologías Interactivas INCO, Facultad de Ingeniería (UDELAR) Noviembre 2008

#1 Black & White

Interacción con una criatura inteligente queaprende a base de premios y castigos

Integración de vida artificial con estrategia

Arquitectura IA basada en laciencia cognitivaBelief Desire Intention (BDI)

Page 61: Inteligencia Artificial en Videojuegos Seminario de Videojuegos y Tecnologías Interactivas INCO, Facultad de Ingeniería (UDELAR) Noviembre 2008

Preguntas ?Preguntas ?

Page 62: Inteligencia Artificial en Videojuegos Seminario de Videojuegos y Tecnologías Interactivas INCO, Facultad de Ingeniería (UDELAR) Noviembre 2008

ReferenciasReferencias

• Artificial Intelligence: A Modern Aproach, Stuart J. Russell and Peter Norvig (Prentice Hall © 1995)

• Game Design Foundations, by Roger E. Pedersen (Wordware Publishing © 2003)

• Game Design Theory and Practice, Second

Edition, Richard Rouse (Wordware Publishing © 2005)

• Game Programming All In One, Bruno Miguel de Texeira Sosa (Premier Press © 2002)

• Game Programming Gems 6

Page 63: Inteligencia Artificial en Videojuegos Seminario de Videojuegos y Tecnologías Interactivas INCO, Facultad de Ingeniería (UDELAR) Noviembre 2008

ReferenciasReferencias

• AI Game Engine Programming , by Bryan Schuab (Charles River Media © 2004)

• Programming Game AI By Example, by Matt Buckland (Wordware Publishing © 2005)

• AI Game Programming Wisdom 2, by Steve Ravin

• www.aigamedev.com• www.gameai.com• www.gamasutra.com