Categorías
Informática Universitario Videojuego

Inteligencia Artificial para Videojuegos

La inteligencia artificial es una disciplina importante dentro del desarrollo de videojuegos. Gracias a ella es posible contar con personajes creíbles y comportamientos complejos en los videojuegos actuales.

Los grandes bloques a tratar serían:

  1. Introducción
  2. Percepción y movimiento
  3. Navegación
  4. Decisión
  5. Evaluación y coordinación
  6. Cuestiones avanzadas

Material docente

Federico Peinado, profesor en la Universidad Complutense, ha impartido varios años esta asignatura en el Grado en Desarrollo de Videojuegos. Las diapositivas del curso 2021-2022 están disponibles libremente entre todas las que ha compartido en SlideShare. Puedes descargar un fichero ZIP con todas ellas aquí mismo:

Durante los cursos 2017-2018 y 2018-2019, junto a sus alumnos, realizaron también una transcripción de los apuntes de clase para establecer las bases de este proyecto de aprendizaje de la Wikiversidad.

Proyecto final

Para evaluar la asignatura se realiza una prueba final en forma de proyecto individual de tema libre, a elegir por el alumno en consenso con el profesor, y se evalúa de forma similar a las prácticas.

Como ejemplo, estos son algunos temas que han escogido los alumnos para realizar el proyecto final de la asignatura:

  • Resolutor automático de El Trenecito, minijuego de El profesor Layton y la llamada del espectro. Consiste en conducir trenes por las vías para que atraviesen todas las estaciones, reponiendo combustible en algunos puntos.
  • Simulador de coches de choque en una feria. Consiste en conducir estos coches evitando ser golpeado y tratando de golpear a otros para sacarlos de la pista.
  • Controlador para un juego del género Tower Defense, tipo Plantas vs. Zombies. Consiste en recolectar recursos y desplegar una serie de unidades en el escenario para tratar de resistir los ataques enemigos y acabar destruyendo al contrario.
  • Controlador para el juego Rodent Rundown de Wii Party. Consiste en perseguir a un ratón en un laberinto para arrebatarle una llave y poder así salir del mismo, antes que lo haga tu rival.
  • Simulador de vida social tipo Los Sims. Consiste en personajes que comen, duermen, pasan al baño, trabajan se divierten de forma autónoma, interactuando entre ellos y con el escenario.
  • Jefe final en un juego de combate tipo Sekiro: Shadows Die Twice. Consiste en un enemigo con capacidad de esquivar tus ataques y atacarte adaptándose al escenario.
  • Controlador para un juego del género de la estrategia en tiempo real con niebla de guerra, tipo Age of Empires. Consiste en enviar tropas a recoger recursos o a combatir, mientras se intenta defender una base.
  • Simulador de camarero en una cafetería de una ciudad turística. Consiste en tomar nota, servir y cobrar a los clientes que van llegando, antes de que se cansen de esperar y se marchen.
  • Simulador de terreno con dinosaurios tipo Parque Jurásico. Consiste en tener varias especies con distintos comportamientos agresivos o sociales entre sí, estableciendo una cadena alimentaria.
  • Controlador automático para el juego de cartas del Póker. Consiste en tomar decisiones sobre las apuestas a realizar en cada ronda.
  • Generador de mazmorras para juegos del género rogue-like. Consiste en construir un complejo de estancias y pasillos, con enemigos repartidos por todo el nivel.
  • Personaje acompañante del jugador en el FPS Microgame de Unity. Consiste en una mascota que te sigue y te ayuda también a descubrir a los enemigos y vencerlos.
  • Controlador automático para un juego de mesa de estrategia como Hannibal. Consiste en replicar el juego sin multijugador, pero con un oponente que tome decisiones solo.

También puede ser interesante partir de microgames o plantillas de juego en Unity, para añadirles IA.

Referencias

Bibliografía básica recomendada en la asignatura, especialmente Artificial Intelligence for Games de Ian Millington. Los enlaces indican que hay ejemplares disponibles para los alumnos de la universidad.

Más información

Más bibliografía recomendada e información para completar.

Unity ofrece una extensa plataforma de aprendizaje sobre su entorno de desarrollo y Microsoft tiene también un buen sitio web para C#.

Lista de congresos, competiciones y eventos industriales que aborden específicamente la cuestión de la Game AI, Inteligencia Artificial para Videojuegos: