Información general


Tipo de asignatura: obligatoria

Coordinador: Adso Fernández Baena

trimestre: Segundo trimestre

Créditos: 4

Profesorado: 

Lasse Loepfe
Albert Carrillo Sorolla 

Competencias


competencias básicas
  • B3_Que los estudiantes tengan la capacidad de reunir e interpretar datos relevantes (normalmente dentro de su área de estudio), para emitir juicios que incluyan una reflexión sobre temas relevantes de carácter social, científico o ético

     

  • B4_Que los estudiantes puedan transmitir información, ideas, problemas y soluciones a un público tan especializado como no especializado

     

Competencias específicas
  • V6. Desarrollar videojuegos en lenguajes de programación de alto nivel en motores gráficos a partir de sus especificaciones.

  • V15. Diseñar y planificar estrategias de aseguramiento de la calidad, test y análisis de datos de videojuegos y productos interactivos.

competencias transversales
  • T1_Que los estudiantes conozcan un tercer idioma, que será preferentemente el inglés, con un nivel adecuado de forma oral y por escrito, de acuerdo con las necesidades que tendrán las graduadas y graduados en cada titulación

     

  • T2_Que los estudiantes tengan capacidad para trabajar como miembros de un equipo interidisciplinar ya sea como un miembros más, o realizando tareas de dirección con el fin de contribuir a desarrollar proyectos con pragmatismo y sentido de la responsabilidad, asumiendo compromisos teniendo en cuenta los recursos disponibles

     

Descripción


La asignatura introduce al alumno en la programación de juegos 2D. La herramienta principal que se usa es Unity, aunque la asignatura se centra más en los conceptos clave del desarrollo de juegos y no en la herramienta específica que se usa para implementar los ejemplos y prácticas.

Durante el desarrollo de 3 proyectos independiente introducen teóricamente los conceptos principales en las primeras clases con pequeños ejemplos que los alumnos puedan experimentar. Una vez explicados los conceptos, los alumnos se dedican a realizar sus proyecto, teniendo el apoyo del profesor en todo momento durante las clases. Los juegos deberá entregarse dentro del plazo y en la forma adecuados.

El examen consiste en implementar de forma práctica y eòrica 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 la Covidien-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


Al finalizar la asignatura los estudiantes deben 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.

Metodología de trabajo


La asignatura utiliza las siguientes metodologías de trabajo:

Clase magistral, Cápsulas de vídeo, Resolución de problemas y Laboratorio en grupo reducido.

 

Contenidos


Tema 1: Character Controller

           1.1 Comand Pattern

1.2 Character Movment

1.3 Controller Asignment

 

Tema 2: Físicos & HUD

2. 1 Observer patterno

2. 2 Joints

2. 3 Eventos

 

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 Gradiente Descent

6. 2 IK Logic

 

Tema 7: Combate and Enemies

           7. 1 Finite State Machines

7. 2 Enemy movimiento & Health

7. 3 AI

7. 3. 1 Patrolling donde 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 fecha sheets

8. 6. 2 Localization

8. 6. 3 Dialogue trees

 

Actividades de aprendizaje


Con el objetivo de recoger evidencia del logro de los resultados de aprendizaje esperados se realizarán las siguientes actividades de carácter evaluativo (relacionadas con todas las competencias comunes):

 

Las prácticas tratan de desarrollar un juego de plataformas 2D en el que los alumnos deberán implementar una solución a los problemas que este tipo de juegos plantean y que se explican en clase. El profesorado dejará claras las funcionalidades que debe tener el juego y qué elementos deberá tener. Los alumnos podrán decidir cómo implementarlos y proponer diferentes estrategias (mecánicas, tipos de enemigos, trampas ...) donde se demuestre su habilidad como programadores.

 

A1. Prácticas de laboratorio: Proyecto Juego 2D - Juego 1 (Evidencia del resultado de aprendizaje E6.1 y E6.6)

Físicas + Control jugador + Cámara

A2. Prácticas de laboratorio: Proyecto Juego 2D - Juego 2 (Evidencia del resultado de aprendizaje E6.1 y E6.6)

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

A3. Prácticas de laboratorio: Proyecto Juego 2D - Juego 3 (Evidencia del resultado de aprendizaje E6.1 y E6.6)

Gerneración procedural

A4. Examen final práctico y teórico (Evidencia de todos los resultados de aprendizaje)

 

Criterios generales de las actividades:

  • El profesor presentará un enunciado para cada actividad y los criterios de evaluación y / o rúbricas.
  • El profesor informará de las fechas y formato de la entrega de la actividad.

Sistema de evaluación


La nota de cada alumno se calculará siguiendo los siguientes porcentajes:

A1. Prácticas de laboratorio: Proyecto Juego 2D - Juego 1 15%

A2. Prácticas de laboratorio: Proyecto Juego 2D - Juego 2 15%

A3. Prácticas de laboratorio: Proyecto Juego 2D - Juego 3 15%

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

Nota final = A1 0.15:2 + A0.15 3:0.15 + A4 0.55:XNUMX + AXNUMX XNUMX:XNUMX

 

Consideraciones:

  • Hay que obtener una nota superior a 5 al examen final para aprobar la asignatura.
  • Hay que obtener una nota superior a 5 a en el promedio de las prácticas para aprobar la asignatura.
  • La nota máxima que se puede obtener en la convocatoria extraordinaria será 5.

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

  • Es responsabilidad del alumno evitar el plagio en todas sus formas. En el caso de detectar un plagio, independientemente de su alcance, en alguna actividad corresponderá a tener una nota de 0. Además, el profesor comunicará a la Jefe de estudios la situación para que se tomen medidas aplicables en materia de régimen sancionador .

Bibliografía


Básico

http://gameprogrammingpatterns.com/

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

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

Tutorial web de herramientas de creación de juegos con el motor Unity (http://unity3d.com/es/learn)

Complementario

https://unity3d.college/

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

Design patterns: Elementos of reusable object-oriented software

1995 - Addison-Wesley - Reading, Mass.