Informació general


Tipus d'assignatura: Obligatòria

Coordinador: Adso Fernández Baena

Trimestre: Segon trimestre

Crèdits: 4

Professorat: 

Enric Sesa Nogueras

Idiomes d'impartició


Documentació majoritàriament en anglès. Llengua usada a classe: català. Exercicis i proves en català i/o anglès. 

Competències


Competències específiques
  • E6. Desenvolupar videojocs en llenguatges de programació d'alt nivell en motors gràfics  a partir de les especificacions.

Competències transversals
  • T1. Comunicar en un tercer idioma, que serà preferentment l'anglès, amb un nivell adequat de forma oral i per escrit i d'acord amb les necessitats que tindran els graduats i graduades.

  • T2. Treballar com a membre d'un equip interdisciplinari ja sigui com un membre més o realitzant tasques de direcció amb la finalitat de contribuir a desenvolupar projectes amb pragmatisme i sentit de la responsabilitat, assumint compromisos i tenint en compte els recursos disponibles.

Descripció


Aquesta assignatura pretén introduir als estudiants del grau en l'àmbit de la intel·ligència artificial, i concretament dels comportaments computacionals, mostrant-los l'aplicació d'algunes de les seves tècniques en la construcció de videojocs. Es veuen qüestions com els comportaments basats en el moviment, inclosa la cerca de camins, i un petit ventall de mecanismes de presa de decisions de naturalesa reactiva. També s'aborden, però amb menys profunditat els mecanismes de presa de decisió de naturalesa deliberativa ("minimaxing" i planificació). Es treballen els aspectes teòrics, de manera expositiva, i la seva posterior aplicació pràctica, adreçada a la resolució, sovint guiada, de problemes petits. Les sessions de classe combinen ambdós aspectes per tal d'aconseguir un bon equilibri entre ells. Les pràctiques (obligatòries) i els exercicis de classe i a casa conformen el model avaluatiu de l'assignatura. 

Aquesta assignatura s'hauria de cursar una vegada s'ha superat tot el primer curs i l'assignatura "programació en llenguatges interpretats" del segon curs. També seria recomanable haver superat l'assignatura "Desenvolupament de jocs 2D".

 

Resultats d'aprenentatge


En acabar l'assignatura els estudiants han de ser capaços de:

E6.1 Dissenyar l'arquitectura del software d'un videojoc d'acord amb unes especificacions

E6.4 Classificar i descriure els principals comportaments de la intel·ligència artificial en videojocs i exemplificar-los amb referents en els videojocs del mercat.

E6.6 Desenvolupar videojocs 2D i 3D (o parts del mateix) en llenguatges d'alt nivell sobre plataformes i i motors destinats a aquest efecte.

 

Metodologia de treball


L'assignatura utilitza majoritàriament, aquestes dues metodologies: la classe magistral i la resolució de problemes. 

Tots els conceptes teòrics de la matèria s'exposaran en classes de teoria (grups grans) de naturalesa magistral. La part "no magistral" de les sessions es dedicarà a la resolució de problemes i activitats curtes. També es programaran sessions de laboratori amb un caire eminentment pràctic. 

Els estudiants han d'assistir a totes les classes amb un ordinador portàtil amb la capacitat d’executar el software escaient per a l’assignatura. Els docents impartidors informaran de quin és aquest software i com es pot obtenir.

Continguts


Tema 1. Introducció. IA i IA per a jocs. Comportaments computacionals

Tema 2. Control del moviment: "Steering behaviours"

2.1 Comportaments bàsics i derivats: seek, arrive, wander, velocity matching,...

2.2 Combinació de comportaments. Flocking

Tema 3. Cerca de camins: "Pathfinding"

3.1 Representació de l'espai: grafs

3.2 L'algorisme A star

Tema 4. Presa de decisions

4.1 Màquines d'estats

4.2 Arbres de comportament

4.3 Jocs per torns de suma zero: l'algorisme minimax

4.4 Comportaments orientats a objectius

 

Activitats d'aprenentatge


Amb l’objectiu de recollir evidència de l’assoliment dels resultats d’aprenentatge esperats es realitzaran les següents activitats de caràcter avaluatiu:

A1. Pràctica de comportaments motors i màquines d'estats (Pràctica de laboratori/treball en grup  evidència dels resultat d'aprenentatge E6.1 i  E6.6)

A2. Pràctica de pathfinding (Pràctica de laboratori/treball en grup  evidència dels resultat d'aprenentatge E6.1 i  E6.6)

A3. Pràctica 3 de temàtica variable (Pràctica de laboratori/treball en grup  evidència dels resultat d'aprenentatge E6.1 i  E6.6)

El contingut de les pràctiques farà especial èmfasi en allò que indica el títol si bé podran contenir altres continguts propis de l'assignatura i la seva àrea. 

A4. Examen Final  (evidència dels resultat d'aprenentatge E6.1,  E6.4 i E6.6)

L'estudiant haurà de mostrar el seu coneixement al respecte dels aspectes teòrics de l'assignatura i fer petits desenvolupaments de caire pràctic. 

Criteris generals de les activitats

- El professor presentarà un enunciat per a cada activitat i els criteris d'avaluació i/o rúbriques

- El professor informarà de les dates i el format de lliurament de l'activitat

Sistema d'avaluació


La nota de cada alumne es calcularà seguint els següents percentatges:

A(1,2,3). Pràctiques de laboratori / treball en grup: 50%  (1/3 50%  cadascuna)

A4. Examen Final: 50%

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

 

Consideracions:

- Cal que A4 >=5 per a superar l'assignatura. Si aquesta qualificació no arriba a 5 llavors ella mateixa serà la nota final. 

- Una activitat no lliurada o lliurada amb retard i sense justificació (citació judicial o assumpte mèdic) compta com un 0.

- Es responsabilitat de l'alumne evitar el plagi en totes les seves formes. En el cas de detectar un plagi, independentment del seu abast, en alguna activitat avaluativa (incloses les pràctiques), s'aplicarà l'article 8 de la normativa d'avaluació que comporta el suspens automàtic de l'assignatura sense possibilitat de recuperació. A més, el professor comunicarà a la Cap d'Estudis la situació per a que en prengui mesures  aplicables en matèria de règim sancionador. En el context d'aquesta assignatura, plagi també significa utilitzar i/o adaptar codi que no s'hagi desenvolupat de manera totalment individual (o en el si del grup en el cas d'activitats grupals). Facilitar el codi que dóna lloc al plagi és també una forma de plagi i serà tractat de la mateixa manera. De manera resumida podem dir que les activitats avaluatives s'han de resoldre de manera estrictament no col·laborativa (en el cas d'activitats en grup la col·laboració no pot transcendir el si del grup). 

 

Recuperació

- Cal obtenir una nota >= 5 a l'examen final de recuperació per aprovar l'assignatura.

- La nota de l'examen de recuperació s'aplicarà a l'activitat A4  (i es tornarà a aplicar la fórmula Nota Final = A(1,2,3)·0.5 + A4·0.5) 

- En cas de superar la recuperació (A(1,2,3)·0.5 + A4·0.5>=5) la nota final màxima de l'assignatura serà de 5 

 

Bibliografia


Bàsic

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

Complementary

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