Competencias del título |
Código
|
Competencias / Resultados del título
|
A8 |
CE08 - Conocer los fundamentos de la generación de gráficos por computador |
A24 |
CE24 - Conocer la arquitectura y el funcionamiento interno de motores de videojuegos y tener la capacidad de programarlos |
A25 |
CE25 - Analizar, evaluar y optimizar el rendimiento de un videojuego |
B1 |
CB6 - Poseer y comprender conocimientos que aporten una base u oportunidad de ser originales en el desarrollo y/o aplicación de ideas, a menudo en un contexto de investigación |
B2 |
CB7 - Que los estudiantes sepan aplicar los conocimientos adquiridos y su capacidad de resolución de problemas en entornos nuevos o poco conocidos dentro de contextos más amplios (o multidisciplinares) relacionados con su área de estudio |
B3 |
CB8 - Que los estudiantes sean capaces de integrar conocimientos y enfrentarse a la complejidad de formular juicios a partir de una información que, siendo incompleta o limitada, incluya reflexiones sobre las responsabilidades sociales y éticas vinculadas a la aplicación de sus conocimientos y juicios |
B4 |
CB9 - Que los estudiantes sepan comunicar sus conclusiones y los conocimientos y razones últimas que las sustentan a públicos especializados y no especializados de un modo claro y sin ambigüedades |
B5 |
CB10 - Que los estudiantes posean las habilidades de aprendizaje que les permitan continuar estudiando de un modo que habrá de ser en gran medida autodirigido o autónomo |
B6 |
CG1 - Capacidad de organización y planificación, especialmente en el planteamiento de trabajos conducentes a la creación de los contenidos audiovisuales digitales que componen un videojuego |
B7 |
CG2 - Capacidad de resolver problemas de forma efectiva, principalmente de carácter tecnológico y en el campo de la creación de contenidos digitales interactivos |
B8 |
CG3 - Conocimientos informáticos, en especial los relativos al uso de tecnologías y programas de última generación en el campo de estudio |
B10 |
CG5 - Valorar críticamente el conocimiento, la tecnología y la información disponible para resolver los problemas con que deben enfrentarse |
B13 |
CG8 - Capacidad de aplicar los conocimientos en la práctica, integrando las diferentes partes del programa, relacionándolas y agrupándolas en el desarrollo de productos complejos |
C3 |
CT3 - Habilidad para a gestión de la información |
C4 |
CT4 - Capacidad de abstracción, análisis, síntesis y estructuración de la información y las ideas |
C7 |
CT7 - Comprender y valorar la importancia que tiene la investigación, la innovación y el desarrollo tecnológico en la profesión y en el avance socioeconómico y cultural de la sociedad |
C8 |
CT8 - Conocimiento y utilización de las nuevas tecnologías necesarias para el ejercicio de su profesión y para el aprendizaje a lo largo de su vida |
Resultados de aprendizaje |
Resultados de aprendizaje |
Competencias / Resultados del título |
Conocer las principales características de la plataforma hardware sobre la que se ejecuta un videojuego |
AP8
|
BP8 BP10
|
CP3 CP4 CP8
|
Conocer la estructura software de un videojuego y de un motor de videojuegos |
AP8 AP24
|
BP6 BP8 BP10 BP13
|
CP3 CP4 CP8
|
Conocer los aspectos más importantes a la hora de analizar el rendimiento de un videojuego y cómo detectar sus principales cuellos de botella |
AP8 AP24 AP25
|
BP1 BP2 BP3 BP4 BP5 BP6 BP7 BP13
|
CP3 CP4 CP7
|
Aprender a optimizar un videojuego para mejorar su rendimiento en una determinada plataforma |
AP8 AP24 AP25
|
BP6 BP7 BP10 BP13
|
CP3 CP4
|
Contenidos |
Tema |
Subtema |
Introducción: Motivación y perspectiva global |
1. Motivación
2. Rendimiento de un videojuego: introducción
3. Rendimiento en Unreal Engine: Profiling |
Arquitectura de un motor de videojuegos |
1. Introducción
2. Estructura y funcionamiento básico de un videojuego
3. El bucle principal del juego (game loop) |
CPU Profiling |
1. Introducción a la optimización en CPU
2. Profiling de la CPU en Unreal Engine
3. Optimizando el rendimiento de la CPU
4. Profiling con Intel Vtune Amplifier
5. Rendimiento del sistema de almacenamiento secundario (disco) |
Gráficos 3D Interactivos. Fundamentos |
1. Introducción
2. Real-time rendering: conceptos básicos
3. Instanciación
4. Culling
5. Luces y sombras
6. Pases de render |
GPU Profiling |
1. Introducción a la optimización en GPU
2. Profiling de la GPU en Unreal Engine
3. Optimizando el rendimiento de la GPU
4. Vista de optimización en Unreal Engine (optimization view modes) |
Planificación |
Metodologías / pruebas |
Competencias / Resultados |
Horas lectivas (presenciales y virtuales) |
Horas trabajo autónomo |
Horas totales |
Prácticas de laboratorio |
A8 A24 A25 B1 B2 B3 B4 B5 B6 B7 B8 B10 B13 C3 C4 C7 C8 |
9.5 |
50 |
59.5 |
Prueba mixta |
A8 A24 A25 B3 B4 B7 B8 B10 C3 |
1.5 |
0 |
1.5 |
Sesión magistral |
A8 A25 B1 B3 B8 B10 C7 |
9 |
4 |
13 |
|
Atención personalizada |
|
1 |
0 |
1 |
|
(*)Los datos que aparecen en la tabla de planificación són de carácter orientativo, considerando la heterogeneidad de los alumnos |
Metodologías |
Metodologías |
Descripción |
Prácticas de laboratorio |
Sesiones experimentales que permitan al alumno familiarizarse desde un punto de vista práctico cn los contenidos expuestos en las clases teóricas. Incluye tanto tareas dirigidas como otras orientadas a ser resueltas de forma autónoma por el estudiante. |
Prueba mixta |
Prueba en la que el alumno tiene que mostrar haber adquirido las competencias propias de la asignatura a través de la respuesta a preguntas teóricas y de la resolución de problemas. |
Sesión magistral |
Clases teóricas, en las que se expone el contenido de cada tema. El alumno dispondrá de todo el material necesario con anterioridad a la clase, y el profesor promoverá una actitud activa, realizando preguntas que permitan aclarar aspectos concretos y dejando cuestiones abiertas para la reflexión del estudiante. |
Atención personalizada |
Metodologías
|
Prácticas de laboratorio |
|
Descripción |
La atención personalizada estará garantizada en la realización de las prácticas de laboratorio, siendo imprescindible para dirigir al estudiante en el desarrollo de su trabajo. Esta atención personalizada sirve, además, para validar y evaluar el trabajo realizado por el estudiante en las distintas fases de su desarrollo, hasta su finalización.
Estudiantes con matrícula a tiempo parcial y con dispensa académica de exención de docencia: deberán ponerse en contacto con los profesores de la asignatura para establecer las medidas de atención personalizada específicas. |
|
Evaluación |
Metodologías
|
Competencias / Resultados |
Descripción
|
Calificación
|
Prácticas de laboratorio |
A8 A24 A25 B1 B2 B3 B4 B5 B6 B7 B8 B10 B13 C3 C4 C7 C8 |
Realización de prácticas, en las que el alumno tiene que emplear los conocimientos adquiridos para resolver distintos problemas de forma autónoma. |
70 |
Prueba mixta |
A8 A24 A25 B3 B4 B7 B8 B10 C3 |
Prueba en la que el alumno tiene que mostrar haber adquirido las competencias propias de la asignatura mediante la repuesta a preguntas teóricas y la resolución de problemas. |
30 |
|
Observaciones evaluación |
Estudiantes con matrícula a tiempo parcial y con dispensa académica de exención de docencia: deberan ponerse en contacto con el profesorado de la materia para posibilitar la realización de las tareas evaluables fuera de la organización habitual de la misma
|
Fuentes de información |
Básica
|
Joey de Vries (Kendall & Welling, 2020). Learn OpenGL: Learn modern OpenGL graphics programming in a step-by-step fashion. https://learnopengl.com
T. Akenine-Möller, E. Haines, N. Hoffman, A. Pesce, M. Iwanicki, and S. Hillaire (A K Peters/CRC Press, 2018). Real-Time Rendering (4th Ed.). http://www.realtimerendering.com
Oscar Swierad (Self publishing, 2018). Unreal Art Optimization. https://unrealartoptimization.github.io
Documentación en liña do motor Unreal Engine (). Unreal Engine doc: Engine Features->Performance and Profiling. https://docs.unrealengine.com/en-US/Engine/Performance |
De la documentación en línea oficial de UE4 es relevante especialmente el capítulo dedicado a Rendimiento y Optimización, pero el resto de la
documentación también es imprescindible para entender muchos de los aspectos implementados en el motor y sus distintas posibilidades. |
Complementária
|
John L. Hennessy, David A. Patterson (2017). Computer Architecture: A Quantitative Approach (6th Edition). Morgan Kaufmann
Mike McShaffry, David Graham (2012). Game Coding Complete (4th Edition). Cengage Learning PTR
Jason Gregory (2014). Game Engine Architecture (2nd Edition). A K Peters/CRC Press
Robert Nystrom (2014). Game Programming Patterns. Genever Benning |
Se incluyen estos cuatro libros como bibliografía complementaria.
Los tres primeros son específicos del desarrollo de videojuegos y tienen una parte de su contenido dedicada a aspectos de depuración, profiling y rendemento.
El cuarto libro, Hennessy&Patterson, es un clásico de la arquitectura de computadores y puede ayudar a profundizar en temas de explotación de la jerarquía de memoria, multiproceso, etc.
|
Recomendaciones |
Asignaturas que se recomienda haber cursado previamente |
Fundamentos de Gráficos por Computador/730529004 | Programación para Videojuegos/730529008 |
|
Asignaturas que se recomienda cursar simultáneamente |
Programación Avanzada para Videojuegos/730529019 |
|
Asignaturas que continúan el temario |
|
Otros comentarios |
Aunque las clases se desarrollarán en gallego y/o castellano, el material de la asignatura estará, prácticamente en su totalidad, en inglés.
Para ayudar a conseguir un entorno inmediato sostenible y cumplir con el objetivo de la acción número 5, «Docencia e investigación saludable y sustentable ambiental y social», del «Plan de Acción Green Campus Ferrol», la entrega de los trabajos documentales que se realicen en esta materia:
Se solicitarán en formato virtual y/o soporte informático
Se realizará a través de Moodle y/o correo electrónico, en formato digital sin necesidad de imprimirlos
En caso de ser necesaria alguna entrega en papel:
- No se emplearán plásticos
- Se realizarán impresiones a doble cara
- Se empleará papel reciclado.
- Se evitará la impresión de borradores
Se debe de hacer un uso sostenible de los recursos e impulsar la prevención de impactos negativos sobre el medio natural. |
|