Informació general


Tipus d'assignatura: Obligatòria

Coordinador: Juan José Pons López

Trimestre: Segon trimestre

Crèdits: 4

Professorat: 

Ramon Santamaria Pena

Idiomes d'impartició


  • Català
  • Castellano

Els materials podran proporcionar-se tant en català com en castellà 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.

Descripció


L'assignatura introdueix a l'alumne a la programació de jocs 2D. L'eina principal que s'usa és Unity, tot i que l'assignatura es centra més en els conceptes clau del desenvolupament de jocs i no en l'eina específica que s'usa per implementar els exemples i pràctiques.

Durant el desenvolupament de 4 projectes independent s'introdueixen teòricament els conceptes principals a les primeres classes amb petits exemples que els alumnes puguin experimentar. Una vegada explicats els conceptes, els alumnes es dediquen a realitzar el seus projecte, tenint el suport del professor a tot moment durant les classes. Els jocs haurà de lliurar-se dintre del termini i en la forma escaient adequats.

L'exàmen consisteix en implementar de manera pràctica i eòrica conceptes exposats a classe.

 

Continguts


Tema 1: Introducció i física del jugador

1.1 Character Movement

1.2 Física de salts

      1.2.1 Salts verticals

      1.2.2 Salts horitzontals

1.3 Modificació de la gravetat

 

Tema 2: Intel·ligència Artificial

2. 1 Detecció del jugador

     2.1.1 Distància

     2.1.2 Camp de visió

     2.1.3 Obstacles

2. 2 Patroling

   2.2.1 Waypoints

   2.2.2 Detecció de plataformes

   2.2.3 Pathfinding


 

Tema 3: UI & Scriptable Objects

3.1 UI

3. 2 Sistema de diàlegs

    3.2.1 Diàleg sense interacció

    3.2.2 Opcions de diàleg

    3.2.3 Resultat del diàleg

3.3 Inventari

     3.3.1 Afegir objectes a inventari

     3.3.2 Fer servir objectes del inventari

3.4 Botiga

 


Tema  4 Command Pattern

4.1 Store Actions

4.2 Entities

4.3 Undo / Redo

 

Tema  5(extra) Spawning & Procedural Generation

5.1 Generació de mapes

               5.1.1 Grid based dungeons

               5.1.2 Automates cel·lulars

               5.1.3 Random Room placement

               5.1.4 BSP Tree

5.2 Perlin noise

5.3 Object Pooling

Sistema d'avaluació


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

A1. Pràctiques de laboratori: Projecte Videojoc 2D - Joc 1 12.5%

A2. Pràctiques de laboratori: Projecte Videojoc 2D - Joc 2 12.5%

A3. Pràctiques de laboratori: Projecte Videojoc 2D - Joc 3 12.5%

A4. Pràctiques de laboratori: Projecte Videojoc 2D - Joc 3 12.5%

A5. Examen final pràctic i teòric 50%

 

 

Consideracions:

  • Cal obtenir una nota superior a 5 a l’examen final per a aprovar l’assignatura.
  • Cal obtenir una nota superior a 5 a en el promig de les pràctiques per a aprovar l’assignatura.
  • La nota màxima que es pot obtenir en la convocatòria extraordinària serà 5.

  • 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à al director del departament la situació per a que es prenguin mesures aplicables en matèria de règim sancionador.

Bibliografia


Bàsic

https://www.habrador.com/tutorials/programming-patterns/

Learning C# Programming with Unity 3D. Alex Okita.

Tutorial web d'eines de creació de jocs amb el motor Unity (http://unity3d.com/es/learn)

http://gameprogrammingpatterns.com/

Complementary

https://unity3d.college/

Gamma, E., Helm, R., Johnson, R. and Vlissides, J.

Design patterns: Elements of reusable object-oriented software

1995 - Addison-Wesley - Reading, Mass.