Programación Optimizada para Videojuegos
(Curso Académico 2021 - 2022)
Mostrar Todo


Nota informativa: Atendiendo a la normativa de Protección de Datos y propiedad intelectual en la que se limita la publicación de imágenes de terceras personas sin su consentimiento, aquellos que difundan grabaciones de las sesiones de clase sin previo consentimiento de las personas implicadas, serán responsables ante la ley del uso prohibido de las citadas grabaciones.



1. Datos descriptivos de la asignatura
  • Código: 835881106
  • Centro: Escuela de Doctorado y Estudios de Postgrado
  • Lugar de impartición: Escuela de Superior de Ingeniería y Tecnología
  • Titulación: Máster Universitario en Desarrollo de Videojuegos
  • Plan de Estudios: 2018 (publicado en 19-09-2018)
  • Rama de conocimiento: Ingeniería y Arquitectura
  • Itinerario/Intensificación:
  • Departamento/s:
  • Área/s de conocimiento:
    • Ingeniería de Sistemas y Automática
    • Lenguajes y Sistemas Informáticos
  • Curso: 1
  • Carácter:
  • Duración: Primer cuatrimestre
  • Créditos ECTS: 6,0
  • Modalidad de impartición: Semipresencial
  • Horario: Ver horario
  • Dirección web de la asignatura: Ver web de la asignatura
  • Idioma: Castellano e Inglés (0,30 ECTS en Inglés)
2. Requisitos para cursar la asignatura
3. Profesorado que imparte la asignatura

Profesor/a Coordinador/a: JOSE IGNACIO ESTEVEZ DAMAS

General:
Nombre:
JOSE IGNACIO
Apellido:
ESTEVEZ DAMAS
Departamento:
Ingeniería Informática y de Sistemas
Área de conocimiento:
Ingeniería de Sistemas y Automática
Grupo:
Contacto:
Teléfono 1:
922 31 82 63
Teléfono 2:
Correo electrónico:
iestevez@ull.es
Correo alternativo:
Tutorías primer cuatrimestre:
DesdeHastaDíaHora incialHora finalLocalizaciónPlantaDespacho
Todo el cuatrimestre Miércoles 17:00 19:00 Escuela Superior de Ingeniería y Tecnología - Módulo A - AN.4A ESIT 3 P3.034
Todo el cuatrimestre Viernes 10:00 14:00 Escuela Superior de Ingeniería y Tecnología - Módulo A - AN.4A ESIT 3 P3.034
Observaciones: Cualquier cambio en el horario o lugar de tutorías se comunicará a través de la página. https://sites.google.com/a/isaatc.ull.es/joseignacioestevezdamas/: comprobar siempre las incidencias
Tutorías segundo cuatrimestre:
DesdeHastaDíaHora incialHora finalLocalizaciónPlantaDespacho
Todo el cuatrimestre Miércoles 17:00 19:00 Escuela Superior de Ingeniería y Tecnología - Módulo A - AN.4A ESIT 3 P3.034
Todo el cuatrimestre Viernes 10:00 14:00 Escuela Superior de Ingeniería y Tecnología - Módulo A - AN.4A ESIT 3 P3.034
Observaciones: Cualquier cambio en el horario o lugar de tutorías se comunicará a través de la página. https://sites.google.com/a/isaatc.ull.es/joseignacioestevezdamas/: comprobar siempre las incidencias
General:
Nombre:
JESUS ALBERTO
Apellido:
GONZALEZ MARTINEZ
Departamento:
Ingeniería Informática y de Sistemas
Área de conocimiento:
Lenguajes y Sistemas Informáticos
Grupo:
Contacto:
Teléfono 1:
922319188
Teléfono 2:
Correo electrónico:
jaglez@ull.es
Correo alternativo:
Tutorías primer cuatrimestre:
DesdeHastaDíaHora incialHora finalLocalizaciónPlantaDespacho
27-09-2021 22-12-2021 Lunes 17:00 20:00 Escuela Superior de Ingeniería y Tecnología - Módulo A - AN.4A ESIT 2 P2.029
27-09-2021 22-12-2021 Miércoles 17:00 20:00 Escuela Superior de Ingeniería y Tecnología - Módulo A - AN.4A ESIT 2 P2.029
10-01-2022 09-02-2022 Lunes 10:30 13:30 Escuela Superior de Ingeniería y Tecnología - Módulo A - AN.4A ESIT 2 P2.029
10-01-2022 09-02-2022 Miércoles 10:30 13:30 Escuela Superior de Ingeniería y Tecnología - Módulo A - AN.4A ESIT 2 P2.029
Observaciones:
Tutorías segundo cuatrimestre:
DesdeHastaDíaHora incialHora finalLocalizaciónPlantaDespacho
10-02-2022 27-05-2022 Miércoles 11:00 14:00 Escuela Superior de Ingeniería y Tecnología - Módulo A - AN.4A ESIT 2 P2.029
10-02-2022 27-05-2022 Miércoles 17:00 20:00 Escuela Superior de Ingeniería y Tecnología - Módulo A - AN.4A ESIT 2 P2.029
28-05-2022 23-09-2022 Martes 10:00 13:00 Escuela Superior de Ingeniería y Tecnología - Módulo A - AN.4A ESIT 2 P2.029
28-05-2022 23-09-2022 Miércoles 10:00 13:00 Escuela Superior de Ingeniería y Tecnología - Módulo A - AN.4A ESIT 2 P2.029
Observaciones:
4. Contextualización de la asignatura en el plan de estudio
  • Bloque formativo al que pertenece la asignatura: Desarrollo de Videojuegos
  • Perfil profesional:
5. Competencias

Generales

  • CG1 - Comprender los distintos problemas, enfoques, la literatura técnica y las líneas de investigación desarrollados en el ámbito de las disciplinas relacionadas con el diseño y desarrollo de videojuegos
  • CG2 - Capacidad para el análisis de problemas dentro del área del diseño y el desarrollo de videojuegos, así como para identificar las técnicas apropiadas para su resolución

Básicas

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

Específicas

  • DE4 - Capacidad de conocer y comprender cómo funciona el pipeline gráfico y cómo funcionan y se usan las API y librerías de desarrollo de aplicaciones gráficas y multimedia
  • DE5 - Capacidad de conocer y comprender cómo funcionan los motores de videojuegos
  • DE6 - Capacidad para programar aplicaciones multimedia, de tiempo real y/o empotradas; optimizadas según las características del hardware
6. Contenidos de la asignatura

Contenidos teóricos y prácticos de la asignatura

 Tema 1. Tecnología de los computadores, desde el punto de vista  del desarrollo de videojuegos: características en relación con el desarrollo de software eficiente.
 Tema 2. Explotación y limitaciones de los recursos: paralelismo, multithreading y memoria.
 Tema 3. Medición del desempeño y optimización de aplicaciones multimedia y videojuegos.
 Tema 4. Patrones en la programación de videojuegos y su relación con los lenguajes, middleware y servicios del sistema operativo.
 Tema 5. Programación de aplicaciones gráficas en tiempo real: características de las API estándar, el pipeline gráfico desde el punto de vista de las API.
 Tema 6. Programación del pipeline gráfico: geometría, interacción luz - materiales.
 Tema 7. Estrategias de renderizado de escenas 3D en tiempo real, técnicas de aceleración.

Actividades a desarrollar en otro idioma

Al menos el 5% de las actividades formativas requieren el conocimiento de la lengua inglesa. Esto comprende la gestión de la bibliografía (búsqueda y gestión de la información) y la utilización de material didáctico en inglés durante su impartición.
7. Metodología y volumen de trabajo del estudiante

Descripción

La metodología se basará en la resolución práctica de problemas utilizando patrones de programación de uso habitual en la programación de videojuegos. Estos ejercicios se plantearán en las clases presenciales. Su resolución comenzará en estas clases, dejándose algunos aspectos para que el estudiante los trabaje de forma autónoma. Además los estudiantes contarán con material realizado por los profesores que servirá de ayuda para resolver estos problemas de programación. 

Presencialidad adaptada: En el caso de que el tamaño del grupo sea superior a la capacidad de las instalaciones por causa de la situación sanitaria, se tomarán medidas que podrían implicar un sistema rotativo para los alumnos de forma que parte del grupo toma la clase de forma presencial y la otra la puede recibir en streaming y/o mediante sesiones online a convenir con la/el docente. En este caso, los subgrupos se alternarán en la presencialidad.

Actividades formativas en créditos ECTS, su metodología de enseñanza-aprendizaje y su relación con las competencias que debe adquirir el estudiante

Actividades formativas Horas presenciales Horas de trabajo autónomo Total horas Relación con competencias
Clases prácticas (aula / sala de demostraciones / prácticas laboratorio) 27,00 0,00 27,0 [CG1], [CG2], [CB7], [DE4], [DE5], [DE6]
Estudio/preparación de clases teóricas 0,00 20,00 20,0 [CG1], [CB10], [DE4], [DE5], [DE6]
Estudio/preparación de clases prácticas 0,00 10,00 10,0 [CG2], [CB7], [CB10], [DE4], [DE5], [DE6]
Realización de exámenes 3,00 0,00 3,0 [CG1], [CG2], [DE4], [DE5], [DE6]
Realización de trabajos y proyectos 0,00 8,00 8,0 [CG1], [CG2], [CB7], [CB10], [DE4], [DE5], [DE6]
Elaboración y resolución de problemas, ejercicios y/o actividades online 0,00 12,00 12,0 [CB7], [DE4], [DE5], [DE6]
Foros de debate 0,00 6,00 6,0 [CB10]
Realización de prácticas informáticas 0,00 64,00 64,0 [CG1], [CG2], [CB7], [CB10], [DE4], [DE5], [DE6]
Total horas
Total ECTS
8. Bibliografía / Recursos

Bibliografía básica

Akenine-Möller, Tomas, Haines, Eric, Hoffman, Naty. Real-time rendering. A K Peters/CRC Press. Fourth Edition. La edición tercera está disponible como libro físico en la biblioteca de informática.

Nystron, Robert. Game Programming Patterns. Lexington, KY. : Genever Benning, cop. 2014. Un ejemplar físico en la biblioteca de Física y Matemáticas

Luna, Frank. Introduction to 3D Programming with DirectX 12.  MERCURY LEARNING & INFORMATION. 2016

Almeida, Francisco, Giménez Domingo, Mantas J. Miguel, Vidal Antonio. Introducción a la Programación Paralela. Paraninfo. Ejemplares disponibles en la biblioteca de informática.

An Even Easier Introduction to CUDA. The NVIDIA Developer Blog. 
https://devblogs.nvidia.com/even-easier-introduction-cuda/

OpenCL. NVIDIA High Performance Computing. 
https://developer.nvidia.com/opencl

Bibliografía complementaria

Jason Gregory, Jeff Lander, Matt Whiting. Game Engine Architecture. A K Peters/CRC Press

Lapinkski, Pawel. Vulkan Cookbook. Packt Publishing, 2017. Accesible en formato electrónico desde el Punto Q de la Universidad.

Sellers, Graham. Vulkan Programming Guide. 2017, Addison Wesley. Accesible en formato electrónico desde el Punto Q de la Universidad

CUDA C Programming Guide. CUDA Toolkit Documentation. 
https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html

OpenCL Overview. The Open Standard for parallel programming of heterogeneous systems. Kronos Group.  
https://www.khronos.org/opencl/

Otros recursos

9. Sistema de evaluación y calificación

Descripción

La evaluación continua:

Para acceder a este tipo de evaluación, el estudiante debe asistir y participar regularmente en las actividades de la materia. En el caso de que por alguna circunstancia, el estudiante, no pueda acogerse a la evaluación continua, las diferentes partes de la misma pueden ser recuperadas en las diferentes convocatorias a las que tenga derecho, por el procedimiento de recuperación que se describe más abajo.

La evaluación continua se desarrollará del siguiente modo:

Reglas generales:

1. Pruebas objetivas. A lo largo del cuatrimestre se realizarán pruebas objetivas en fechas anunciadas con antelación sobre los diferentes contenidos teóricos de la asignatura. El peso sobre la nota final será del 20%.
2. Resolución de problemas prácticos. Durante el cuatrimestre se encargarán diferentes ejercicios prácticos.  El peso sobre la nota final será del 80%.
3. Las pruebas y trabajos podrán tener carácter "de superación obligatoria" o "de superación no obligatoria".
4. La aplicación de la ponderación sólo será posible si se superan los trabajos con carácter "de superación obligatoria". En caso de no superar alguno de estos trabajos, la nota que aparecerá en el acta será la mayor obtenidoa en los trabajos "de superación obligatoria" suspendidos. Los trabajos "de superación obligatoria" se evaluarán con una nota entre 0 y 10 y será necesario obtener al menos un 5 para considerar que se ha aprobado dicho trabajo.
5. En todo caso, la superación de la asignatura, solo será posible si la calificación final es igual o superior a 5 puntos después de haber aplicado la ponderación descrita. 

En las diferentes convocatorias se podrán recuperar las partes no superadas de la evaluación continua de la forma siguiente:

- Los ejercicios prácticos pendientes deberán ser entregados con antelación a una fecha establecida por los docentes.
- Las pruebas objetivas podrán ser recuperadas en un examen de convocatoria de dificultad similar.
- En las evaluaciones de recuperación se mantienen la misma ponderación y reglas de superación de la asignatura que en la evaluación continua.

La documentación de al menos uno de los ejercicios prácticos desarrollados, se realizará en inglés. La redacción de esta documentación en inglés se evaluará y constituirá un 6.25% de la nota consignada en el apartado "resolución de problemas prácticos", que con la ponderación actual supone un 5% de la nota final.

CONSIDERACIÓN FINAL:
La Evaluación de la asignatura se rige por el Reglamento de Evaluación y Calificación de la Universidad de La Laguna (BOC de 19 de Enero de 2016), o el que la Universidad tenga vigente , además de por lo establecido en la Memoria de Verificación inicial o posteriores modificaciones. 

Estrategia Evaluativa

Tipo de prueba Competencias Criterios Ponderación
Pruebas objetivas [CG1], [CG2], [DE4], [DE5], [DE6] - Concreción en la redacción
- Nivel de conocimientos adquiridos
- Asistencia activa e interés demostrado [en las sesiones presenciales en el aula]
20,00 %
Trabajos y proyectos [CG1], [CG2], [CB7], [CB10], [DE4], [DE5], [DE6] - Adecuación a lo solicitado.
- Nivel de conocimientos adquiridos.
- Nivel de aplicabilidad.
- Asistencia activa e interés demostrado [como
se desenvuelve en las clases prácticas y a la
hora de entregar los trabajos]
80,00 %
10. Resultados de Aprendizaje
El estudiante será capaz de:
- Explicar los problemas de la computación en tiempo real, las técnicas utilizadas para resolverlos y cómo se utilizan en el desarrollo de motores de videojuegos y de aplicaciones multimedia.
- Desarrollar aplicaciones gráficas y multimedia que utilicen las API y librerías de desarrollo que son estándar en la industria.
- Desarrollar aplicaciones multimedia o de tiempo real optimizadas considerando las características del hardware y las restricciones computacionales.
- Testar videojuegos, aplicaciones multimedia o de tiempo real para verificar el cumplimiento de los requisitos de tiempo real y eficiencia.
- Planificar y dirigir las tareas de desarrollo destinadas a cumplir los requisitos de tiempo real y eficiencia de videojuegos, aplicaciones multimedia o de tiempo real.
11. Cronograma / calendario de la asignatura

Descripción

Debido al carácter semipresencial y la organización del desarrollo de la docencia en el máster, está previsto que las clases presenciales se desarrollen en 10 semanas del primer cuatrimestre. Estas 10 semanas se imparte al final del cuatrimestre. En todo caso, el cronograma que se presenta es estimativo, de modo que el profesorado podrá modificar dicha planificación temporal si así lo demanda el desarrollo de la asignatura.

Primer cuatrimestre

Semana Temas Actividades de enseñanza aprendizaje Horas de trabajo presencial Horas de trabajo autónomo Total
Semana 1: La asignatura se imparte en las últimas 10 semanas del cuatrimestre 0.00 0.00 0.00
Semana 2: La asignatura se imparte en las últimas 10 semanas del cuatrimestre 0.00 0.00 0.00
Semana 3: La asignatura se imparte en las últimas 10 semanas del cuatrimestre 0.00 0.00 0.00
Semana 4: La asignatura se imparte en las últimas 10 semanas del cuatrimestre 0.00 0.00 0.00
Semana 5: La asignatura se imparte en las últimas 10 semanas del cuatrimestre 0.00 0.00 0.00
Semana 6: Tema 1, Tema 2 Clase práctica. Realización de trabajos y proyectos.  2.00 7.00 9.00
Semana 7: Tema 2 Clase práctica. Realización de trabajos y proyectos. 3.00 12.00 15.00
Semana 8: Tema 2 Clase práctica. Realización de trabajos y proyectos.  3.00 12.00 15.00
Semana 9: Tema 2, Tema 3 Clase práctica. Realización de trabajos y proyectos. 3.00 12.00 15.00
Semana 10: Tema 3 Clase práctica. Realización de trabajos y proyectos.  3.00 12.00 15.00
Semana 11: Tema 4. Tema 5. Clase práctica. Realización de trabajos y proyectos. Prueba objetiva 3.00 12.00 15.00
Semana 12: Tema 5. Tema 6. Clase práctica. Realización de trabajos y proyectos. 3.00 12.00 15.00
Semana 13: Tema 5. Tema 6 Clase práctica. Realización de trabajos y proyectos. 3.00 12.00 15.00
Semana 14: Tema 6. Tema 7. Clase práctica. Realización de trabajos y proyectos 3.00 12.00 15.00
Semana 15: Tema 7 Clase práctica. Realización de trabajos y proyectos. Prueba objetiva. 3.00 12.00 15.00
Semana 16 a 18: Evaluación y entrega de proyectos Evaluación y entrega de proyectos 1.00 5.00 6.00
Total 30.00 120.00 150.00
Fecha de última modificación: 22-06-2021
Fecha de aprobación: 09-07-2021