Inteligencia Artificial Para Videojuegos

Anuncio
Inteligencia Artificial
Para Videojuegos
Diego Fernando Loaiza Buitrago
Pontificia Universidad Javeriana Cali
Inteligencia Artificial
● "Capacidad de un computador/máquina de
realizar actividades que requieren
inteligencia"
ó
● "Comportamiento inteligente que exhibe
una máquina"
Qué es inteligencia?
IA Fuerte:
● Conciencia y emociones están vinculadas al
intelecto.
● Más que capacidad de resolver problemas
que requieren inteligencia "humana".
● Capacidad de aprendizaje y adaptación.
IA Débil:
● Técnicas concretas para dotar a máquinas
de capacidades específicas de inteligencia.
○ IA para videojuegos cae en esta categoría.
IA para video juegos: Conceptos
Determinista:
● No existe incertidumbre.
● Especificado y predecible.
○ ej: algoritmo de persecución.
No Determinista:
● Cierto grado de incertidumbre, impredecible
hasta cierto punto.
● Depende de la técnica usada.
○ ej: NPC que se adapta a tácticas de combate de
jugador. Aprendizaje a través de red neuronal, red
Bayesiana o algoritmos genéticos.
IA para video juegos: Conceptos
● Agentes: NPC (Non-player character),
Virtual player.
Sen tir, Percibir
Pensar
Actuar
IA para video juegos: Conceptos
Concepto de Agente:
● Sentir, Percibir:
○ Recolectar cambios en sensores de entrada.
○ Actualizar estado con nuevos valores.
● Pensar
○ Usar actividad humana básica.
● Actuar
○ Ejecutar cambios en acciones.
○ Interactuar con entorno.
IA para video juegos: Conceptos
Concepto de Agente:
● Comportamiento: secuencia de acciones.
○ Ej: patrullaje: Moverse,observar,moverse,observar,
apuntar,acercarse,disparar (x3),recargar,disparar(
x3), regresar por munición.
○ Condiciones: capacidad del arma de disparar,el
enemigo es destruido a los 6 disparos, la munición
se terminó.
○ Condiciones cambian el comportamiento: con un
enemigo distinto? con un arma distinta?
IA para video juegos: Conceptos
Agentes
● Reactivos
● Resolución de problemas (pathfinding)
● variedad de reaciones, reacción depende
del estímulo.
● Más de 1 comportamiento, interacción con
otros agentes. Emotividad?
● Anticipación.
● Nivel apropiado de dificultad: exigir habilidad
suficiente del jugador.
IA para video juegos: Conceptos
IA para video juegos: Conceptos
Máquina replica comportamiento humano:
Aprendizaje y adaptación.
● Incrementar dificultad (agresividad) si el
jugador juega mejor (adquiere habilidad).
● Los niveles son versiones "preprogramadas" de la adaptación.
● Debe poder afinarse.
IA para video juegos: Conceptos
Adaptación y calidad del "game play".
● Queremos que los enemigos se vuelvan
mejores a medida que nosotros mejoremos.
● Forzar al jugador a enfrentar las
consecuencias de sus acciones.
IA para video juegos: Conceptos
Qué es un juego inteligente?
● Jugador lo percibe como retador.
● El "game play" siempre ofrece sorpresas.
● Sensación de que entorno puede ofrecer
respuestas.
○ Capacidad de progresar a través de la resolución de
problemas.
IA para video juegos: Objetivos
Papel de la IA en un juego
● control de cada NPC.
○ Otros carros, en un juego de carreras.
○ Oponentes en un FPS.
○ Mis unidades, Unidades del enemigo y el enemigo
en un juego de estrategia.
● No es el control de entes pasivos, reactivos.
○ Física, o lógica del juego.
IA para video juegos: Modelos
Metas
● Guiado por metas: AI decide qué hacer, después
descubre cómo.
● Intensivo en conocimiento: AI posee vasto conocimiento
del mundo y su comportamiento, incorpora este
conocimiento en el suyo propio.
● Receptivo, sensible: AI responde a cambios en el
mundo.
● Modelamiento realista: encarnar personaje convincente,
consistente.
● Metas prácticas:
○ Desarrollo fácil y rápido.
○ Bajo uso de CPU y memoria.
IA para video juegos: Modelos
Dos Complejidades
● Complejidad de ejecución
○ Qué tan rápido se ejecuta al agregar conocimiento?
○ Memoria necesaria para agregar conocimiento?
○ Determina costo en ejecución de la AI
● Complejidad de especificación
○ Qué tan dificil es escribir el código?
○ Qué tanto código se necesita agregar para
incrementar conocimiento?
○ Determina costo de desarrollo y riesgos.
IA para video juegos: Modelos
Especificación de comportamiento, herramientas lógicas.
● Qué comportamientos pueden ser definidos fácilmente?
● Lógica proposicional
●
○ afirmaciones específicas.
■ B.J. Blazkowicz está en el castillo Wolfenstein.
Está desarmado.
■ Si encuentra Luger, mata al médico de la S.S. y
escapa.
Lógica de predicados
○ Afirmaciones generales, con variables.
■ Algunos soldados de la S.S. poseen MP40s.
■ hay al menos un camino seguro desde la
mazmorra hasta la estación de teleféricos.
IA para video juegos: Modelos
Algunos conceptos.
● Heurística: regla general que puede solucionar
●
problema. Ej: persecución basada en obtención de
coordenadas del objetivo. Obstaculos? :
○ Trabajo en conjunto con algoritmo (p. ej. pathfinding)
Data-driven design:
○ necesidad de pulir, afinar y balancear
comportamientos.
○ técnica de programación: datos externos que
parametrizan AI y el comportamiento en general del
programa.
○ Archivos de texto plano, DB relacionales, etc.
IA para video juegos: Modelos
Algunos conceptos.
● OOD:
●
○ Objetos, herencia
○ Agregación
■ Objeto base, agregación de características
especializadas.
■ Uso de interfaces
Métodos de control
○ N agentes + jugador actuando simultáneamente:
código se ejecuta secuencialmente, procesando 1
agente a la vez.
IA para video juegos: Modelos
● Métodos de control
○ Control basado en tiempo:
■ basado en los ticks del game loop.
■ Condición para ejecutar acciones, depende del
estado del agente en determinado tiempo.
○ Control basado en eventos:
■ llamado a funciones dependiendo de eventos.
■ triggers.
IA para video juegos: Modelos
Resumen
Espectro de soluciones
● Mayoría de juegos comerciales
○ FSAs, Lógica difusa, árboles de decisión, Sistemas
basados en reglas, redes neuronales, sistemas
basados en reglas.
● Rango más amplio de soluciones en entorno
académico.
○ programación lógica, sistemas de planeación
complejos, algoritmos genéticos, redes bayesianas.
○ usualmente poco eficientes para videojuegos.
Descargar