Motors gràfics Codi:  M7.454    Crèdits:  6
Consulta de les dades generals   Descripció   L'assignatura en el conjunt del pla d'estudis   Camps professionals en què es projecta   Coneixements previs   Informació prèvia a la matrícula   Objectius i competències   Continguts   Consulta dels recursos d'aprenentatge de què disposa l'assignatura   Recursos d'aprenentatge i eines de suport   Metodologia   Consulta del model d'avaluació   Avaluació continuada   Avaluació final   Feedback  
Aquest és el pla docent de l'assignatura per al segon semestre del curs 2023-2024. Podeu consultar si l'assignatura s'ofereix aquest semestre a l'espai del campus Més UOC / La universitat / Plans d'estudis). Un cop comenci la docència, heu de consultar-lo a l'aula. El pla docent pot estar subjecte a canvis.
Al cor de tot videojoc podem trobar el component clau per al seu correcte funcionament: el motor. Aquest subsistema és l'encarregat de gestionar tots els recursos de manera que el videojoc funcioni. Si bé sovint es parla simplement de "motor", de manera genèrica, un videojoc pot incorporar diferents subsistemes especialitzats segons la seva funcionalitat: render, animació, música, xarxa, scripting, IA, etc. Concretament, en aquesta assignatura ens centrarem en com desenvolupar motors de render, d'animació i de física.  

Una de les característiques més importants de l'ús de motors és el seu rol com a mòdul independent, que ens permet la seva reutilització en altres projectes que requereixin una funcionalitat similar. De fet, el cas més habitual ja és parlar de motors des de la perspectiva d'un marc de desenvolupament de videojocs, de vegades fins i tot amb un editor integrat. Aquest, per exemple, seria el cas d'Unity. Altres exemples molt populars poden ser Unreal, CryEngine, Anvil, Source, etc. Tot i que existeixen aquests marcs que podem reutilitzar per desenvolupar més fàcilment els nostres projectes i no començar des absolutament zero, és imprescindible obrir la "caixa negra" i estudiar com funcionen internament i quines són les seves bases. Això ens permet aprofitar-los millor, ser capaç de detectar alguns problemes que puguin sorgir quan jo es comporten com esperem, o, com no, fins i tot desenvolupar el nostre propi motor.

Amunt

Aquesta assignatura correspon al bloc assignatures comunes de l'itinerari de programació avançada. 
  • Programació gràfica 
  • Motors gràfics 
  • Efectes visuals i sonors
Si bé en totes elles es treballa d'una manera o altra amb aspectes vinculats a la visulización dels elements gràfics d'un videojoc en pantalla, aquesta proprciona una visió específica sobre el disseny i estructura d'un motor, estudiant especialment a fons els aspectes de renderitzat , animació i física.

Amunt

Principalment, les vinculades al desenvolupament de videojocs (Game Programmer, Lead Programmer), ja sigui en una gran empresa, freelance, o simplement els amants dels videojocs interessats a desenvolupar els seus propis projectes personals.

Amunt

Es pressuposa que l'estudiant disposa de coneixements sòlids de programació en C i C++, així com en entorns de treball associats a aquests llenguatges, preferiblement Visual Studio (que ja s'ha fet servir anteriorment en les assignatures d'Unity del postgrau).

Amunt

Aquesta és una assignatura molt exigent que requereix que l'estudiant disposi de coneixements sòlids de programació en els llenguatges C i C++. Si no s'ha treballat en aquests llenguatges, almenys s'hauria d'haver treballat en altres amb sintaxi semblant i sentir-se capaç a l'hora de treballar amb aspectes de programació com a estructures de dades complexes, lògica de punters i orientació a objectes.

Amunt

Les competències generals del Màster que es posen de manifest en aquesta assignatura són les següents.

Competències bàsiques:  
  • [CB07] Que els estudiants sàpiguen aplicar els coneixements adquirits i la seva capacitat de resolució de problemes en entorns nous o poc coneguts dins de contextos més amplis (o multidisciplinaris) relacionats amb la seva àrea d'estudi 
  • [CB10] Que els estudiants tinguin les habilitats d'aprenentatge que els permetin continuar estudiant d'una manera que haurà de ser en gran manera autodirigida o autònoma.  
Competències generals:  
  • [CG01] Analitzar i sintetitzar l'estructura d'un sistema.
  • [CG03] Actuar amb iniciativa i desenvolupar-se de manera eficaç en un entorn de treball col·laboratiu interdisciplinari. 
  • [CG06] Aplicar el pensament creatiu per generar solucions disruptives en diferents contextos.
Competències transversals: 
  • [CT01] Avaluar les competències professionals pròpies amb el propòsit d'una actualització contínua en l'ús i aplicació de les tecnologies de la informació en entorns futurs. 
  • [CT02] Expressar-se de forma oral i escrita en anglès i comprendre textos acadèmics i professionals complexos en l'àmbit de les TIC. 
Competències específiques: 
  • [CE01] Analitzar, interpretar i construir de manera efectiva la documentació tècnica associada al procés de disseny i programació d'un videojoc.
  • [CE04] Comprendre el context i els principis del disseny intern d'un videojoc per tal de satisfer les necessitats de l'usuari final.
  • [CE07] Analitzar i desenvolupar l'arquitectura interna d'un videojoc mitjançant el domini de la programació de dispositius i motors.
  • [CE08] Comprendre i emprar els principis físics i matemàtics necessaris per controlar el comportament dels elements d'un videojoc. 
Finalment, els objectius específics de l'assignatura són: 
  • Conèixer què és un motor de videojocs. 
  • Estudiar com els motors han anat evolucionant. 
  • Reconèixer la estructura d'un motor i la funció de cadascun dels seus components. 
  • Dissenyar un motor de videojocs i generar la seva documentació. 
  • Treballar conceptes com malles de triangles, vèrtexs, index buffers i pintats de malles. 
  • Saber integrar un sistema de malles en un videojoc i representar elements 3D. 
  • Saber integrar un sistema d'animació esqueletal en un videojoc i poder representar animacions en pantalla. 
  • Conèixer diferents biblioteques de motors de tercers i saber com procedir a la seva integració. 
  • Ser capaç de decidir quan és millor crear el teu propi motor o utilitzar un tercers.

Amunt

L'assignatura s'articula a través de quatre projectes, o "reptes", en cadascun dels quals es treballa un aspecte diferent sobre com crear o integrar un motor de videojocs. Si bé el repte inicial és més conceptual, purament de disseny, i per això incorpora un apartat més extens d'introducció i contextualització, la resta se centren exclusivament en tasques d'implementació. En aquest sentit, el gruix de la docència i la major part del temps es dedica al desenvolupament de cada projecte, i el contingut està principalment centrat a la consulta de la documentació associada a diferents biblioteques, i no tant a la lectura d'un mòdul didàctic . 

Repte 1. Com es dissenya un motor de videojocs? 
  • Història dels motors de videojocs. 
  • Motors actuals. 
  • API 's gràfics. 
  • Components d'un motor de videojocs. 
  • Patrons de programació de videojocs. 
Repte 2. Generació d'un sistema de render 
  • Diagrama d'una aplicació gràfica en temps real. 
  • Arquitectura del motor. 
Repte 3. Generació d'un sistema d'animació 
  • Arquitectura del motor. 
  • Animació esqueletal. 
  • AntTweakBar. 
Repte 4. Integració de biblioteques de tercers 
  • Arquitectura del motor. 
  • Física. 
  • Scripting.

Amunt

Material Suport
De visita en... Kaneda Game Audiovisual
Tertulia 1 Audiovisual
Tertúlia 1 Audiovisual
De visita a... Kaneda Game Audiovisual

Amunt

L'entorn de treball es basa en l'l'ús de Visual Studio per al desenvolupament de projectes en C/C++ amb DirectX.

Amunt

Aquesta assignatura està eminentment centrada en projectes (o "reptes"). Així doncs, si bé els materials associats a cada part del temari proporcionen un breu repàs a alguns conceptes clau, l'estudiant ha de tenir clar que la major part del seu temps ho va a dedicar practicant amb l'entorn de desenvolupament i accedint a la documentació en línia l'entorn de treball. En aquest sentit, el valor afegit de l'assignatura no l'aporta la documentació, sinó el professor col·laborador, un professional de la indústria a la vostra absoluta disposició per resoldre qualsevol dubte o incidència i guiar-vos en el desenvolupament dels reptes. Normalment, cada bloc en el temari es divideix en dues parts. 

Primer, es porta a terme un petit projecte de manera guiada a través de les indicacions dels materials, sempre amb l'ajuda del professor col·laborador i la resta de companys de l'aula. Es tracta d'un exercici de caràcter totalment formatiu, en el qual vèncer les dificultats que vagin apareixent serà la forma de garantir l'aprenentatge. Un cop superada aquesta part, s'ha de dur a terme individualment un exercici avaluable vinculat amb tot el que s'ha treballat anteriorment. 

En aquest context de treball, el seguiment actiu dels espais de l'aula (tauler, fòrum) és de primordial interès, atès que habitualment es plantegen dubtes, es donen respostes i es tracten temes relacionats amb la matèria d'estudi. És molt recomanable la consulta de qualsevol dubte a través del fòrum de l'assignatura. També, és important realitzar un treball constant d'estudi i aplicació dels continguts ja que aquesta és la via habitual d'assegurar l'èxit per superar l'assignatura. En aquest sentit van les propostes de distribució temporal d'aprenentatge incloses en aquest document i les altres que es puguin donar durant el curs.

Amunt

L'assignatura només es pot aprovar amb el seguiment i la superació de l'avaluació contínua (AC). La qualificació final de l'assignatura és la nota obtinguda a l'AC.


Ponderació de les qualificacions

Opció per superar l'assignatura: AC

Nota final d'assignatura: AC

Amunt

Aquesta assignatura es basa exclusivament en l'avaluació continuada. Al llarg del curs el professor col·laborador publicarà en l'aula un conjunt d'activitats avaluables (PAC). Per a cada mòdul de l'assignatura hi ha una PAC associada. Cal lliurar totes les PAC per poder superar l'assignatura. 

Observació important: El seguiment correcte de l'assignatura compromet a l'estudiant a realitzar les activitats proposades de manera totalment individual i segons les indicacions que pauta aquest Pla Docent. En cas que no sigui així, la nota final de l'assignatura s'avaluarà automàticament amb un 0. D'altra banda, i sempre a criteri dels Estudis, l'incompliment d'aquest compromís pot suposar no permetre a l'estudiant superar cap altra assignatura mitjançant avaluació contínua ni en el semestre en curs ni en els següents.

Amunt

Aquesta assignatura s'avalua exclusivament mitjançant l'avaluació contínua, lliurant totes les PAC, a partir de les quals l'estudiant anirà demostrant que ha seguit la docència i ha entès els conceptes tractats.  

La nota final vindrà donada segons el quadre del model d'avaluació, basat en la nota mitjana de les quatre PAC.

Amunt

Tal com s'ha indicat en la metodologia de l'assignatura, el professor col·laborador us guiarà i orientarà a través del Tauler de l'aula perquè pugui fer un bon seguiment de l'assignatura. També respondrà els dubtes que vagin sortint en el Fòrum de l'aula així com les consultes i comentaris enviats a la bústia personal.  

El professor col·laborador també farà un seguiment personalitzat de l'avaluació contínua, revisarà totes les PAC lliurades i comentarà de forma qualitativa a nivell grupal i / o individual la resolució. Aquests comentaris us ajudaran a progressar en el seu aprenentatge i adquirir el conjunt de les competències.

Amunt