SlideShare una empresa de Scribd logo
IA en Videojuegos
   José Carlos Cortizo Pérez
  CTO Social Gaming Platform
José Carlos Cortizo
 Mi relación con la IA y los videojuegos
José Carlos Cortizo
• Cofundador y CTO de
 • AINetSolutions
 • Social Gaming Platform
• Profesor e investigador en la UEM
 • Sistemas Inteligentes (IA, Minería de
    Datos, Sistemas de Recomendación, etc.)
I+D (Universidad)
• 10 proyectos nacionales/europeos
 • MAVIR/MAVIR2
 • ISSE/SINAMED
 • ASTROCAM/MEIGA/TECAD-F
 • MOBIHELP
• 25 publicaciones en congresos y revistas
I+D (Empresa)

• Sistemas de Recomendación
 • Integrando contenidos, filt. colaborativo y
    elementos sociales
  • Escalables, flexibles y generales
• Otros SINS (Social INtelligent Systems)
Workshops
• 1st International Workshop on Mining
  Social Media (CAEPIA 2009); 2ª edición
• 1st Int. Workshop on Adaptation,
  Personalization and REcommendation in
  the Social-semantic Web
• PLN en empresas: visionando los próximos
  10 años -> SEPLN 2010
Wipley

• Red Social de Videojugadores
• Además, “campo de pruebas” para nuestra
  tecnología
• El campo de los videojuegos es muy
  “peculiar” -> Multidimensionalidad,
  recencia, etc.
Más sobre mi


• Blog/Página personal: http://www.josek.net
• Twitter: @josek_net
IA y Videojuegos
   Entramos en faena :D
Objetivos del curso
 ¿Qué podéis esperar de este mini-curso?
Objetivos

• Panorámica de la IA
• Aplicaciones básicas en videojuegos
• Posibles aplicaciones avanzadas
• Guía/referencia para aplicar en vuestros
  juegos
Qué no esperar

• Un curso “estándar” sobre IA
• Estudiar a fondo la integración de IA en
  videojuegos
• Desarrollar nuevas técnicas de IA para
  videojuegos
Organización temporal
• 3 clases
 • Clase 1: IA y videojuegos (panorámica)
 • Clase 2: ¿Qué IA aplicar en vuestros
    juegos?
 • Clase 3: Profundizamos sobre las técnicas
    que elijáis
Orígenes
Orígenes

• Ajedrez/damas/juegos “de mesa” y lógica
• Arthur Samuel 1959: “Some Studies in
  Machine Learning Using the Game of
  Checkers”
 •   http://www.research.ibm.com/journal/rd/033/ibmrd0303B.pdf
Orígenes
• Años 70: juegos para 1 jugador
 • Qwak, Pursuit, hunt the Wumpus, Star
    Trek
• Movimientos de los enemigos almacenados
• Con la aparición de microprocesadores, se
  añadió cierta aleatoriedad a los
  movimientos
Orígenes
• Space Invaders (1978) y Galaxian (1979)
  utilizan funciones hash en basadas en las
  acciones del jugador) para añadir
  complejidad
• Pac-Man (1980) y Karate Champ (1984)
  añadían a ésto ciertas “personalidades” en
  los enemigos
Pregunta 1


• ¿Cómo diseñarías una IA distinta para cada
  enemigo en el PacMan?
Orígenes

• Madden Football o Earl Weaver Baseball
  trataban de “replicar” el estilo de juego de
  una “celebridad”
• Juegos posteriores añadieron variables a la
  IA para producir estilos de juegos más
  adaptados
El “boom” de los 90

• Los años 90 supusieron un boom en cuanto
  a nuevos géneros de videojuegos y con
  ellos nuevas técnicas de IA
• Máquinas finitas de estados, búsqueda de
  caminos, decisiones en tiempo real,
  planificación, etc.
Y avanzando...

• Juegos como Battlecruiser 3000AD (1996)
  añadieron la aplicación de redes neuronales
• Creatures o Black & White son ejemplos
  de comportamientos emergentes
Última década +/-

• GoldenEye 007 fue el primer FPS en utilizar
  IA que reaccionara a los movimientos y
  acciones de los jugadores
• Half-Life (1998) mostraba enemigos que
  trabajaban juntos para buscar al jugador, se
  cubrían entre ellos, etc.
Última década +/-

• Halo (2001) permitía a su IA utilizar
  vehículas y otras acciones tácticas. La IA
  podía reconocer amenazas (granadas,
  vehículos) y actuar en consecuencia
Última década +/-

• En Far Cry (2004) los enemigos
  reaccionaban al estilo de juego del jugador,
  así como empleaban tácticas militares. La IA
  no usaba “trucos” como el conocer la
  posición real del jugador, si no que
  almacenaban la última posición conocida.
Lo más reciente

• F.E.A.R. (2005) fue el primer juego en
  emplear planificación en tiempo real para
  controlar la IA.
• GOAP (Goal-Oriented Action Planning) le
  permitía adaptarse al comportamiento de
  forma dinámica.
Lo más reciente

• Left 4 Dead (2008) genera de forma
  procedural diferentes experiencias para los
  usuarios cada vez que juegan.
• La IA analiza cómo ha jugado el jugador y
  trata de añadir “eventos” que les ofrezcan
  cierta sensación de “narrativa”
Más allá

• La IA no solo está “dentro” de los
  videojuegos
• Project Natal es un ejemplo de aplicación
  de IA en videojuegos
• También existen sistemas de
  recomendación de partidas o videojuegos
Más info


• Buen artículo en wikipedia
• http://en.wikipedia.org/wiki/
  Game_artificial_intelligence
10 videojuegos +
     influyentes en IA

• http://aigamedev.com/open/highlights/top-
  ai-games/
10.- SimCity (1989)
•   Pionero en control de
    simulaciones complejas

•   Los elementos de la
    ciudad son realistas

•   Las propiedades
    emergentes del sistema
    bien balanceadas para
    entretener al jugador
9.- Half-Life (1998)

•   Las escenas de “corte”
    son interactivas.

•   Una IA acompaña al
    jugador en los primeros
    niveles

•   Introduce IA de grupo
8.- Total War (2000)

•   Control de miles de IAs

•   Modela las emociones
    de los soldados para el
    realismo de las batallas

•   Lógica inspirada en “El
    Arte de la Guerra”
7.- Thief (1998)

•   Modelado sensorial
    preciso. Permite a los
    actores con IA
    responder de forma
    realista a luz y sonidos.
6.- The Sims (2000)
•   Se usan objetos inteligentes
    para ayudar a la
    implementación de los
    comportamientos.

•   Los objetos especifican
    cómo deben interactuar los
    personajes con ellos

•   Los Sims tienen deseos
    básicos que guían sus
    acciones

•   Modelado de relaciones e
    interacciones emocionales
5.- Creatures (1996)
•   1ª aplicación popular de
    aprendizaje automático
    en una simulación
    interactiva

•   Las criaturas aprenden
    con redes neuronales

•   Se considera rompedor
    en el área de vida
    artificial
4.- Halo (2001)
•   Los enemigos se cubren
    bien y responden
    adecuadamente

•   Los grupos están bien
    modelados; cuando
    matas al lider, se
    debilitan

•   Su tecnología de árbol
    de comportamiento se
    ha adoptado después
3.- Façade (2005)

•   Interacción mediante
    PLN

•   El lenguaje provee
    formas para especificar
    el comportamiento de
    los personajes en
    términos de una historia
    dinámica
2.- F.E.A.R. (2005)
•   Usa planificadores para
    generar
    comportamientos
    sensibles al contexto

•   Los enemigos usan el
    entorno de forma
    inteligente

•   Tácticas de grupo usadas
    de forma efectiva
1.- Black & White
             (2001)
•   Juego basado en la
    interacción con una IA
    que aprende de
    ejemplos y refuerzo

•   Integrado con vida
    artificial en un contexto
    de estrategia

•   Utiliza técnicas de AA
    como redes neuronales
    y árboles de decisión
Panorámica de la IA
Áreas dentro de la IA
•   Deducción/razonamiento

•   Representación del conocimiento

•   Planificación

•   Aprendizaje

•   PLN

•   Movimiento y manipulación

•   Percepción

•   Inteligencia Social

•   IA General
Deducción/Razonamiento


• Primeros acercamientos a la IA
• Muy relacionados con los conceptos de
  búsquedas
• Costosos en tiempo
Deducción/Razonamiento

• http://webdocs.cs.ualberta.ca/~aixplore/
  search/IDA/Applet/SearchApplet.html
• http://ocw.mit.edu/OcwWeb/Electrical-
  Engineering-and-Computer-Science/
  6-034Fall-2006/Tools/index.htm
• http://www.youtube.com/watch?
  v=4m21jh5fAOw
Representación del
    Conocimiento
• Sistemas expertos
• Razonamiento sobre conocimiento
• Web semántica
• Ontologías
• http://www.youtube.com/watch?
  v=zXlKIJoSLVM
Planificación
• Cálculo de estrategia (acciones) a
  desarrollar con implicaciones temporales y
  de coste
• P.e. estrategia de ataque en el StarCraft
• http://www.dna-evolutions.com/
  dnaappletsample.html
• http://www.youtube.com/watch?
  v=UqOvwODElbY
Aprendizaje
• Sistemas que aprenden de la experiencia
• Categorización, regresión y clustering
• http://lslwww.epfl.ch/~anperez/BlackJack/
  classes/RLJavaBJ.html
• http://webdocs.cs.ualberta.ca/~aixplore/
  learning/DecisionTrees/Applet/
  DecisionTreeApplet.html
Aprendizaje
• Aplicaciones reales:
 • Filtrado de spam, categorización de webs
 • Detección del cáncer, reconocimiento de
    imágenes
• Aplicaciones en videojuegos:
 • Aprendizaje por refuerzo (los enemigos
    aprenden de sus errores)
PLN
• Procesamiento del Lenguaje Natural
 • Buscadores
 • Interfaces persona-computador
• http://alice.pandorabots.com/
• http://www.youtube.com/watch?
  v=Sx3Fpw0XCXk
Movimiento y
        Manipulación
• Ligada a razonamiento y planificación
• Aplicado básicamente en robótica
• Puede servir como ejemplo para
  interacciones virtuales
• http://www.youtube.com/watch?
  v=MinQk7TejbQ
Percepción
• Ligado típicamente a robótica
• Maneja sensores para deducir una visión
  del mundo
 • Reconocimiento del habla, de caras o de
    objetos
• http://www.youtube.com/watch?
  v=p2qlHoxPioM
• http://www.youtube.com/watch?
  v=opx1imhzUEg
Inteligencia Social
• Habilidades sociales y emociones
 • Predecir las acciones del oponente
 • Comprender sus motivos y estados
    emocionales
 • Modelar emociones humanas y sus
    habilidades para detectar emociones
 • http://www.youtube.com/watch?v=1-
    fyBYvDgss
IA General

• “Strong AI”
• Se remonta a los comienzos de la IA
• “Singularidad”
Técnicas Básicas de IA
   en Videojuegos
 Las más utilizadas, incluso en juegos actuales
Técnicas Básicas

• La IA es un campo realmente amplio
• Pero muchas técnicas son muy costosas en
  tiempo y recursos
• Debemos utilizar las técnicas más
  eficientes/efectivas posibles
Máquinas de Estados

• Técnica muy simple pero efectiva
• También se usan máquinas de estados para
  animaciones
• Se basa en modelar distintos “estados” y las
  condiciones para pasar de un estado a otro
Máquinas de Estados
              DandoVueltas
         Distancia > 100   Distancia < 100

         PersiguiendoEnemigo
Muerto   Distancia > 50    Distancia < 50

                Disparando
          Distancia > 2     Distancia < 2

                     Lucha
Máquinas de Estados

• http://www.youtube.com/watch?
  v=nPlIAYuip3A
• http://www.youtube.com/watch?
  v=DYHJuCyfYyM
• http://www.youtube.com/watch?
  v=8GVuaHyJ_sg
Máquinas de Estados
Máquinas de Estados
Ejercicio


• Diseñar una máquina de estados para un
  PacMan
Búsqueda de Caminos
• Utilizada en muchos juegos
• P.e. FPS para perseguir al jugador
• Los algoritmos de búsqueda de caminos
  permiten tener en cuesta el “coste”
• Ejemplo: A*
 • http://www.policyalmanac.org/games/
    aStarTutorial.htm
A*
A*


• http://www.vision.ee.ethz.ch/~cvcourse/
  astar/AStar.html
• http://code.google.com/p/aima-java/
Pregunta


• ¿Para qué podríais utilizar A* en vuestros
  juegos?
Técnicas Avanzadas de
   IA en Videojuegos
Cada vez más utilizadas, pero todavía “experimentales”
                    en videojuegos
Técnicas Avanzadas

• Cada vez más podemos disponer de
  “computación adicional”
 • P.e. Play3 y sus múltiples cores
• Esto da pie a dedicar un procesador o
  parte de él a la IA, y aplicar técnicas
  avanzadas
Técnicas Avanzadas


• Son técnicas mucho más complejas
• Elegiremos las que más nos interesen y
  profundizaremos en ellas en la 3ª clase
Próximas Clases
     Deberes :P
Próxima Clase
• Pensad qué tipo de IA aplicar en vuestros
  juegos
• Explicad cómo creéis que se implementaría
  y adaptaría
• Reflexionamos sobre mejoras
• Analizamos las técnicas que más os
  interesan para la siguiente clase

Más contenido relacionado

PPTX
I.a videojuegos
PPTX
Inteligencia Artificial en videojuegos
DOC
Pasos del proyecto de aula.doc
PDF
The Reality of Gamified Loyalty in eCommerce - GWC2014
PPTX
Inteligencia Artificial
PDF
Gamificacion y Docencia: o que la Universidad tiene que aprender de los Video...
PDF
Black Friday 2016: ¿Qué podemos esperar?
PPTX
Tipos de búsqueda en inteligencia artificial
I.a videojuegos
Inteligencia Artificial en videojuegos
Pasos del proyecto de aula.doc
The Reality of Gamified Loyalty in eCommerce - GWC2014
Inteligencia Artificial
Gamificacion y Docencia: o que la Universidad tiene que aprender de los Video...
Black Friday 2016: ¿Qué podemos esperar?
Tipos de búsqueda en inteligencia artificial

Similar a IA en Videojuegos (20)

PDF
Ciencia y Videojuegos (v2)
PDF
Ciencia y Videojuegos (ULP 2019)
PDF
Ciencia y videojuegos
ODP
Ciencia y videojuegos v4
PDF
Fundamentos de IA en educación_ curso pdf
PPTX
Aventura gráfica_Esquema básico
PDF
Ciencia y videojuegos (versión Extracción de Información) [UCA 05/2015]
PDF
Gamificación 101 (spanish)
PPTX
PPTX
PPTX
Creación de videojuegos cristian urbano
PDF
CEIAAIT - Fundamentos y Aplicaciones de Deep Learning.pdf
PDF
Videojuegos y familia
PPT
Machine Learning: ¿Caminos? A donde vamos, no necesitamos caminos
PPTX
ECIMag 2010 - Clase 4/5
PPTX
Presentacion tfm adrian_alonso_gonzalez-light
PPTX
Inteligencia artificial-y-sistemas-expertos-112008-ucv-1228078002612442-9
PPT
Inteligencia artificial-y-sistemas-expertos-112008-ucv-1228078002612442-9
PDF
Inteligencia Artificial y Chat GPT para mortales (1).pdf
PPTX
Sistemas inteligentes en educación universodad central del este, maestria en ...
Ciencia y Videojuegos (v2)
Ciencia y Videojuegos (ULP 2019)
Ciencia y videojuegos
Ciencia y videojuegos v4
Fundamentos de IA en educación_ curso pdf
Aventura gráfica_Esquema básico
Ciencia y videojuegos (versión Extracción de Información) [UCA 05/2015]
Gamificación 101 (spanish)
Creación de videojuegos cristian urbano
CEIAAIT - Fundamentos y Aplicaciones de Deep Learning.pdf
Videojuegos y familia
Machine Learning: ¿Caminos? A donde vamos, no necesitamos caminos
ECIMag 2010 - Clase 4/5
Presentacion tfm adrian_alonso_gonzalez-light
Inteligencia artificial-y-sistemas-expertos-112008-ucv-1228078002612442-9
Inteligencia artificial-y-sistemas-expertos-112008-ucv-1228078002612442-9
Inteligencia Artificial y Chat GPT para mortales (1).pdf
Sistemas inteligentes en educación universodad central del este, maestria en ...
Publicidad

Más de Jose Carlos Cortizo Perez (20)

PDF
13+2 Herramientas eCommerce españolas para Vender Más
PDF
Ecommerce B2B - Una Nueva Esperanza #B2BSalesCongress
PDF
Adobe compra Magento: El sentimiento de la Comunidad Magento y eCommerce
PDF
Introducción del Visual Commerce Day #VCD18
PDF
La psicología de la Compra - Sobre Neandertales perdidos en Internet
PDF
Fidelizacion Ecommerce: La Última Frontera
PDF
Bye Bye Personalización: La Era de las Experiencias Personales #MagnoliaAmplify
PDF
Los retos a nivel de negocio del eCommerce B2B
PDF
Growth Hackeando tu eCommerce
PDF
Gamification workshop at the QSP Summit
PDF
Hablando de Gamificación en Botanic Fridays
PDF
Cómo la Gamificación ayuda al Funnel de Venta en #eCommerce
PDF
Introducción a la Gamificación
PDF
Convierte a tus usuarios en clientes - MesComercio 2012
PDF
Open Source en Educación
PDF
Redes Sociales y Videojuegos: una unión perfecta
PDF
Emprendiendo desde la Universidad
PDF
Tutorial Sistemas Recomendación: IV Jornadas TIMM
PDF
Conversion thursday
PDF
Social Media Dataset
13+2 Herramientas eCommerce españolas para Vender Más
Ecommerce B2B - Una Nueva Esperanza #B2BSalesCongress
Adobe compra Magento: El sentimiento de la Comunidad Magento y eCommerce
Introducción del Visual Commerce Day #VCD18
La psicología de la Compra - Sobre Neandertales perdidos en Internet
Fidelizacion Ecommerce: La Última Frontera
Bye Bye Personalización: La Era de las Experiencias Personales #MagnoliaAmplify
Los retos a nivel de negocio del eCommerce B2B
Growth Hackeando tu eCommerce
Gamification workshop at the QSP Summit
Hablando de Gamificación en Botanic Fridays
Cómo la Gamificación ayuda al Funnel de Venta en #eCommerce
Introducción a la Gamificación
Convierte a tus usuarios en clientes - MesComercio 2012
Open Source en Educación
Redes Sociales y Videojuegos: una unión perfecta
Emprendiendo desde la Universidad
Tutorial Sistemas Recomendación: IV Jornadas TIMM
Conversion thursday
Social Media Dataset
Publicidad

Último (20)

PDF
Tips de Seguridad para evitar clonar sus claves del portal bancario.pdf
PPTX
Presentacion de Alba Curso Auditores Internos ISO 19011
PPTX
RAP01 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
PPTX
Propuesta BKP servidores con Acronis1.pptx
PDF
ADMINISTRACIÓN DE ARCHIVOS - TICS (SENA).pdf
PDF
CyberOps Associate - Cisco Networking Academy
PPTX
IA de Cine - Como MuleSoft y los Agentes estan redefiniendo la realidad
PDF
Influencia-del-uso-de-redes-sociales.pdf
PDF
clase auditoria informatica 2025.........
PDF
SAP Transportation Management para LSP, TM140 Col18
PPTX
modulo seguimiento 1 para iniciantes del
PPT
introduccion a las_web en el 2025_mejoras.ppt
PDF
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
PPT
El-Gobierno-Electrónico-En-El-Estado-Bolivia
PPTX
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
PPTX
Presentación PASANTIAS AuditorioOO..pptx
PPTX
Curso de generación de energía mediante sistemas solares
PDF
PRESENTACIÓN GENERAL MIPIG - MODELO INTEGRADO DE PLANEACIÓN
PPTX
historia_web de la creacion de un navegador_presentacion.pptx
PDF
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
Tips de Seguridad para evitar clonar sus claves del portal bancario.pdf
Presentacion de Alba Curso Auditores Internos ISO 19011
RAP01 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
Propuesta BKP servidores con Acronis1.pptx
ADMINISTRACIÓN DE ARCHIVOS - TICS (SENA).pdf
CyberOps Associate - Cisco Networking Academy
IA de Cine - Como MuleSoft y los Agentes estan redefiniendo la realidad
Influencia-del-uso-de-redes-sociales.pdf
clase auditoria informatica 2025.........
SAP Transportation Management para LSP, TM140 Col18
modulo seguimiento 1 para iniciantes del
introduccion a las_web en el 2025_mejoras.ppt
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
El-Gobierno-Electrónico-En-El-Estado-Bolivia
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
Presentación PASANTIAS AuditorioOO..pptx
Curso de generación de energía mediante sistemas solares
PRESENTACIÓN GENERAL MIPIG - MODELO INTEGRADO DE PLANEACIÓN
historia_web de la creacion de un navegador_presentacion.pptx
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN

IA en Videojuegos

  • 1. IA en Videojuegos José Carlos Cortizo Pérez CTO Social Gaming Platform
  • 2. José Carlos Cortizo Mi relación con la IA y los videojuegos
  • 3. José Carlos Cortizo • Cofundador y CTO de • AINetSolutions • Social Gaming Platform • Profesor e investigador en la UEM • Sistemas Inteligentes (IA, Minería de Datos, Sistemas de Recomendación, etc.)
  • 4. I+D (Universidad) • 10 proyectos nacionales/europeos • MAVIR/MAVIR2 • ISSE/SINAMED • ASTROCAM/MEIGA/TECAD-F • MOBIHELP • 25 publicaciones en congresos y revistas
  • 5. I+D (Empresa) • Sistemas de Recomendación • Integrando contenidos, filt. colaborativo y elementos sociales • Escalables, flexibles y generales • Otros SINS (Social INtelligent Systems)
  • 6. Workshops • 1st International Workshop on Mining Social Media (CAEPIA 2009); 2ª edición • 1st Int. Workshop on Adaptation, Personalization and REcommendation in the Social-semantic Web • PLN en empresas: visionando los próximos 10 años -> SEPLN 2010
  • 7. Wipley • Red Social de Videojugadores • Además, “campo de pruebas” para nuestra tecnología • El campo de los videojuegos es muy “peculiar” -> Multidimensionalidad, recencia, etc.
  • 8. Más sobre mi • Blog/Página personal: http://www.josek.net • Twitter: @josek_net
  • 9. IA y Videojuegos Entramos en faena :D
  • 10. Objetivos del curso ¿Qué podéis esperar de este mini-curso?
  • 11. Objetivos • Panorámica de la IA • Aplicaciones básicas en videojuegos • Posibles aplicaciones avanzadas • Guía/referencia para aplicar en vuestros juegos
  • 12. Qué no esperar • Un curso “estándar” sobre IA • Estudiar a fondo la integración de IA en videojuegos • Desarrollar nuevas técnicas de IA para videojuegos
  • 13. Organización temporal • 3 clases • Clase 1: IA y videojuegos (panorámica) • Clase 2: ¿Qué IA aplicar en vuestros juegos? • Clase 3: Profundizamos sobre las técnicas que elijáis
  • 15. Orígenes • Ajedrez/damas/juegos “de mesa” y lógica • Arthur Samuel 1959: “Some Studies in Machine Learning Using the Game of Checkers” • http://www.research.ibm.com/journal/rd/033/ibmrd0303B.pdf
  • 16. Orígenes • Años 70: juegos para 1 jugador • Qwak, Pursuit, hunt the Wumpus, Star Trek • Movimientos de los enemigos almacenados • Con la aparición de microprocesadores, se añadió cierta aleatoriedad a los movimientos
  • 17. Orígenes • Space Invaders (1978) y Galaxian (1979) utilizan funciones hash en basadas en las acciones del jugador) para añadir complejidad • Pac-Man (1980) y Karate Champ (1984) añadían a ésto ciertas “personalidades” en los enemigos
  • 18. Pregunta 1 • ¿Cómo diseñarías una IA distinta para cada enemigo en el PacMan?
  • 19. Orígenes • Madden Football o Earl Weaver Baseball trataban de “replicar” el estilo de juego de una “celebridad” • Juegos posteriores añadieron variables a la IA para producir estilos de juegos más adaptados
  • 20. El “boom” de los 90 • Los años 90 supusieron un boom en cuanto a nuevos géneros de videojuegos y con ellos nuevas técnicas de IA • Máquinas finitas de estados, búsqueda de caminos, decisiones en tiempo real, planificación, etc.
  • 21. Y avanzando... • Juegos como Battlecruiser 3000AD (1996) añadieron la aplicación de redes neuronales • Creatures o Black & White son ejemplos de comportamientos emergentes
  • 22. Última década +/- • GoldenEye 007 fue el primer FPS en utilizar IA que reaccionara a los movimientos y acciones de los jugadores • Half-Life (1998) mostraba enemigos que trabajaban juntos para buscar al jugador, se cubrían entre ellos, etc.
  • 23. Última década +/- • Halo (2001) permitía a su IA utilizar vehículas y otras acciones tácticas. La IA podía reconocer amenazas (granadas, vehículos) y actuar en consecuencia
  • 24. Última década +/- • En Far Cry (2004) los enemigos reaccionaban al estilo de juego del jugador, así como empleaban tácticas militares. La IA no usaba “trucos” como el conocer la posición real del jugador, si no que almacenaban la última posición conocida.
  • 25. Lo más reciente • F.E.A.R. (2005) fue el primer juego en emplear planificación en tiempo real para controlar la IA. • GOAP (Goal-Oriented Action Planning) le permitía adaptarse al comportamiento de forma dinámica.
  • 26. Lo más reciente • Left 4 Dead (2008) genera de forma procedural diferentes experiencias para los usuarios cada vez que juegan. • La IA analiza cómo ha jugado el jugador y trata de añadir “eventos” que les ofrezcan cierta sensación de “narrativa”
  • 27. Más allá • La IA no solo está “dentro” de los videojuegos • Project Natal es un ejemplo de aplicación de IA en videojuegos • También existen sistemas de recomendación de partidas o videojuegos
  • 28. Más info • Buen artículo en wikipedia • http://en.wikipedia.org/wiki/ Game_artificial_intelligence
  • 29. 10 videojuegos + influyentes en IA • http://aigamedev.com/open/highlights/top- ai-games/
  • 30. 10.- SimCity (1989) • Pionero en control de simulaciones complejas • Los elementos de la ciudad son realistas • Las propiedades emergentes del sistema bien balanceadas para entretener al jugador
  • 31. 9.- Half-Life (1998) • Las escenas de “corte” son interactivas. • Una IA acompaña al jugador en los primeros niveles • Introduce IA de grupo
  • 32. 8.- Total War (2000) • Control de miles de IAs • Modela las emociones de los soldados para el realismo de las batallas • Lógica inspirada en “El Arte de la Guerra”
  • 33. 7.- Thief (1998) • Modelado sensorial preciso. Permite a los actores con IA responder de forma realista a luz y sonidos.
  • 34. 6.- The Sims (2000) • Se usan objetos inteligentes para ayudar a la implementación de los comportamientos. • Los objetos especifican cómo deben interactuar los personajes con ellos • Los Sims tienen deseos básicos que guían sus acciones • Modelado de relaciones e interacciones emocionales
  • 35. 5.- Creatures (1996) • 1ª aplicación popular de aprendizaje automático en una simulación interactiva • Las criaturas aprenden con redes neuronales • Se considera rompedor en el área de vida artificial
  • 36. 4.- Halo (2001) • Los enemigos se cubren bien y responden adecuadamente • Los grupos están bien modelados; cuando matas al lider, se debilitan • Su tecnología de árbol de comportamiento se ha adoptado después
  • 37. 3.- Façade (2005) • Interacción mediante PLN • El lenguaje provee formas para especificar el comportamiento de los personajes en términos de una historia dinámica
  • 38. 2.- F.E.A.R. (2005) • Usa planificadores para generar comportamientos sensibles al contexto • Los enemigos usan el entorno de forma inteligente • Tácticas de grupo usadas de forma efectiva
  • 39. 1.- Black & White (2001) • Juego basado en la interacción con una IA que aprende de ejemplos y refuerzo • Integrado con vida artificial en un contexto de estrategia • Utiliza técnicas de AA como redes neuronales y árboles de decisión
  • 41. Áreas dentro de la IA • Deducción/razonamiento • Representación del conocimiento • Planificación • Aprendizaje • PLN • Movimiento y manipulación • Percepción • Inteligencia Social • IA General
  • 42. Deducción/Razonamiento • Primeros acercamientos a la IA • Muy relacionados con los conceptos de búsquedas • Costosos en tiempo
  • 43. Deducción/Razonamiento • http://webdocs.cs.ualberta.ca/~aixplore/ search/IDA/Applet/SearchApplet.html • http://ocw.mit.edu/OcwWeb/Electrical- Engineering-and-Computer-Science/ 6-034Fall-2006/Tools/index.htm • http://www.youtube.com/watch? v=4m21jh5fAOw
  • 44. Representación del Conocimiento • Sistemas expertos • Razonamiento sobre conocimiento • Web semántica • Ontologías • http://www.youtube.com/watch? v=zXlKIJoSLVM
  • 45. Planificación • Cálculo de estrategia (acciones) a desarrollar con implicaciones temporales y de coste • P.e. estrategia de ataque en el StarCraft • http://www.dna-evolutions.com/ dnaappletsample.html • http://www.youtube.com/watch? v=UqOvwODElbY
  • 46. Aprendizaje • Sistemas que aprenden de la experiencia • Categorización, regresión y clustering • http://lslwww.epfl.ch/~anperez/BlackJack/ classes/RLJavaBJ.html • http://webdocs.cs.ualberta.ca/~aixplore/ learning/DecisionTrees/Applet/ DecisionTreeApplet.html
  • 47. Aprendizaje • Aplicaciones reales: • Filtrado de spam, categorización de webs • Detección del cáncer, reconocimiento de imágenes • Aplicaciones en videojuegos: • Aprendizaje por refuerzo (los enemigos aprenden de sus errores)
  • 48. PLN • Procesamiento del Lenguaje Natural • Buscadores • Interfaces persona-computador • http://alice.pandorabots.com/ • http://www.youtube.com/watch? v=Sx3Fpw0XCXk
  • 49. Movimiento y Manipulación • Ligada a razonamiento y planificación • Aplicado básicamente en robótica • Puede servir como ejemplo para interacciones virtuales • http://www.youtube.com/watch? v=MinQk7TejbQ
  • 50. Percepción • Ligado típicamente a robótica • Maneja sensores para deducir una visión del mundo • Reconocimiento del habla, de caras o de objetos • http://www.youtube.com/watch? v=p2qlHoxPioM • http://www.youtube.com/watch? v=opx1imhzUEg
  • 51. Inteligencia Social • Habilidades sociales y emociones • Predecir las acciones del oponente • Comprender sus motivos y estados emocionales • Modelar emociones humanas y sus habilidades para detectar emociones • http://www.youtube.com/watch?v=1- fyBYvDgss
  • 52. IA General • “Strong AI” • Se remonta a los comienzos de la IA • “Singularidad”
  • 53. Técnicas Básicas de IA en Videojuegos Las más utilizadas, incluso en juegos actuales
  • 54. Técnicas Básicas • La IA es un campo realmente amplio • Pero muchas técnicas son muy costosas en tiempo y recursos • Debemos utilizar las técnicas más eficientes/efectivas posibles
  • 55. Máquinas de Estados • Técnica muy simple pero efectiva • También se usan máquinas de estados para animaciones • Se basa en modelar distintos “estados” y las condiciones para pasar de un estado a otro
  • 56. Máquinas de Estados DandoVueltas Distancia > 100 Distancia < 100 PersiguiendoEnemigo Muerto Distancia > 50 Distancia < 50 Disparando Distancia > 2 Distancia < 2 Lucha
  • 57. Máquinas de Estados • http://www.youtube.com/watch? v=nPlIAYuip3A • http://www.youtube.com/watch? v=DYHJuCyfYyM • http://www.youtube.com/watch? v=8GVuaHyJ_sg
  • 60. Ejercicio • Diseñar una máquina de estados para un PacMan
  • 61. Búsqueda de Caminos • Utilizada en muchos juegos • P.e. FPS para perseguir al jugador • Los algoritmos de búsqueda de caminos permiten tener en cuesta el “coste” • Ejemplo: A* • http://www.policyalmanac.org/games/ aStarTutorial.htm
  • 62. A*
  • 63. A* • http://www.vision.ee.ethz.ch/~cvcourse/ astar/AStar.html • http://code.google.com/p/aima-java/
  • 64. Pregunta • ¿Para qué podríais utilizar A* en vuestros juegos?
  • 65. Técnicas Avanzadas de IA en Videojuegos Cada vez más utilizadas, pero todavía “experimentales” en videojuegos
  • 66. Técnicas Avanzadas • Cada vez más podemos disponer de “computación adicional” • P.e. Play3 y sus múltiples cores • Esto da pie a dedicar un procesador o parte de él a la IA, y aplicar técnicas avanzadas
  • 67. Técnicas Avanzadas • Son técnicas mucho más complejas • Elegiremos las que más nos interesen y profundizaremos en ellas en la 3ª clase
  • 68. Próximas Clases Deberes :P
  • 69. Próxima Clase • Pensad qué tipo de IA aplicar en vuestros juegos • Explicad cómo creéis que se implementaría y adaptaría • Reflexionamos sobre mejoras • Analizamos las técnicas que más os interesan para la siguiente clase