Inteligencia artificial para videojuegos Código:  M7.459    Créditos:  6
Consulta de los datos generales   Descripción   La asignatura en el conjunto del plan de estudios   Campos profesionales en que se proyecta   Conocimientos previos   Objetivos y competencias   Contenidos   Consulta de los recursos de aprendizaje que dispone la asignatura   Recursos de aprendizaje y herramientas de apoyo   Bibliografía y fuentes de información   Metodología   Información sobre la evaluación en la UOC   Consulta del modelo de evaluación   Evaluación Contínua   Evaluación final  
Este es el plan docente de la asignatura para el segundo semestre del curso 2023-2024. Podéis consultar si la asignatura se ofrece este semestre en el espacio del campus Más UOC / La universidad / Planes de estudios). Una vez empiece la docencia, tenéis que consultarlo en el aula. El plan docente puede estar sujeto a cambios.

Un videojuego tiene que ofrecer retos al usuario. Para poder introducir estos retos en un videojuego son necesarias una serie de técnicas que se engloban dentro del estudio de la Inteligencia Artificial. Estas técnicas deciden cuáles son las mejores opciones que pueden tomar los elementos del videojuego (agentes) a partir de las condiciones del entorno que los rodea.

La asignatura presenta las diferentes técnicas desarrolladas en Inteligencia Artificial que permitirán al alumno crear las herramientas necesarias con qué ofrecer una buena experiencia de juego.

Amunt

Esta asignatura corresponde al bloque asignaturas comunes de segundo semestre del máster.

  • Programación en Unity 3D
  • Juegos multijugador
  • Inteligencia artificial

Amunt

El máster ofrece una formación de orientación claramente profesional, dirigida a personas que se quieran dedicar al diseño y el desarrollo de videojuegos, con un grado de especialización de acuerdo con dos perfiles profesionales:

  • Diseñador (video game designer)
  • Desarrollador de software (video game programmer y lead programmer)

Específicamente, en esta asignatura, será a partir del estudio de técnicas de inteligencia artificial que se se logrará un diseño más rico del videojuego así como también su implementación utilizando el motor de creación Unity, haciendo que las actividades desarrolladas durante la asignatura tendrán un alto grado de similitud con posibles escenarios profesionales.

Amunt

Se considera un cierto dominio en el entorno de trabajo proporcionado por el engine Unity y en C# scripting (ver asignatura en el plan de estudios).

Amunt

Las competencias transversales que se adquieren en esta asignatura son las siguientes:

  • Capacidad para aplicar el pensamiento creativo y generar nuevas soluciones.
  • Capacidad para el aprendizaje autónomo.
  • Comprensión y expresión en inglés técnico.
  • Trabajo en equipo.

Esta asignatura también permitirá adquirir las siguientes competencias específicas:

  • Capacidad para dominar las herramientas aplicables al desarrollo de videojuegos, según las tendencias tecnológicas.
  • Capacidad para el uso efectivo de los lenguajes de programación y las metodologías para el desarrollo de videojuegos.
  • Capacidad para analizar y diseñar los elementos y los principios de funcionamiento de un videojuego.
  • Capacidad para diseñar los componentes asociados con la creación de una experiencia de juego.
  • Capacidad para representar elementos visuales y sus interacciones de manera eficiente.

Los objetivos que se pretenden lograr en esta asignatura son los siguientes:

  • Entender la relación existente entre la Inteligencia Artificial y los otros componentes del videojuego.
  • Saber como mover los elementos en un mundo virtual, tanto a nivel individual como colectivo.
  • Implementar sistemas que permitan decidir cuál es la mejor acción a tomar en cada momento a partir de la información que se tenga disponible del sistema de una forma rápida.
  • Conocer las últimas tendencias en tecnología de IA aplicadas a los videojuegos y como se pueden utilizar estas tecnologías para mejorar la experiencia de juego del usuario.

Amunt

Inteligencia artificial

1. Inteligencia artificial en los videojuegos

1.1. Historia de la inteligencia artificial en los videojuegos

1.2. Aplicaciones de la inteligencia artificial en los videojuegos

1.3. Consideraciones sobre la IA en videojuegos

1.4. Arquitectura de la IA

2. Técnicas de movimiento

2.1. Movimientos cíclicos y basados en patrones

2.2. Busca de caminos

2.3. Movimientos complejos

3. Toma de decisiones

3.1. El proceso de toma de decisiones

3.2. Sistemas de reglas

3.3. Máquinas de estados finitos

3.4. Exploración en árbol

3.5. Lógica difusa

3.6. Mapas de influencia

4. Aprendizaje

4.1. Estrategias de aprendizaje en juegos

4.2. Algoritmos de aprendizaje

4.3. Ajuste de parámetros

5. Técnicas avanzadas de IA

5.1. Redes neuronales

5.2. Aprendizaje profundo

Amunt

Material Soporte

Amunt

Se proporcionan materiales didácticos en varios formatos, como también software de desarrollo y herramientas complementarias en apoyo digital para hacer las prácticas y las actividades de evaluación. De entre todas, la más importante será el entorno de trabajo Unity.

Se utilizarán recursos existentes disponibles de forma gratuita en la Asset Store de Unity en forma de proyectos de vídeojocs ya programados que servirán como base para la introducción de técnicas de inteligencia artificial que permitan ofrecer una mejor experiencia de juego.

Amunt

Artificial Intelligence: A Modern Approach, Stuart Russell and Peter Norvig, Prentice Hall, 1995, ISBN 0-131-03805-2

AI Game Engine Programming, Brian Schwab, Charles River Media, 2004,ISBN 1-58450-344-2

AI Game Programming Wisdom (Volumes 1 to 4), Mark Deloura and Steve Rabin, Charles River Media

AI for Computer Games and Animation: A Cognitive Modeling Approach, J. Funge, AK Peters, Ltd. , 1999, ISBN 1-568-81103-9

Core Techniques and Algorithms in Game Programming. Daniel Sanchez-Crespo Dalmau, Ed. New Riders. 2003, ISBN 0-13102-009-9

Artificial Intelligence for Games, Ian Millington, Academic Press, 2006 , ISBN 0-12497-782-0

AI for Game Developers, David M. Bourg, Glenn Seemann, O'Reilly, 2004, ISBN 0-59600-555-5 

Algorithms and Networking for Computer Games, Jouni Smed, Harri Hakonen, Wiley, 2006, ISBN 0-47001-812-7

Programming Game AI by Example, Mat Buckland, Wordware Publishing, 2005, ISBN 1-55622-078-2

AI Techniques for Game Programming, Mat Buckland, Thomson Course Technology, 2002, ISBN 1-93184-108-X

AI Game Development: Synthetic Creatures With Learning and Reactive Behaviors, Alex Champandard, New Riders, 2003, ISBN 1-59273-004-3

Amunt

El aprendizaje colaborativo y el autoaprendizaje dirigido y tutorizado serán elementos claves en el modelo educativo de esta asignatura. Además, se trata de un modelo que no busca la memorización de contenidos, sino un modelo de aprendizaje basado en la resolución de actividades que sean lo más cercanos posibles a los escenarios reales que se encontrarán en el mundo profesional. Por lo tanto, las actividades serán los elementos claves para desarrollar las competencias y para guiar el aprendizaje del alumno hacia los objetivos y competencias de la asignatura.

Amunt

El proceso de evaluación se fundamenta en el trabajo personal de cada estudiante y presupone la autenticidad de la autoría y la originalidad de los ejercicios realizados.

La falta de autenticidad en la autoría o de originalidad de las pruebas de evaluación; la copia o el plagio; el intento fraudulento de obtener un resultado académico mejor; la colaboración, el encubrimiento o el favorecimiento de la copia, o la utilización de material o dispositivos no autorizados durante la evaluación, entre otras, son conductas irregulares que pueden tener consecuencias académicas y disciplinarias graves.

Por un lado, si se detecta alguna de estas conductas irregulares, puede comportar el suspenso (D/0) en las actividades evaluables que se definan en el plan docente –incluidas las pruebas finales– o en la calificación final de la asignatura, ya sea porque se han utilizado materiales o dispositivos no autorizados durante las pruebas, como redes sociales o buscadores de información en internet, porque se han copiado fragmentos de texto de una fuente externa (internet, apuntes, libros, artículos, trabajos o pruebas del resto de estudiantes, etc.) sin la correspondiente citación, o porque se ha practicado cualquier otra conducta irregular.

Por el otro, y de acuerdo con las normativas académicas, las conductas irregulares en la evaluación, además de comportar el suspenso de la asignatura, pueden dar lugar a la incoación de un procedimiento disciplinario y a la aplicación, si procede, de la sanción que corresponda.

Amunt

La asignatura solo puede aprobarse con el seguimiento y la superación de la evaluación continua (EC). La calificación final de la asignatura es la nota obtenida en la EC.


Ponderación de las calificaciones

Opción para superar la asignatura: EC

Nota final de asignatura: EC

Amunt

En esta asignatura se definirán tres actividades avalualables (PECs), que están centradas en tres tipos de videojuegos diferentes. Una vez finalizado el estudio del temario, se propondrá una Práctica que sirve como ejercicio de integración de todo el material. Para poder superar la asignatura se deben entregar todas las actividades.

La definición de actividades alrededor de tres tipos diferentes de videojuegos busca ampliar el dominio o ámbito de aplicación de las técnicas de inteligencia artificial en el mundo de los videojuegos, viendo como se aplican estas técnicas en videojuegos de diferente índole.

Las actividades evaluables consistirán en proyectos predefinidos que habrán sido creados con el motor de creación Unity y que los alumnos tendrán que ampliar programando técnicas de inteligencia artificial con el objetivo de mejorar la experiencia de juego que ofrece el videojuego.

Se tendrá que entregar un archivo comprimido (zip/rar) que contenga los siguientes elementos:

  • El código fuente de la práctica y todos los elementos externos necesarios para poderla compilar (librerías, etc.)
  • Un fichero README.txt que explique como compilar el proyecto y describa el trabajo realizado.
  • Un fichero INSTRUCCIONES.txt que explique el funcionamiento del videojuego y cómo se controla el mismo.
  • Un vídeo que muestre todos los elementos importantes que se han implementado.
  • Un documento en formato PDF con una memoria de trabajo que incluya: decisiones de diseño, explicación del código más relevante, justificación de los algoritmos utilizados y fuentes consultadas para la elaboración de la PEC

Se diseñará una rúbrica que permitirá que los alumnos conozcan qué es el que se espera de ellos en cada una de las actividades de la asignatura. En cada actividad, además, se indicará qué se pide y qué materiales se tienen que entregar. A continuación se definen algunos de los criterios que se tendrán en cuenta en la evaluación:

  • Que el código entregado compile.
  • Que el código siga la guía de estilo y las buenas prácticas de programación.
  • Que el código esté correctamente comentado.
  • El grado de optimización en tiempo y recursos.
  • Que el código sea modular y estructurado.
  • Que se hayan implementado correctamente las técnicas de inteligencia artificial pedidas.
  • En caso de decisión de diseño, se hayan seleccionado apropiadamente las técnicas de inteligencia artificial.
  • Que las técnicas de inteligencia artificial incrementen el nivel de experiencia de juego.

También se definirán un conjunto de actividades no evaluables, que consistirán en la lectura de los capítulos que han sido creados para esta asignatura. Además, el que se pretende es enlazar el desarrollo de las actividades evaluables basadas en proyectos (los diferentes tipos de videojuegos) con la lectura de los capítulos que corresponda.

Amunt

Esta asignatura se evalúa exclusivamente mediante la evaluación continua, entregando todas las PEC y la práctica, a partir de las cuales el estudiante irá demostrando que ha seguido la docencia y ha entendido los conceptos tratados.

Amunt