Informació general


Tipus d'assignatura: Obligatòria

Coordinador: Juan José Pons López

Trimestre: Tercer trimestre

Crèdits: 4

Professorat: 

Manuel Rello Saltor

Idiomes d'impartició


  • Castellano
  • Català

Les classes de l'assignatura es faran principalment en català, tot i que la bibliografia i el material de suport podran ser en altres llengües (castellà i anglès).

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ón dissenyadors capaços de programar mecàniques i molt probablement de fer-ho en motors de videojocs com Unity3D i 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.

 

Continguts


1. Estructures de dades avançades

1.1 Llistes dinàmiques

1.2 Diccionaris

1.3 Cues i stacks

1.4 Llistes ordenades

2. Programació avançada

2.1. Programació estructurada

2.2. Programació orientada a objectes

2.3 Funcions Lambda

2.4 Programació genèrica

3. Programació gràfica

3.1.Conceptes

3.1.1 Renderitzat 2D 

3.1.2 Bucle de joc: draw i update

3.2. Llibreria SFML

3.2.1. Inputs: active polling i event handling

3.2.2. Sprites

3.2.3. So i text 

4. Programació bàsica amb motor 

4.1. Estructura engine-game-actor

4.2. Actors

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

4.2.2. Interpolacions

4.3. HUD

5. Programació d’eines i comportaments

5.1. Eines del motor

5.1.1 Escena: gestió d’actors

5.1.2. Timers i Spawners

5.1.3. Tilemaps

5.1.4. Viewports i Views

5.1.5 Fonts

5.2. Comportaments

5.2.1. Col·lisions

5.2.2. Steering

5.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:  10%

P1. Pràctica de laboratori 1:  15%

P2. Pràctica de laboratori 2:  15%

EP. Examen Parcial (opcional):  10%

EF. Examen Final:  50% (o 60% si no s'entrega l'examen parcial)

 

Nota final = A1 0,10 + P1  0,15 + P2  0,15 + EP 0,1 + EF 0,5

En cas que l'estudiant no presenti l'exàmen parcial, el càlcul de la nota serà:

Nota final = A1 0,10 + P1  0,15 + P2  0,15 + EF 0,6

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 i sense justificació 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 materia de règim sancionador.

Recuperacions:

  • 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ó.

  • En cas d'aprovar l'assignatura gràcies a l'examen de recuperació, la qualificació màxima serà de 5. 

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.