Informació general


Tipus d'assignatura: Obligatòria

Coordinador: Adso Fernández Baena

Trimestre:2

Crèdits: 6

Professorat: Albert Carrillo Sorolla

Descripció


L'assignatura de Motors de Jocs pretén donar a l'alumne una visió detallada de totes les peces que formen un motor de jocs. Per a cadascun dels sistemes del motor se n'analitzaran els requeriments, els majors reptes tècnics i les solucions a aquests reptes que proposen diversos motors professionals. Aquest coneixement és fonamental per a la correcta elecció d'un motor en el procés de preproducció d'un videojoc, per entendre les millores o noves funcionalitats que es van publicant, per treure el màxim partit de totes les eines dels motors, o, fins i tot, per a personalitzar-ne algunes parts. Aquesta assignatura ha de dotar l'alumne del coneixement teòric necessari per tal de ser capaç d'adaptar-se més fàcilment al desenvolupament de videojocs amb qualsevol motor de jocs.

L'assignatura consta de sessions teòriques, on s'explicaran els sistemes del motor des d'un punt de vista tècnic i genèric; i sessions pràctiques, on s'utilitzaran motors de jocs per tal d'utilitzar els sistemes i conèixer més concretament el funcionament d'aquests en un motor concret.

Aquesta assignatura disposa de recursos metodològics i digitals per fer possible la seva continuïtat en modalitat no presencial en el cas de ser necessari per motius relacionats amb la Covid-19. D’aquesta forma s’assegurarà l’assoliment dels mateixos coneixements i competències que s’especifiquen en aquest pla docent.

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 a unes especificacions.
  • E6.6 Desenvolupar videojocs 2D i 3D (o parts del mateix) en llenguatge d'alt nivell sobre plataformes i motors destinats a tal efecte.
  • E15.5 Desenvolupar l'estratègia de qualitat i testeig, corregir i ajustar el software.

Metodologia de trabajo


L’assignatura utilitza les següents metodologies de treball:
Classe magistral i laboratori en grup reduït.

Continguts


  1. Introducció
    1. Game - Game Engine
    2. Gèneres
    3. Runtime - Offline
    4. Eines
  2. Sistemes de baix nivell d’un motor de jocs
    1. Game loop
    2. Pipeline i gestor de recursos
    3. HID
    4. Eines de depuració
    5. Sistemes de  suport
  3. Sistemes principals d’un motor de jocs
    1. Motor de renderització
    2. Sistema d’animació
    3. Sistema de detecció de col·lisions i dinàmica de sòlids rígids
    4. Sistemes habitualment externs: So, Intel·ligència Artificial, Animació-Física, etc.
  4. Sistemes genèrics de Gameplay
    1. Món de joc
    2. Models d’objectes en runtime
    3. Manipulació dels objectes de joc
    4. Esdeveniments i missatges
    5. Scripting
    6. Flux de joc d’alt nivell
  5. Sistemes específics de Gameplay
    1. Mecàniques de jugador
    2. Càmera
    3. Multijugador
    4. Subsistemes: armes, desplaçaments especials (escales, natació, cordes…), vehicles, trencaclosques, etc.

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 (relacionades amb totes les competències comunes):

A1. Treball en grup: Comparativa d'un sistema de baix nivell (Evidència del resultat d’aprenentatge E6.1, E6.6, E15.5)

Anàlisi d'un sistema de baix nivell d'un motor i comparativa amb Unity o Unreal.

A2. Treball en grup: Comparativa d'un sistema principal (Evidència del resultat d’aprenentatge E6.1, E6.6, E15.5)

Anàlisi d'un sistema principal d'un motor i comparativa amb Unity o Unreal.

A3. Treball en grup: Comparativa d'un sistema de Gameplay (Evidència del resultat d’aprenentatge E6.1, E6.6, E15.5)

Anàlisi d'un sistema de Gameplay d'un motor i comparativa amb Unity o Unreal. 

A4. Pràctiques de laboratori: Entrega 1 (Evidència del resultat d’aprenentatge E6.1, E6.6, E15.5)

Desenvolupament d'un prototip de videojoc amb motor de joc especificat.

A5. Pràctiques de laboratori: Entrega 2 (Evidència del resultat d’aprenentatge E6.1, E6.6, E15.5)

Desenvolupament d'un prototip de videojoc amb motor de joc especificat.

A6. Examen final (Evidència del resultat d’aprenentatge E6.1, E6.6, E15.5)

 

Criteris generals de les activitats:

- El professor presentarà un enunciat per cada activitat i els criteris d’avaluació i/o rúbriques.
- El professor informarà de les dates i format del lliurament de l’activitat.

Sistema d'avaluació


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

A1. Comparativa d'un sistema de baix nivell - 6,66%

A2. Comparativa d'un sistema principal - 6,67%

A3. Comparativa d'un sistema de Gameplay - 6,67%

A4. Pràctiques de laboratori: Entrega 1 - 20%

A5. Pràctiques de laboratori: Entrega 2 - 20%

A6. Examen final teòric - 40%


Nota final = A1 0.066 + A2 0.067 + A3 0.067 + A4 0.2 + A5 0.2 + A6 0.4

Consideracions:

- Cal obtenir una nota superior a 5 a l’examen final per a aprovar l’assignatura.
- Una activitat no entregada o lliurada amb retard i sense justificació (citació judicial o assumpte mèdic) compta com un 0.
- És 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 correspondrà a tenir una nota de 0. A més, el professor comunicarà la situació per a que es prenguin mesures aplicables en matèria de règim sancionador.

Recuperació:

  • Cal obtenir una nota superior a 5 a l’examen de recuperació per a aprovar l’assignatura.
  • La nota de l’examen de recuperació s'aplicarà només a les Activitats A1, A2, A3 i A6. Les pràctiques no es podran recuperar.
  • En cas de superar la recuperació, la nota final màxima de l’assignatura serà de 5.

Bibliografia


Bàsic

Gregory, J. (2009). Game Engine Architecture/Jason Gregory. Gannett Company, 687-717.

Zerbst, S. (2004). 3D Game Engine Programming (Game Development Series). Premier Press.

Eberly, D. (2006). 3D game engine design: a practical approach to real-time computer graphics. CRC Press.

https://docs.unrealengine.com/latest/INT/

http://docs.unrealengine.com/latest/INT/Videos/

http://wiki.unrealengine.com/Main_Page