DEV 04-02 Inteligencia artificial (Federico Peinado)

federicopeinado 0 views 22 slides Oct 16, 2025
Slide 1
Slide 1 of 22
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22

About This Presentation

DEV 04-02 Inteligencia artificial.pdf


Slide Content

Desarrollo de Videojuegos
Herramientas para crear
jugabilidad avanzada
Inteligencia artificial

●La Inteligencia Artificial (IA) en juegos no es
un concepto académico sino un conjunto de
soluciones a problemas muy concretos
●Queremos enriquecer los juegos con:
Inteligencia artificial2
Motivación
Toma de
decisiones
ACCIONES
(como movimiento,
interacción, navegación
por el entorno…)
Análisis del
entorno
Percepción de
cada agente

●Para lo que, en Unreal Engine, existen
diversos sistemas que ayudan a realizar
cada una de estas tareas
Inteligencia artificial3
Motivación

●¡En UE5 hay más!
Inteligencia artificial4
Motivación

●Recuerda que tus NPCs necesitarán un peón
y un controlador de IA que lo “posea”
●Ambos actores deben existir en el mundo,
así que o usamos Spawn Actor (o el
específico Spawn AI from Class) o
permitimos que el peón cree y
sea poseído por un controlador
de manera automática
○Si generamos enemigos en tiempo
real, Placed in World or Spawned
Inteligencia artificial5
Requisitos

●Los agentes pueden tener sentidos y
percibir daño, ruido, presencia de alguien
(por vista, tacto…), anticiparse al
movimiento de otro…
○Antiguamente se
usaba una solución
sencilla pero poco
eficiente llamada
Pawn Sensing

Inteligencia artificial 6
Percepción
https://docs.unrealengine.com/en-US/Engine/ArtificialIntelligence/
AIPerception/index.html

●Añade lo siguiente al controlador del NPC
○El componente AIPerception, los sentidos que necesites en
SensesConfig y eventos del tipo de OnPerceptionUpdate





●Todos los actores “percibibles” se deben
autoregistrar en el sentido correspondiente,
usando RegisterPerceptionStimuliSource
Inteligencia artificial 7
Percepción

●Tener mallas de navegación en los niveles y
agentes capaces de navegarlas es esencial
○Parte de la inteligencia está en el mundo, y parte
en la navegación por ruta óptima del propio agente
Inteligencia artificial8
Navegación

●El espacio potencialmente navegable se
cubrirá con un NavMeshBoundsVolume
○Pulsando P vemos la malla de navegación
autogenerada en base al suelo y los obstáculos
○¡Los controladores de IA ya saben navegar aquí!
●Colocando actores NavLinkProxy es posible
saltar o dejarse caer de un punto a otro
●El componente Nav Modifier puede cambiar
el coste u otras propiedades de una zona
○Lo normal es que las IAs busquen caminos mínimos
en términos de coste

Inteligencia artificial9
Navegación

●Para decidir, el paradigma por defecto que
ofrece Unreal son los árboles de
comportamiento (para razonar) junto a las
pizarras (para compartir conocimiento)
Inteligencia artificial10
Árboles de comportamiento

●Jerarquizan tareas, con este aspecto:
Inteligencia artificial11
Árboles de comportamiento
BEHAVIOR TREES

●Son árboles dirigidos
○Tienen un nodo raíz,
nodos de control de flujo
y nodos de ejecución
(las tareas)
* Que pueden estar en ejecución
o terminar con éxito o con fracaso
●Dos nodos principales de control de flujo:
○Nodo Selector (?), tiene éxito si uno de sus hijos
tiene éxito, probando de izquierda a derecha
○Nodo Secuencia (→) , tiene éxito si todos sus hijos
tienen éxito, de izquierda a derecha

Inteligencia artificial12
Árboles de comportamiento

Inteligencia artificial13
Árboles de comportamiento
La pizarra tiene registros
clave-valor que se usarán en el BT
(son las variables locales)
Nodos de secuencia o selección,
alternan el orden de ejecución

Inteligencia artificial14
Ejemplo

Inteligencia artificial15
Árboles de comportamiento
Como dijimos, tendremos un AIController y este lanza el BT
https://docs.unrealengine.com/en-US/Engine/ArtificialIntelligence/
BehaviorTrees/BehaviorTreesOverview/index.html
Las tareas se programan en respuesta a eventos del BT y pueden usar de todo

●Existen otras formas de decidir:
○Máquinas de estado
○Teoría de la decisión/utilidad
○Sistemas de reglas
○Planificación automática
○…
●Implementarlas es difícil y se suele recurrir
a herramientas de terceros
Inteligencia artificial 16
Otros paradigmas

●Activando los plugins StateTree y GameplayStateTree,
podemos combinar selectores de BTs con estados y
transiciones de FSMs
Inteligencia artificial 17
Ejemplo: Árboles de estado
https://dev.epicgames.com/documentation/en-us/unreal-engine/statetree-quick-start-guide

●Se basa en dar objetivos a los personajes,
que construirán sus propios planes según las
acciones que pueden realizar
○¡A ver si pronto resubimos GOAP NPC a Fab!
Inteligencia artificial 18
Ejemplo: GOAP

●El sistema EQS (Environment Query System)
es la interfaz con el mundo y sirve no sólo
para percibir sino para probar condiciones
“tácticas” sobre el entorno
○¿Quien domina el campo
de batalla?
○¿Dónde hay una buena
cobertura para mi?
○...
Inteligencia artificial 19
Sistema de consulta al entorno
https://docs.unrealengine.com/en-US/Engine/ArtificialIntelligence/
EQS/EQSQuickStart/index.html

●Si usamos BTs o percepción, se activan con
apóstrofe (‘/?)... y luego control numérico
○¡Son extremadamente útiles para depurar!
Inteligencia artificial 20
Herramientas de depuración
https://docs.unrealengine.com/en-US/Engine/ArtificialIntelligence/
AIDebugging/index.html

●¿Cuál es la diferencia entre un nodo
selector y un nodo secuencia?
A.El primero es una “Y” lógica y el segundo una “O”
B.El primero evalúa a derechas y el segundo al revés
C.El primero es nodo de flujo y el segundo ejecución
D.El primero es una “O” lógica y el segundo una “Y”
Inteligencia artificial 21
Participación

Federico Peinado (2019-2024)
www.federicopeinado.es
Críticas, dudas, sugerencias...
* Licencia sólo aplicable al texto original de estas diapositivas
Tags