Este documento describe varios algoritmos básicos para comportamientos de dirección en videojuegos, los cuales aplican fuerza o aceleración a un agente para lograr movimiento dinámico. Explica comportamientos como seguimiento, llegada, alineamiento y equiparación de velocidad, así como cómo pueden extenderse a comportamientos más complejos como persecución y evasión. Finalmente, indica que estos algoritmos se pueden combinar para lograr movimientos realistas de agentes en videojuegos.
Curso teórico-práctico sobre Inteligencia Artificial para Videojuegos (IAV) basado en el modelo de propone Ian Millington en su libro, impartido en la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Inteligencia Artificial para Videojuegos (IAV) basado en el modelo de propone Ian Millington en su libro, impartido en la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Inteligencia Artificial para Videojuegos (IAV) basado en el modelo de propone Ian Millington en su libro, impartido en la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Inteligencia Artificial para Videojuegos (IAV) basado en el modelo de propone Ian Millington en su libro, impartido en la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Inteligencia Artificial para Videojuegos (IAV) basado en el modelo de propone Ian Millington en su libro, impartido en la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Inteligencia Artificial para Videojuegos (IAV) basado en el modelo de propone Ian Millington en su libro, impartido en la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Inteligencia Artificial para Videojuegos (IAV) basado en el modelo de propone Ian Millington en su libro, impartido en la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Inteligencia Artificial para Videojuegos (IAV) basado en el modelo de propone Ian Millington en su libro, impartido en la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Inteligencia Artificial para Videojuegos (IAV) basado en el modelo de propone Ian Millington en su libro, impartido en la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Inteligencia Artificial para Videojuegos (IAV) basado en el modelo de propone Ian Millington en su libro, impartido en la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Inteligencia Artificial para Videojuegos (IAV) basado en el modelo de propone Ian Millington en su libro, impartido en la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Inteligencia Artificial para Videojuegos (IAV) basado en el modelo de propone Ian Millington en su libro, impartido en la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Inteligencia Artificial para Videojuegos (IAV) basado en el modelo de propone Ian Millington en su libro, impartido en la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Inteligencia Artificial para Videojuegos (IAV) basado en el modelo de propone Ian Millington en su libro, impartido en la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Inteligencia Artificial para Videojuegos (IAV) basado en el modelo de propone Ian Millington en su libro, impartido en la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Inteligencia Artificial para Videojuegos (IAV) basado en el modelo de propone Ian Millington en su libro, impartido en la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Inteligencia Artificial para Videojuegos (IAV) basado en el modelo de propone Ian Millington en su libro, impartido en la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Inteligencia Artificial para Videojuegos (IAV) basado en el modelo de propone Ian Millington en su libro, impartido en la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Inteligencia Artificial para Videojuegos (IAV) basado en el modelo de propone Ian Millington en su libro, impartido en la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Inteligencia Artificial para Videojuegos (IAV) basado en el modelo de propone Ian Millington en su libro, impartido en la Universidad Complutense de Madrid.
Búsqueda de caminos usando estrategias informadasFederico Peinado
Curso teórico-práctico sobre Inteligencia Artificial para Videojuegos (IAV) basado en el modelo de propone Ian Millington en su libro, impartido en la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Inteligencia Artificial para Videojuegos (IAV) basado en el modelo de propone Ian Millington en su libro, impartido en la Universidad Complutense de Madrid.
Resolución de problemas en el espacio de estadosFederico Peinado
Curso teórico-práctico sobre Inteligencia Artificial para Videojuegos (IAV) basado en el modelo de propone Ian Millington en su libro, impartido en la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Inteligencia Artificial para Videojuegos (IAV) basado en el modelo de propone Ian Millington en su libro, impartido en la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Inteligencia Artificial para Videojuegos (IAV) basado en el modelo de propone Ian Millington en su libro, impartido en la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Inteligencia Artificial para Videojuegos (IAV) basado en el modelo de propone Ian Millington en su libro, impartido en la Universidad Complutense de Madrid.
Generación procedimental de contenido (+ Pseudocódigo)Federico Peinado
Curso teórico-práctico sobre Inteligencia Artificial para Videojuegos (IAV) basado en el modelo de propone Ian Millington en su libro, impartido en la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Inteligencia Artificial para Videojuegos (IAV) basado en el modelo de propone Ian Millington en su libro, impartido en la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Inteligencia Artificial para Videojuegos (IAV) basado en el modelo de propone Ian Millington en su libro, impartido en la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Inteligencia Artificial para Videojuegos (IAV) basado en el modelo de propone Ian Millington en su libro, impartido en la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Diseño de Videojuegos (DV) fuertemente basado en el modelo de Mecánica-Dinámica-Estética, impartido en la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Desarrollo de Videojuegos (DEV) orientado hacia la creación de contenido y desarrollo de jugabilidad mediante un lenguaje de programación visual como Blueprints en Unreal Engine. Impartido en el Máster en Ingeniería Informática de la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Diseño de Videojuegos (DV) fuertemente basado en el modelo de Mecánica-Dinámica-Estética, impartido en la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Diseño de Videojuegos (DV) fuertemente basado en el modelo de Mecánica-Dinámica-Estética, impartido en la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Desarrollo de Videojuegos (DEV) orientado hacia la creación de contenido y desarrollo de jugabilidad mediante un lenguaje de programación visual como Blueprints en Unreal Engine. Impartido en el Máster en Ingeniería Informática de la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Diseño de Videojuegos (DV) fuertemente basado en el modelo de Mecánica-Dinámica-Estética, impartido en la Universidad Complutense de Madrid.
Los desafíos de calidad de software que nos trae la IA y los LLMsFederico Toledo
En esta charla, nos sumergiremos en los desafíos emergentes que la inteligencia artificial (IA) y los Large Language Models (LLMs) traen al mundo de la calidad del software y el testing. Exploraremos cómo la integración, uso o diseño de modelos de IA plantean nuevos retos, incluyendo la calidad de datos y detección de sesgos, sumando la complejidad de probar algo no determinístico. Revisaremos algunas propuestas que se están llevando adelante para ajustar nuestras tareas de testing al desarrollo de este tipo de sistemas, incluyendo enfoques de pruebas automatizadas y observabilidad.
Escaneo y eliminación de malware en el equiponicromante2000
El malware tiene muchas caras, y es que los programas maliciosos se reproducen en los ordenadores de diferentes formas. Ya se trate de virus, de programas espía o de troyanos, la presencia de software malicioso en los sistemas informáticos siempre debería evitarse. Aquí te muestro como trabaja un anti malware a la hora de analizar tu equipo
Curso teórico-práctico sobre Inteligencia Artificial para Videojuegos (IAV) basado en el modelo de propone Ian Millington en su libro, impartido en la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Inteligencia Artificial para Videojuegos (IAV) basado en el modelo de propone Ian Millington en su libro, impartido en la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Inteligencia Artificial para Videojuegos (IAV) basado en el modelo de propone Ian Millington en su libro, impartido en la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Inteligencia Artificial para Videojuegos (IAV) basado en el modelo de propone Ian Millington en su libro, impartido en la Universidad Complutense de Madrid.
Búsqueda de caminos usando estrategias informadasFederico Peinado
Curso teórico-práctico sobre Inteligencia Artificial para Videojuegos (IAV) basado en el modelo de propone Ian Millington en su libro, impartido en la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Inteligencia Artificial para Videojuegos (IAV) basado en el modelo de propone Ian Millington en su libro, impartido en la Universidad Complutense de Madrid.
Resolución de problemas en el espacio de estadosFederico Peinado
Curso teórico-práctico sobre Inteligencia Artificial para Videojuegos (IAV) basado en el modelo de propone Ian Millington en su libro, impartido en la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Inteligencia Artificial para Videojuegos (IAV) basado en el modelo de propone Ian Millington en su libro, impartido en la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Inteligencia Artificial para Videojuegos (IAV) basado en el modelo de propone Ian Millington en su libro, impartido en la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Inteligencia Artificial para Videojuegos (IAV) basado en el modelo de propone Ian Millington en su libro, impartido en la Universidad Complutense de Madrid.
Generación procedimental de contenido (+ Pseudocódigo)Federico Peinado
Curso teórico-práctico sobre Inteligencia Artificial para Videojuegos (IAV) basado en el modelo de propone Ian Millington en su libro, impartido en la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Inteligencia Artificial para Videojuegos (IAV) basado en el modelo de propone Ian Millington en su libro, impartido en la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Inteligencia Artificial para Videojuegos (IAV) basado en el modelo de propone Ian Millington en su libro, impartido en la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Inteligencia Artificial para Videojuegos (IAV) basado en el modelo de propone Ian Millington en su libro, impartido en la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Diseño de Videojuegos (DV) fuertemente basado en el modelo de Mecánica-Dinámica-Estética, impartido en la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Desarrollo de Videojuegos (DEV) orientado hacia la creación de contenido y desarrollo de jugabilidad mediante un lenguaje de programación visual como Blueprints en Unreal Engine. Impartido en el Máster en Ingeniería Informática de la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Diseño de Videojuegos (DV) fuertemente basado en el modelo de Mecánica-Dinámica-Estética, impartido en la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Diseño de Videojuegos (DV) fuertemente basado en el modelo de Mecánica-Dinámica-Estética, impartido en la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Desarrollo de Videojuegos (DEV) orientado hacia la creación de contenido y desarrollo de jugabilidad mediante un lenguaje de programación visual como Blueprints en Unreal Engine. Impartido en el Máster en Ingeniería Informática de la Universidad Complutense de Madrid.
Curso teórico-práctico sobre Diseño de Videojuegos (DV) fuertemente basado en el modelo de Mecánica-Dinámica-Estética, impartido en la Universidad Complutense de Madrid.
Los desafíos de calidad de software que nos trae la IA y los LLMsFederico Toledo
En esta charla, nos sumergiremos en los desafíos emergentes que la inteligencia artificial (IA) y los Large Language Models (LLMs) traen al mundo de la calidad del software y el testing. Exploraremos cómo la integración, uso o diseño de modelos de IA plantean nuevos retos, incluyendo la calidad de datos y detección de sesgos, sumando la complejidad de probar algo no determinístico. Revisaremos algunas propuestas que se están llevando adelante para ajustar nuestras tareas de testing al desarrollo de este tipo de sistemas, incluyendo enfoques de pruebas automatizadas y observabilidad.
Escaneo y eliminación de malware en el equiponicromante2000
El malware tiene muchas caras, y es que los programas maliciosos se reproducen en los ordenadores de diferentes formas. Ya se trate de virus, de programas espía o de troyanos, la presencia de software malicioso en los sistemas informáticos siempre debería evitarse. Aquí te muestro como trabaja un anti malware a la hora de analizar tu equipo
Si bien los hospitales conjuntan a profesionales de salud que atienden a la población, existe un equipo de organización, coordinación y administración que permite que los cuidados clínicos se otorguen de manera constante y sin obstáculos.
Mario García Baltazar, director del área de Tecnología (TI) del Hospital Victoria La Salle, relató la manera en la que el departamento que él lidera, apoyado en Cirrus y Estela, brinda servicio a los clientes internos de la institución e impulsa una experiencia positiva en el paciente.
Conoce el Hospital Victoria La Salle
Ubicado en Ciudad Victoria, Tamaulipas, México
Inició operaciones en el 2016
Forma parte del Consorcio Mexicanos de Hospitales
Hospital de segundo nivel
21 habitaciones para estancia
31 camas censables
13 camillas
2 quirófanos
+174 integrantes en su plantilla
+120 equipos médicos de alta tecnología
+900 pacientes atendidos
Servicios de +20 especialidades
Módulos utilizados de Cirrus
HIS
EHR
ERP
Estela - Business Intelligence
2. ● Aunque no hay definición formal de
“comportamiento de dirección”, suele
usarse para hablar de movimiento dinámico
○ Algoritmos que trabajan aplicando sobre el agente
fuerza/aceleración
○ ¡Hay miles!, pero
veremos unos básicos
y cómo combinarlos
● Muy habitual sobre
todo en juegos de
conducción
Comportamiento de dirección 2
Motivación
3. ● Craig Reynolds fue el primero en proponer
comportamientos de dirección para
videojuegos, en la GDC de 1999
Comportamiento de dirección 3
Motivación
4. ● Extensiones a los movimientos cinemáticos,
que dan lugar a movimientos dinámicos
○ Reciben velocidad y rotación del agente (entrada) y
aplican fuerza/aceleración en la dirección (salida)
○ Hay algunos básicos, como seguimiento y huida,
llegada, alineamiento o equiparación de velocidad
Comportamiento de dirección 4
Comportamientos de dirección
STEERING BEHAVIORS
5. ● Estructura básica
○ Leen la información cinemática del agente y, según
sea necesario, pueden leer algo de información
(estática o cinemática/”predictiva”) del objetivo
○ El objetivo puede ser uno o varios agentes,
caminos, colisiones (o la geometría del nivel)
● Suele tratar de equiparar (o diferenciar, en
el caso opuesto) los valores de las variables
del agente y el objetivo
○ Ej. Ocupar la misma posición que el objetivo
○ Para varias variables, es mejor hacer algoritmos
separados para cada variable… y luego combinarlos
Comportamiento de dirección 5
Comportamientos de dirección
6. ● Estos algoritmos tratan siempre de acelerar
al máximo, ir lo más rápido posible... para
realizar esa equiparación/diferenciación
○ Conviene restringir los valores al final de cada tick,
para no exceder ciertos máximos de seguridad
○ A veces también se aplica rozamiento, en la parte
física del tick, para contener
ese crecimiento de los valores
e ir “apagando” de forma
realista el movimiento
Comportamiento de dirección 6
Comportamientos de dirección
7. Comportamiento de dirección 7
Comportamientos de dirección
* Obviamente ya van a
ser todos movimientos
DINÁMICOS
8. ● Trata de equiparar la posición del agente
con la del objetivo
Comportamiento de dirección 8
Seguimiento y huida
SEEK & FLEE
*
Si
quieres
cambiar
también
la
orientación
del
agente,
lo
suyo
es
combinar
este
comportamiento
con
otro
de
alinear
Tiempo = O(1)
Espacio = O(1)
* Modificación
para Huida
9. ● Igual pero deteniéndose, usando dos radios
○ Uno para ir
reduciendo la
velocidad y otro
para ponerla a
cero por ya estar
suficientemente
cerca (margen
de error)
○ Más un tiempo
para conseguir
la velocidad
deseada
Comportamiento de dirección 9
… añadiendo Llegada
ARRIVAL
* Ojo con los prefijos “target”,
no tienen nada que ver con la variable target
12. ● Parecido a Llegada, pero trata de equiparar
la orientación del agente y la del objetivo
○ Rotando por el camino más corto (-π, π)
■ ¡Cuidado con rotar más rápido que π por tick!
○ Y dos ángulos, por lo mismo: uno para empezar a
reducir la velocidad de
rotación y otro como margen
de error
Comportamiento de dirección 12
Alineamiento
ALIGN
13. Comportamiento de dirección 13
Alineamiento
* mapToRange también se conoce como “hallar el ángulo
delta” (ángulo equivalente entre π y -π)
14. Comportamiento de dirección 14
Alineamiento
Tiempo = O(1)
Espacio = O(1)
* Lo contrario es el Alineamiento en sentido opuesto
(sumar π a la orientación del objetivo y alinearse a eso)
15. ● Se reutiliza el trozo que interesa de Llegada
○ No suele usarse sólo, aunque sí combina con otros
Comportamiento de dirección 15
Equiparación de velocidad
Tiempo = O(1)
Espacio = O(1)
16. ● Los básicos se pueden ampliar (mediante
herencia o mediante composición) a otros
○ Persecución y evasión, encaramiento, orientación
según velocidad, merodeo... y en 3D son como 2D
pero con los cálculos para el movimiento angular
○ A veces se intenta predecir la posición futura de un
objetivo, hasta proyectando volúmenes
Comportamiento de dirección 16
Más comportamientos de dirección
17. ● Heredando de Seguimiento
y Huida, añadiendo una predicción básica (=
tener en cuenta la velocidad del objetivo)
○ Se calcula lo que tardaría en llegar hasta el
objetivo y ese tiempo (hasta un máximo) es lo que
usamos para predecir donde estará el objetivo
○ También se puede
implementar mediante
composición, claro…
pero hay que copiar más
valores
Comportamiento de dirección 17
Persecución y evasión
PURSUE & EVADE
19. Comportamiento de dirección 19
Persecución y evasión
Tiempo = O(1)
Espacio = O(1)
* Lo contrario es Evasión
(cambiar Seek por Flee, básicamente...)
explicitTarget = Hacer una
copia de los datos del objetivo
20. ● Trata de modificar la orientación según la
posición relativa del agente con el objetivo
○ ¡Reutiliza Alineamiento!
Comportamiento de dirección 20
Encaramiento
FACE
21. ● Trata de orientar al agente hacia donde
este se está moviendo
○ ¡Reutiliza Alineamiento, también!
Comportamiento de dirección 21
Orientación según velocidad
Tiempo = O(1)
Espacio = O(1)
22. ● Suaviza el merodeo cinemático, fijando un
objetivo aleatorio (situado unos pasos por
delante) y siguiéndolo dinámicamente
Comportamiento de dirección 22
Otro merodeo
23. Comportamiento de dirección 23
Merodeo
Tiempo = O(1)
Espacio = O(1)
¡También cambia de
dirección a cada
fotograma!
24. ● Entre los dos radios de la Llegada...
A. Aumenta la velocidad desde cero hasta el máximo
B. Se reduce la aceleración hasta el mínimo
C. Se reduce la velocidad desde el máximo hasta cero
D. Aumenta la aceleración de cero hasta el máximo
● Desarrolla tu respuesta (en texto libre)
Comportamiento de dirección 24
Participación
25. * Excepto el contenido multimedia de terceros autores
Federico Peinado (2019-2023)
www.federicopeinado.es
Críticas, dudas, sugerencias...