Informació general


Tipus d'assignatura: Obligatòria

Coordinador: Juan José Pons López

Trimestre: Tercer trimestre

Crèdits: 4

Professorat: 

Marco Antonio Rodríguez Fernàndez

Idiomes d'impartició


  • Català
  • Castellano

Les classes de l’assignatura es faran principalment en català, tot i que la bibliografia, la documentació i els materials de suport estaran majorment en angles.

L'aula (física o virtual) és un espai segur, lliure d'actituds masclistes, racistes, homòfobes, trànsfobes i discriminatòries, ja sigui cap a l'alumnat o cap al professorat. Confiem que entre totes i tots puguem crear un espai segur on ens puguem equivocar i aprendre sense haver de patir prejudicis d'altres.

Competències


Competències específiques
  • E7. Desenvolupar videojocs en llenguatges interpretats per a prototipar la jugabilitat, l'experiència d'usuari i el balanceig.

  • E9. Dissenyar i desenvolupar curtmetratges d'animació 2D.

Competències generals
  • G2. Resoldre problemes complexos del seu àmbit laboral, mitjançant l'aplicació dels seus coneixements, l'elaboració d'arguments i procediments, i l'ús d'idees creatives i innovadores.

  • G3. Reunir i interpretar dades rellevants (normalment dins de la seva àrea d'estudi) per emetre judicis que incloguin una reflexió sobre temes rellevants d'índole social, científica o ètica.

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ó


El nou perfil de dissenyador ha d'adquirir nocions de programació, matemàtiques i física per adaptar-se a aquests nous requeriments del desenvolupament de videojocs.

A l'inici de l'assignatura de Programació II, els alumnes ja són capaços de resoldre certs problemes amb l'ús d'estructures de control i d'emmagatzemar informació en variables i contenidors de dades (impartit en Fonaments de la Programació), i també tenen clars els conceptes d'encapsulació, polimorfisme i l'enviament de missatges entre els diferents objectes en el paradigma orientat a objectes (impartit en Programació I). El llenguatge vehicular entre les assignatures de programació ha estat C# i per no desfocalizar als alumnes, ha de seguir sent-ho en les altres assignatures de programació del primer any.

Programació II és el primer apropament dels alumnes a la programació aplicada als videojocs. Tot i que l'objectiu del grau és formar dissenyadors capaços de programar mecàniques i molt probablement de fer-ho sobre motors de videojocs com Unity3D o Unreal Engine, l’aprenentatge s'ha de centrar en forjar una base de resolució de problemes de disseny mitjançant algoritmes més que en aprendre una eina o motor en concret. Per aquest motiu a la present assignatura l’alumnat treballarà amb una llibreria gràfica i construiran des de zero les estructures de joc necessàries i un motor de joc senzill.

Continguts


1. Programació avançada

1.1 Programació estructurada vs orientació a objectes

1.2 Funcions lambda

1.3 Funcions genèriques

2. Programació gràfica

2.1.Conceptes

2.1.1 Renderitzat 2D 

2.1.2 Bucle de joc: draw i update

2.2. Llibreria SFML

2.2.1. Inputs: active polling i event handling

2.2.2. Sprites

2.2.3. So i text 

3. Programació bàsica amb motor 

3.1. Estructura engine-game-actor

3.2. Actors

3.2.1. Moviment: rotació, direcció, velocitat i acceleració

3.2.2. Interpolacions

3.3. HUD

4. Programació d’eines i comportaments

4.1. Eines del motor

4.1.1 Escena: gestió d’actors

4.1.2. Timers i Spawners

4.1.3. Tilemaps

4.1.4. Viewports i Views

4.1.5 Fonts

4.2. Comportaments

4.2.1. Col·lisions

4.2.2. Steering

4.2.3. FSM

Sistema d'avaluació


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

A1. Exercicis a realitzar a classe o a casa:  14%

A2. Pràctica de laboratori 1:  12%

A3. Pràctica de laboratori 2:  12%

A4. Pràctica de laboratori 3:  12%

A5. Examen Final:  50% 

 

Nota final = A1 0,14 + A2 0,12 + A3 0,12 + A4 0,12 + A5 0,5

 

Consideracions:

  • Cal obtenir una nota igual o superior a 5 al examen final per a poder aprovar l’assignatura.

  • Una activitat no entregada o lliurada amb retard compta com un 0.

  • És responsabilitat de l’alumne evitar el plagi en totes les seves formes. En el cas de detectar plagi, independentment del seu abast, en alguna activitat correspondrà a tenir una nota de 0. A més el professor comunicarà a la cap d’estudis la situació per a que es prenguin mesures aplicables en matèria de règim sancionador.

  • L'assistència a les pràctiques de laboratori és obligatòria.
  • L’examen de recuperació tan sols recupera la nota del examen final. L'alumne amb un NP a l'examen final no podrà presentar-se al examen de recuperació.

La identificació de plagi es considera una circumstància greu que pot comportar una qualificació de suspens a una activitat. En cas de detecció de plagi s’informarà a la coordinació del grau per tal que es puguin prendre les mesures disciplinàries corresponents. 

Bibliografia


Bàsic

Moreira, A., Haller, J., & Hansson, H. V. (2013). SFML game development. Packt Publishing

Complementary

Buckland, M. (2005). Programming game AI by example. Jones & Bartlett Learning.