SlideShare una empresa de Scribd logo
1 de 29
Descargar para leer sin conexión
Inteligencia Artificial
para Videojuegos
Percepción y movimiento
Física y animación
● Existe solapamiento entre la IA y el tema de
la Física… y hasta de la Animación
Física y animación 2
Motivación
● Percibir y moverse… son requisitos
fundamentales de los agentes racionales
● Pero movimientos hay de muchos tipos
○ De hecho hay juegos sin movimiento, y otros donde
la “IA” son únicamente algoritmos de movimiento
Física y animación 3
Motivación
● Arranca la industria del videojuego en 1972
○ Los primeros videojuegos no tienen IA
● Las primeras IAs aparecieron en clones de
Pong con oponentes controlados por
ordenador, o clones de Space Invaders
○ Básicamente lo único que hacían era moverse…
hacia el lado que debían :-)
● Se popularizaron mucho las recreativas
como Speed Race (1974)
○ Tenía una “IA primitiva”
(coches que se acercan)
y dos niveles de dificultad Física y animación 4
Hitos históricos
● Space Invaders, el boom de 1978
○ Tenía una dificultad incremental
○ Usaba distintos patrones de movimiento
dependientes de la entrada del jugador
● Numerosas secuelas y títulos
similares fueron añadiendo
patrones de movimiento
más complejos
Física y animación 5
Hitos históricos
● Karate Champ (1984)
○ Fue el primer juego de lucha en
usar notablemente la IA
○ Diferentes patrones de lucha
(otra forma de movimiento) para representar
personalidades distintas en sus luchadores
● Juegos como Warcraft (1994)
incluyen sutilezas como movimientos
sutiles de las tropas para romper
filas y aproximarse al enemigo
Física y animación 6
Hitos históricos
● Movimiento en 2D (aunque el mundo sea
3D, basta con que el suelo lo sea)
Física y animación 7
Fundamentos del movimiento
Z positivo es hacia abajo
Z negativo es hacia arriba
La Y se ignora
en este caso
● En Unity es igual (X y Z intercambiados)
Física y animación 8
Fundamentos del movimiento
En 2D el eje Z es la
profundidad
Física y animación 9
Fundamentos del movimiento
MECÁNICA
Clásica
ESTÁTICA
Cuerpos en
equilibrio
DINÁMICA
Cuerpos
acelerados
CINEMÁTICA
Sin considerar las
causas de esa
aceleración
FÍSICA
● Todos los algoritmos de movimiento
comparten el mismo esquema
Física y animación 10
Fundamentos del movimiento
ESQUEMA
DINÁMICO
Cuerpos
acelerados
ESQUEMA
CINEMÁTICO
Sin considerar
las causas de
esa aceleración
● La cinemática estudia únicamente el
movimiento de los cuerpos acelerados
○ Cambios en el estado de la posición, velocidad… e
incluso aceleración de un agente
○ Algoritmo cinemático: recibe posición y orientación, y
en el momento t devuelve la velocidad deseada
● La dinámica, más amplia, considera además
las causas que originan dicho movimiento
○ Aplica fuerzas, y afectará la masa, la energía...
○ Algoritmo dinámico: además recibe velocidad, incluso
aceleración, y en el momento t devuelve fuerza a
aplicar para aproximarse al movimiento deseado
Física y animación 11
Fundamentos del movimiento
● El más simple, aunque todavía se usa
○ En juegos 2D con velocidad fija y cambio brusco de
dirección (a veces ese cambio en el tiempo se
suaviza, para refinar el camino recorrido)
Física y animación 12
Movimiento cinemático
SMOOTHING
Estado ESTÁTICO del agente, sólo con
posición (2D) y orientación (0..2π radianes)
Un algoritmo de movimiento CINEMÁTICO, recibe dicho estado estático del
agente y devuelve como “dirección de salida” la velocidad lineal y angular
(rotación) que debe tener este para que realice cierto movimiento
● Más complejo, se usan en simulación (ej.
manejo de un vehículo) y en los videojuegos
actuales, de movimiento más realista
Física y animación 13
Movimiento dinámico
Estado CINEMÁTICO del agente,
añadiendo al estado estático la
velocidad lineal y angular
(rotación en radianes/segundo)
Un algoritmo de movimiento DINÁMICO, recibe el estado
cinemático del agente y devuelve como “dirección de
salida” la fuerza (directamente proporcional a una
aceleración lineal y angular) que debe aplicarse a este
para que realice cierto movimiento
● Esta es la base del algoritmo, que actualiza
posición y orientación según el movimiento
que está realizando el “agente cinemático”
Física y animación 14
Algoritmos cinemáticos
* Nos pasan el “movimiento requerido” y el tiempo
Todo esto suele quitarse,
por ser despreciable
● Función adicional para modificar la
orientación acorde a la velocidad lineal
○ Si queremos orientarnos de golpe, directamente
Física y animación 15
Orientación natural
*atan2 es la función
arcotangente de dos parámetros
* Algoritmo de Seguimiento
(no confundir con Persecución,
que es algo más inteligente
y lleva predicción)
Física y animación 16
Seguimiento y huida
* Modificación para Huida
(no confundir con Evasión,
versión mejorada con predicción)
SEEK
FLEE
PURSUE
EVADE * Normalización
Física y animación 17
Llegada
* Algoritmo de Llegada
(para que los agentes no
se queden “orbitando”
alrededor del destino,
sino que lleguen de
verdad a detenerse
en el objetivo)
ARRIVE
Física y animación 18
Llegada
* Lo contrario a la Llegada sería la Salida
(marcharse primero despacio y luego cada vez
más deprisa… aunque no se usa mucho)
Física y animación 19
Merodeo (uno de muchos posibles)
* Algoritmo para Merodeo
WANDER
*randomBinomial equivale a
pedir dos números aleatorios
entre 0 y 1, y restarlos
*asVector convierte la
orientación o en un vector de
dirección (x,y) = (sin(o),cos(o))
● ¿Qué maneja el movimiento cinemático?
A. La aceleración lineal y angular
B. La posición y la orientación
C. Lo del estático, más velocidad lineal y rotación
D. Lo del estático, más lo del dinámico
● Desarrolla tu respuesta (en texto libre)
Física y animación 20
Participación
* Excepto el contenido multimedia de terceros autores
Federico Peinado (2019-2023)
www.federicopeinado.es
Críticas, dudas, sugerencias...
● Muchos algoritmos de movimiento predicen,
como en los juegos online, aunque es típica
del lanzamiento de proyectiles
○ Permite saber cuál será el punto de impacto y si la
trayectoria colisionará o no con cierto objetivo
○ Ej. Las balas reales trazan
un arco parabólico ¡y hay
videojuegos que lo emulan!
○ Si la complejidad es grande,
hay rozamientos, etc. se hace
un apuntado iterativo
(= se simulan N lanzamientos) Física y animación 22
Predicción física
*
La
gravedad
acelera
a
9,81
m/s
2
aunque
en
videojuegos
a
veces
se
usa
el
doble
● Hay movimientos como el salto en los que
el agente se lo juega todo a una carta
○ Truco: El diseñador puede marcar puntos de salto
(¡incluso evitar saltos demasiado
difíciles en sus niveles!)
○ Se puede anotar la velocidad
mínima de salto, o sólo marcar
la zona de aterrizaje y que el
agente calcule su velocidad
○ Lo ideal sería marcar los
huecos saltables y que luego
el agente los salte como quiera
Física y animación 23
Saltos y otros movimientos
LANDING PAD
HOLE FILLER
● La orientación tridimensional suele emplear
cálculos matemáticos en cuaterniones
○ Extensión de los números reales con
tres unidades imaginarias (i, j, k)
○ Orientarse en 3D es de
por sí difícil... a
veces se ofrece un eje Z
o se simula la Deriva
con Alabeo + Inclinación,
como en un avión real
Física y animación 24
Saltos y otros movimientos
Deriva
Alabeo
Inclinación
● Millington, I.: Artificial Intelligence for
Games. CRC Press, 3rd Edition (2019)
Física y animación 25
Más información
● El movimiento dinámico añade la
consideración de fuerzas al cinemático, que
es un estudio del movimiento más sencillo
● Es típico predecir la física de proyectiles,
para ver donde llegan nuestros disparos
● Saltar o controlar un coche requiere de
ciertos trucos, y el 3D, de mayores cálculos
● Hay algoritmos cinemáticos básicos en
videojuegos como la persecución, la huida,
la llegada y el merodeo
Física y animación 26
Resumen
● Hitos históricos
● Fundamentos del movimiento
● Predicción física
● Saltos y otros movimientos
● Algoritmos cinemáticos
○ Persecución
○ Huida
○ Llegada
○ Merodeo
Física y animación 27
Puntos clave
Si puedes habla también de Control de
Sistemas (Conducción), PID y cosas así… pues
molaría, pero eso tal vez en Movimiento
Dinámico [Mencionarlo pero no lo cubrimos en
la asignatura]
Física y animación 28
Ojo, menuda explicación de vectores y de algo
más general incluso: TENSORES
https://www.youtube.com/watch?v=f5liqUk0Z
Tw
CHULÍSIMO: https://www.myphysicslab.com/
Física y animación 29

Más contenido relacionado

Más de Federico Peinado

Más de Federico Peinado (20)

Interfaz del mundo
Interfaz del mundoInterfaz del mundo
Interfaz del mundo
 
Gestión de la ejecución
Gestión de la ejecuciónGestión de la ejecución
Gestión de la ejecución
 
Acción coordinada
Acción coordinadaAcción coordinada
Acción coordinada
 
Comunicación en lenguaje natural
Comunicación en lenguaje naturalComunicación en lenguaje natural
Comunicación en lenguaje natural
 
Análisis táctico
Análisis tácticoAnálisis táctico
Análisis táctico
 
Probabilidad y utilidad
Probabilidad y utilidadProbabilidad y utilidad
Probabilidad y utilidad
 
Árbol de comportamiento
Árbol de comportamientoÁrbol de comportamiento
Árbol de comportamiento
 
Reglas y planificación
Reglas y planificaciónReglas y planificación
Reglas y planificación
 
Máquina de estados
Máquina de estadosMáquina de estados
Máquina de estados
 
Representación del conocimiento
Representación del conocimientoRepresentación del conocimiento
Representación del conocimiento
 
Búsqueda de caminos usando estrategias informadas
Búsqueda de caminos usando estrategias informadasBúsqueda de caminos usando estrategias informadas
Búsqueda de caminos usando estrategias informadas
 
Representación del entorno
Representación del entornoRepresentación del entorno
Representación del entorno
 
Resolución de problemas en el espacio de estados
Resolución de problemas en el espacio de estadosResolución de problemas en el espacio de estados
Resolución de problemas en el espacio de estados
 
Desplazamiento en grupo
Desplazamiento en grupoDesplazamiento en grupo
Desplazamiento en grupo
 
Percepción
PercepciónPercepción
Percepción
 
Comportamiento de dirección
Comportamiento de direcciónComportamiento de dirección
Comportamiento de dirección
 
Generación procedimental de contenido (+ Pseudocódigo)
Generación procedimental de contenido (+ Pseudocódigo)Generación procedimental de contenido (+ Pseudocódigo)
Generación procedimental de contenido (+ Pseudocódigo)
 
Aplicación según tipología del juego
Aplicación según tipología del juegoAplicación según tipología del juego
Aplicación según tipología del juego
 
Inteligencia Artificial para Videojuegos
Inteligencia Artificial para VideojuegosInteligencia Artificial para Videojuegos
Inteligencia Artificial para Videojuegos
 
Resolutor automático y agente inteligente
Resolutor automático y agente inteligenteResolutor automático y agente inteligente
Resolutor automático y agente inteligente
 

Física y animación

  • 1. Inteligencia Artificial para Videojuegos Percepción y movimiento Física y animación
  • 2. ● Existe solapamiento entre la IA y el tema de la Física… y hasta de la Animación Física y animación 2 Motivación
  • 3. ● Percibir y moverse… son requisitos fundamentales de los agentes racionales ● Pero movimientos hay de muchos tipos ○ De hecho hay juegos sin movimiento, y otros donde la “IA” son únicamente algoritmos de movimiento Física y animación 3 Motivación
  • 4. ● Arranca la industria del videojuego en 1972 ○ Los primeros videojuegos no tienen IA ● Las primeras IAs aparecieron en clones de Pong con oponentes controlados por ordenador, o clones de Space Invaders ○ Básicamente lo único que hacían era moverse… hacia el lado que debían :-) ● Se popularizaron mucho las recreativas como Speed Race (1974) ○ Tenía una “IA primitiva” (coches que se acercan) y dos niveles de dificultad Física y animación 4 Hitos históricos
  • 5. ● Space Invaders, el boom de 1978 ○ Tenía una dificultad incremental ○ Usaba distintos patrones de movimiento dependientes de la entrada del jugador ● Numerosas secuelas y títulos similares fueron añadiendo patrones de movimiento más complejos Física y animación 5 Hitos históricos
  • 6. ● Karate Champ (1984) ○ Fue el primer juego de lucha en usar notablemente la IA ○ Diferentes patrones de lucha (otra forma de movimiento) para representar personalidades distintas en sus luchadores ● Juegos como Warcraft (1994) incluyen sutilezas como movimientos sutiles de las tropas para romper filas y aproximarse al enemigo Física y animación 6 Hitos históricos
  • 7. ● Movimiento en 2D (aunque el mundo sea 3D, basta con que el suelo lo sea) Física y animación 7 Fundamentos del movimiento Z positivo es hacia abajo Z negativo es hacia arriba La Y se ignora en este caso
  • 8. ● En Unity es igual (X y Z intercambiados) Física y animación 8 Fundamentos del movimiento En 2D el eje Z es la profundidad
  • 9. Física y animación 9 Fundamentos del movimiento MECÁNICA Clásica ESTÁTICA Cuerpos en equilibrio DINÁMICA Cuerpos acelerados CINEMÁTICA Sin considerar las causas de esa aceleración FÍSICA
  • 10. ● Todos los algoritmos de movimiento comparten el mismo esquema Física y animación 10 Fundamentos del movimiento ESQUEMA DINÁMICO Cuerpos acelerados ESQUEMA CINEMÁTICO Sin considerar las causas de esa aceleración
  • 11. ● La cinemática estudia únicamente el movimiento de los cuerpos acelerados ○ Cambios en el estado de la posición, velocidad… e incluso aceleración de un agente ○ Algoritmo cinemático: recibe posición y orientación, y en el momento t devuelve la velocidad deseada ● La dinámica, más amplia, considera además las causas que originan dicho movimiento ○ Aplica fuerzas, y afectará la masa, la energía... ○ Algoritmo dinámico: además recibe velocidad, incluso aceleración, y en el momento t devuelve fuerza a aplicar para aproximarse al movimiento deseado Física y animación 11 Fundamentos del movimiento
  • 12. ● El más simple, aunque todavía se usa ○ En juegos 2D con velocidad fija y cambio brusco de dirección (a veces ese cambio en el tiempo se suaviza, para refinar el camino recorrido) Física y animación 12 Movimiento cinemático SMOOTHING Estado ESTÁTICO del agente, sólo con posición (2D) y orientación (0..2π radianes) Un algoritmo de movimiento CINEMÁTICO, recibe dicho estado estático del agente y devuelve como “dirección de salida” la velocidad lineal y angular (rotación) que debe tener este para que realice cierto movimiento
  • 13. ● Más complejo, se usan en simulación (ej. manejo de un vehículo) y en los videojuegos actuales, de movimiento más realista Física y animación 13 Movimiento dinámico Estado CINEMÁTICO del agente, añadiendo al estado estático la velocidad lineal y angular (rotación en radianes/segundo) Un algoritmo de movimiento DINÁMICO, recibe el estado cinemático del agente y devuelve como “dirección de salida” la fuerza (directamente proporcional a una aceleración lineal y angular) que debe aplicarse a este para que realice cierto movimiento
  • 14. ● Esta es la base del algoritmo, que actualiza posición y orientación según el movimiento que está realizando el “agente cinemático” Física y animación 14 Algoritmos cinemáticos * Nos pasan el “movimiento requerido” y el tiempo Todo esto suele quitarse, por ser despreciable
  • 15. ● Función adicional para modificar la orientación acorde a la velocidad lineal ○ Si queremos orientarnos de golpe, directamente Física y animación 15 Orientación natural *atan2 es la función arcotangente de dos parámetros
  • 16. * Algoritmo de Seguimiento (no confundir con Persecución, que es algo más inteligente y lleva predicción) Física y animación 16 Seguimiento y huida * Modificación para Huida (no confundir con Evasión, versión mejorada con predicción) SEEK FLEE PURSUE EVADE * Normalización
  • 17. Física y animación 17 Llegada * Algoritmo de Llegada (para que los agentes no se queden “orbitando” alrededor del destino, sino que lleguen de verdad a detenerse en el objetivo) ARRIVE
  • 18. Física y animación 18 Llegada * Lo contrario a la Llegada sería la Salida (marcharse primero despacio y luego cada vez más deprisa… aunque no se usa mucho)
  • 19. Física y animación 19 Merodeo (uno de muchos posibles) * Algoritmo para Merodeo WANDER *randomBinomial equivale a pedir dos números aleatorios entre 0 y 1, y restarlos *asVector convierte la orientación o en un vector de dirección (x,y) = (sin(o),cos(o))
  • 20. ● ¿Qué maneja el movimiento cinemático? A. La aceleración lineal y angular B. La posición y la orientación C. Lo del estático, más velocidad lineal y rotación D. Lo del estático, más lo del dinámico ● Desarrolla tu respuesta (en texto libre) Física y animación 20 Participación
  • 21. * Excepto el contenido multimedia de terceros autores Federico Peinado (2019-2023) www.federicopeinado.es Críticas, dudas, sugerencias...
  • 22. ● Muchos algoritmos de movimiento predicen, como en los juegos online, aunque es típica del lanzamiento de proyectiles ○ Permite saber cuál será el punto de impacto y si la trayectoria colisionará o no con cierto objetivo ○ Ej. Las balas reales trazan un arco parabólico ¡y hay videojuegos que lo emulan! ○ Si la complejidad es grande, hay rozamientos, etc. se hace un apuntado iterativo (= se simulan N lanzamientos) Física y animación 22 Predicción física * La gravedad acelera a 9,81 m/s 2 aunque en videojuegos a veces se usa el doble
  • 23. ● Hay movimientos como el salto en los que el agente se lo juega todo a una carta ○ Truco: El diseñador puede marcar puntos de salto (¡incluso evitar saltos demasiado difíciles en sus niveles!) ○ Se puede anotar la velocidad mínima de salto, o sólo marcar la zona de aterrizaje y que el agente calcule su velocidad ○ Lo ideal sería marcar los huecos saltables y que luego el agente los salte como quiera Física y animación 23 Saltos y otros movimientos LANDING PAD HOLE FILLER
  • 24. ● La orientación tridimensional suele emplear cálculos matemáticos en cuaterniones ○ Extensión de los números reales con tres unidades imaginarias (i, j, k) ○ Orientarse en 3D es de por sí difícil... a veces se ofrece un eje Z o se simula la Deriva con Alabeo + Inclinación, como en un avión real Física y animación 24 Saltos y otros movimientos Deriva Alabeo Inclinación
  • 25. ● Millington, I.: Artificial Intelligence for Games. CRC Press, 3rd Edition (2019) Física y animación 25 Más información
  • 26. ● El movimiento dinámico añade la consideración de fuerzas al cinemático, que es un estudio del movimiento más sencillo ● Es típico predecir la física de proyectiles, para ver donde llegan nuestros disparos ● Saltar o controlar un coche requiere de ciertos trucos, y el 3D, de mayores cálculos ● Hay algoritmos cinemáticos básicos en videojuegos como la persecución, la huida, la llegada y el merodeo Física y animación 26 Resumen
  • 27. ● Hitos históricos ● Fundamentos del movimiento ● Predicción física ● Saltos y otros movimientos ● Algoritmos cinemáticos ○ Persecución ○ Huida ○ Llegada ○ Merodeo Física y animación 27 Puntos clave
  • 28. Si puedes habla también de Control de Sistemas (Conducción), PID y cosas así… pues molaría, pero eso tal vez en Movimiento Dinámico [Mencionarlo pero no lo cubrimos en la asignatura] Física y animación 28
  • 29. Ojo, menuda explicación de vectores y de algo más general incluso: TENSORES https://www.youtube.com/watch?v=f5liqUk0Z Tw CHULÍSIMO: https://www.myphysicslab.com/ Física y animación 29