Información general


Tipo de asignatura: obligatoria

Coordinador: Adso Fernández Baena

trimestre: Segundo trimestre

Créditos: 4

Profesorado: 

Enric Sesa Nogueras

Idiomas de impartición


Documentación mayoritariamente en inglés. Lengua usada en clase: catalán. Ejercicios y pruebas en catalán y/o inglés. 

Competencias


Competencias específicas
  • E6. Desarrollar videojuegos en lenguajes de programación de alto nivel en motores gráficos a partir de sus especificaciones.

competencias transversales
  • T1. Comunicar en un tercer idioma, que será preferentemente el inglés, con un nivel adecuado de forma oral y por escrito y acorde con las necesidades que tendrán los graduados y graduadas.

  • T2. Trabajar como miembro de un equipo interdisciplinario ya sea como un miembro más o realizando tareas de dirección con el fin de contribuir a desarrollar proyectos con pragmatismo y sentido de la responsabilidad, asumiendo compromisos y teniendo en cuenta los recursos disponibles.

Descripción


Esta asignatura pretende introducir a los estudiantes del grado en el ámbito de la inteligencia artificial, y concretamente de los comportamientos computacionales, mostrándoles la aplicación de algunas de sus técnicas en la construcción de videojuegos. Se ven cuestiones como los comportamientos basados ​​en el movimiento, incluida la búsqueda de caminos, y un pequeño abanico de mecanismos de toma de decisiones de naturaleza reactiva. También se abordan, pero con menor profundidad los mecanismos de toma de decisión de naturaleza deliberativa ("minimaxing" y planificación). Se trabajan los aspectos teóricos, de forma expositiva, y su posterior aplicación práctica, dirigida a la resolución, a menudo guiada, de pequeños problemas. Las sesiones de clase combinan ambos aspectos a fin de conseguir un buen equilibrio entre ellos. Las prácticas (obligatorias) y los ejercicios de clase y en casa conforman el modelo evaluativo de la asignatura. 

Esta asignatura debería cursarse una vez se ha superado todo el primer curso y la asignatura "programación en lenguajes interpretados" del segundo curso. También sería recomendable haber superado la asignatura "Desarrollo de juegos 2D".

 

Resultados de aprendizaje


Al finalizar la asignatura los estudiantes deben ser capaces de:

E6.1 Diseñar la arquitectura del software de un videojuego de acuerdo con unas especificaciones

E6.4 Clasificar y describir los principales comportamientos de la inteligencia artificial en videojuegos y ejemplificarse con referentes en los videojuegos del mercado.

E6.6 Desarrollar videojuegos 2D y 3D (o partes del mismo) en lenguajes de alto nivel sobre plataformas y motores destinados al efecto.

 

Metodología de trabajo


La asignatura utiliza mayoritariamente, estas dos metodologías: la clase magistral y la resolución de problemas. 

Todos los conceptos teóricos de la materia se expondrán en clases de teoría (grupos grandes) de naturaleza magistral. La parte no magistral de las sesiones se dedicará a la resolución de problemas y actividades cortas. También se programarán sesiones de laboratorio con un cariz eminentemente práctico. 

Los estudiantes deben asistir a todas las clases con un ordenador portátil con la capacidad de ejecutar el software apropiado para la asignatura. Los docentes impartidores informarán de qué es este software y cómo se puede obtener.

Contenidos


Tema 1. Introducción. IA y IA para juegos. comportamientos computacionales

Tema 2. Control del movimiento: "Steering Behaviours"

2.1 Comportamientos básicos y derivados: seek, arrive, wander, velocity matching,...

2.2 Combinación de comportamientos. Flocking

Tema 3. Búsqueda de caminos: "Pathfinding"

3.1 Representación del espacio: grafos

3.2 El algoritmo A star

Tema 4. Toma de decisiones

4.1 Máquinas de estados

4.2 Árboles de comportamiento

4.3 Juegos por turnos de suma cero: el algoritmo minimax

4.4 Comportamientos orientados a objetivos

 

Actividades de aprendizaje


Con el objetivo de recoger evidencia del logro de los resultados de aprendizaje esperados se realizarán las siguientes actividades de carácter evaluativo:

A1. Práctica de comportamientos motores y máquinas de estados (Práctica de laboratorio/trabajo en grupo evidencia de los resultados de aprendizaje E6.1 y E6.6)

A2. Práctica de pathfinding (Práctica de laboratorio/trabajo en grupo evidencia de los resultados de aprendizaje E6.1 y E6.6)

A3. Práctica 3 de temática variable (Práctica de laboratorio/trabajo en grupo evidencia de los resultados de aprendizaje E6.1 y E6.6)

El contenido de las prácticas hará especial énfasis en lo que indica el título si bien podrán contener otros contenidos propios de la asignatura y su área. 

A4. examen Final  (evidencia de los resultados de aprendizaje E6.1, E6.4 y E6.6)

El estudiante deberá mostrar su conocimiento al respecto de los aspectos teóricos de la asignatura y realizar pequeños desarrollos de carácter práctico. 

Criterios generales de las actividades

- El profesor presentará un enunciado para cada actividad y los criterios de evaluación y/o rúbricas

- El profesor informará de las fechas y el formato de entrega de la actividad

Sistema de evaluación


La nota de cada alumno se calculará siguiendo los siguientes porcentajes:

A(1,2,3). Prácticas de laboratorio / trabajo en grupo: 50% (1/3 50% cada una)

A4. Examen Final: 50%

Nota Final = A(1,2,3)·0.5 + A4·0.5

 

Consideraciones:

- Es necesario que A4 >=5 para superar la asignatura. Si esta calificación no llega a 5 entonces ella misma será la nota final. 

- Una actividad no entregada o entregada con retraso y sin justificación (citación judicial o asunto médico) cuenta como un 0.

- Es responsabilidad del alumno evitar el plagio en todas sus formas. En caso de detectar un plagio, independientemente de su alcance, en alguna actividad evaluativa (incluidas las prácticas), se aplicará el artículo 8 de la normativa de evaluación que comporta el suspenso automático de la asignatura sin posibilidad de recuperación. Además, el profesor comunicará a la Jefa de Estudios la situación para que tome medidas aplicables en materia de régimen sancionador. En el contexto de esta asignatura, plagio también significa utilizar y/o adaptar código que no se haya desarrollado de forma totalmente individual (o en el seno del grupo en el caso de actividades grupales). Facilitar el código que da lugar al plagio es también una forma de plagio y será tratado por igual. De forma resumida podemos decir que las actividades evaluativas deben resolverse de forma estrictamente no colaborativa (en el caso de actividades en grupo la colaboración no puede trascender el seno del grupo). 

 

recuperación

- Es necesario obtener una nota >= 5 en el examen final de recuperación para aprobar la asignatura.

- La nota del examen de recuperación se aplicará a la actividad A4 (y se volverá a aplicar la fórmula Nota Final = A(1,2,3)·0.5 + A4·0.5) 

- En caso de superar la recuperación (A(1,2,3)·0.5 + A4·0.5>=5) la nota final máxima de la asignatura será de 5 

 

Bibliografía


Básico

Millington, I. (2019). AI for games. Boca Raton, FL: CRC Press, Taylor & Francis Group.

Complementario

Buckland, M. (2009). Programming game AI by example. Plano, TX: Wordware Publ.