Información general


Idiomas de impartición


  • Català
  • Castellano

Los materiales so pueden proporcionar en catalán, castellano o inglés

Descripción


La asignautura introduce al alumno a la programación de juegos en 2D. La herramienta prinipal que se usa és Unity, aunque la asignatura se centra más en los conceptos claves del desarollo de juegos y no en la herramienta especifica que se usa para implementar los ejercisios y prácticas.

Mediante el desarollo de 3 projectos independientes se introducen teóricamente los conceptos principales con ejemplos y ejercicios en clase. Una vez explicados, los alumnos se dedican a aplicar dichos conceptos en sus projectos, teniendo el soporte del profesor durante las clases. Los juegos se tienen que entregar puntualmente y en format adecuado.

El exmanen consiste en implementar de mandera pràctica y teórica los conceptos expuestos en clase.

 

Esta asignatura dispone de recursos metodológicos y digitales para hacer posible su continuidad en modalidad no presencial en el caso de ser necesario por motivos relacionados con el Covid-19. De esta forma se asegurará la consecución de los mismos conocimientos y competencias que se especifican en este plan docente.

Resultados de aprendizaje


En acabar la asignatura los estudiantes han de ser capaces de:

E6.1. Diseñar la arquitectura del software de un videojuego de acuerdo a unas especificaciones.

E6.6. Desarrollar videojuegos 2D y 3D (o partes del mismo) en lenguajes de alto nivel sobre plataformas y motores destinados a tal efecto.

Metodologia de trabajo


La asignatura utiliza estos métodos de trabajo:

Classe magistral, Cápsulas de vídeo, Resolución de problemas i Laboratori en grupo reducido.

Contenidos


Tema 1: Character Controller

           1.1 Comand Pattern

1.2 Character Movment

1.3 Controller Assignment

 

Tema 2: Físics & HUD

2. 1 Observer pattern

2. 2 Joints

2. 3 Events

 

Tema 3: Camera

3. 1 Camera Follow

           3, 2 Camera Shake

3. 3 Smoothing

3. 4 Game Loop

3. 5 Coroutines

 

Tema 4: SOLID Principles

 

 

Tema 5: Physics for dynamic platformer environments

 

5. 1 Jumping

5. 2 Wall Bouncing

 

Tema 6: IK

6. 1 Gradient Descent

6. 2 IK Logic

 

Tema 7: Combat and Enemies

           7. 1 Finite State Machines

7. 2 Enemy movement & Health

7. 3 AI

7. 3. 1 Patrolling on platforms

7. 3. 3 Edge detection

7. 3. 4 Player detection

7. 3. 5 Behavioral trees

Tema  8 Spawning & Procedural Generation

           9. 1 Prototype Pattern

           9. 2 Factory Pattern

           9. 3 Pooling

           9. 4 World Generation

 

Tema 9: GUI & Dialogue System

8. 2 Juicy UI animations

8. 3 GUI Architecture

8. 4 Custom Event system

           8. 5 Dialog System

8. 6. 1 External data sheets

8. 6. 2 Localization

8. 6. 3 Dialogue trees

Actividades de aprendizaje


Con el objetivo de recoger evidéncia de aconseguir los resultados de aprendizaje se realizaran las siguientes actividades de carácter evaluativo (relacionadas con todas las competéncias comunes):

Las prácticas se trantan de desarollar 3 juegos en 2D en los cuales los alumnos han de implementar una solución a los problemas que este tipo de juegos plantean y que se explican a clase. El profesorado deja claro las funcionalidades y elementos que tiene que tener cada juego. Los alumnos podrán decidir como implementarlos, siempre siguiendo los patrones de diseño expuestos en clase, y proponer diferentes estratégias, mecánicas, tipos de enemigos, trampas, etc donde demuestran su habilidad como programadores,

A1. Practicas de laboratori: Projecto Videojuego2D - Juego 1 (Evidència del resultat d’aprenentatge E6.1 i E6.6)

Físicas+ Control jugador+ Cámera

A2. Practicas de laboratori: Projecto Videojuego2D - Juego 2 (Evidència del resultat d’aprenentatge E6.1 i E6.6)

Físicas de platformer+  IA Enemigos+ Sistema de diálogos

A3.Practicas de laboratori: Projecto Videojuego2D - Juego 3 (Evidència del resultat d’aprenentatge E6.1 i E6.6)

Gerneración procedural

A4. Examen final práctic i teórico (Evidència de tots els resultats d’aprenentatge)

 

Criterios generales de las actividades:

  • El professor presentará un anunciao para cada activitad y los critérios de evaluación y/o rúbricas.
  • El professor informará de las fechas y formato de las entregas de las actividades.

Sistema de evaluación


La nota de cada alumno es calculará seguinedo estos porcentajes:

A1.Practicas de laboratori: Projecto Videojuego2D - Juego 1 15%

A2. Practicas de laboratori: Projecto Videojuego2D - Juego 2 15%

A3. Practicas de laboratori: Projecto Videojuego2D - Juego 3 15%

A4. Examen final práctico y teórico 55%

Nota final = A1 0.15 + A2 0.15 + A3 0.15 + A4 0.55

 

Consideraciones:

 

  • Hay que obtener una nota suerior al 5 al examen final para aprovar la asigantura.
  • Hay que obtener una nota suerior al 5 en el promedio de las prácticas para aprovar la asigantura.
  • La nota máxima que se puede obtener en la convocatória extraordinária será 5.

  • Una activitad no entregada o entregada con retraso sin justificación (citación judicial o asunto médico) cuenta como un 0.

  • Es responsabilitad del alumno/a evitar el plagio en todas sus formas. En el caso de detectar un plagio, independentmente de su alcance, en alguna activitad correspondrá a tenir una nota de 0. Además, el professor comunicará a al coordinador de estudios la situación para que tome medidas aplicables en matéria de regimen sancionador.

Bibliografía


Básica

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/

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


Complementaria

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

Design patterns: Elements of reusable object-oriented software

1995 - Addison-Wesley - Reading, Mass.

https://unity3d.college/