Programación Optimizada para Videojuegos
(Curso Académico 2022 - 2023)
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:
Teoría y Prácticas
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/ull.edu.es/iestevez 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/ull.edu.es/iestevez 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:
Teoría y Prácticas
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-2022 29-01-2023 Martes 11:00 14:00 Escuela Superior de Ingeniería y Tecnología - Módulo A - AN.4A ESIT 2 P2.029
27-09-2022 29-01-20223 Jueves 11:00 14:00 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
30-01-2023 24-05-2023 Miércoles 11:00 14:00 Escuela Superior de Ingeniería y Tecnología - Módulo A - AN.4A ESIT 2 P2.029
30-01-2023 24-05-2023 Miércoles 17:00 20:00 Escuela Superior de Ingeniería y Tecnología - Módulo A - AN.4A ESIT 2 P2.029
25-05-2022 31-07-2023 Martes 10:00 13:00 Escuela Superior de Ingeniería y Tecnología - Módulo A - AN.4A ESIT 2 P2.029
25-05-2023 31-07-2023 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

El siguiente temario incluye una relación de conceptos. Dada la dimensión temporal de la asignatura no se espera atender en profundidad cada concepto o técnica, pero sí al menos experimentar las ideas principales en la realización de los proyectos y discutir las ventajas y desventajas de las técnicas en las clases.  En cualquier caso, hay dos conceptos principales que se trabajarán de forma más detallada en la asignatura. Estos serían: el pipeline gráfico y su programación, y los principales patrones de programación en los videojuegos.

Tema 1. Tecnología de los computadores, desde el 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), utilización de material didáctico en inglés durante su impartición y la redacción de informes de proyectos 
7. Metodología y volumen de trabajo del estudiante

Modelo de Enseñanza Centrada en el Alumnado

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. Los ejercicios a resolver se presentarán de forma progresiva, de manera que el estudiante pueda ir avanzando en el proyecto considerando las dificultades de manera aislada, favoreciendo el aspecto didáctico. Estos ejercicios guiarán al estudiante en la realización de un proyecto único, dividido en dos partes que denominaremos proyecto 1 y proyecto 2, entendiéndose que el proyecto 2 es una fase de desarrollo posterior que se realiza sobre el proyecto 1 para mejorar sus funcionalidades, prestaciones y calidad de la programación. 

En la asignatura se presentan dos opciones de seguimiento de la misma, basadas en tecnologías diferentes. Una de las opciones, se basará en un API Gráfico más simplificado, y está destinada a aquellos estudiantes con menos experiencia en el mundo de la programación gráfica. En este caso se sacrifica la eficiencia frente a los aspectos didácticos, principales de la asignatura como son el pipeline gráfico y determinados patrones de programación. Por otra parte, se ha creado material para seguir la asignatura y realizar los proyectos con un API que se considere el estado del arte. Este API será de un nivel mucho más bajo y complejo, ya que expondrá al programador aspectos que permiten realizar optimizaciones importantes a bajo nivel. Esta línea podrá ser seguida por aquellos estudiantes con un mayor nivel de programación de gráficos.

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 [DE6], [DE5], [DE4], [CB7], [CG2], [CG1]
Estudio/preparación de clases teóricas 0,00 20,00 20,0 [DE6], [DE5], [DE4], [CB10], [CG1]
Estudio/preparación de clases prácticas 0,00 10,00 10,0 [DE6], [DE5], [DE4], [CB10], [CB7], [CG2]
Realización de exámenes 3,00 0,00 3,0 [DE6], [DE5], [DE4], [CG2], [CG1]
Realización de trabajos y proyectos 0,00 8,00 8,0 [DE6], [DE5], [DE4], [CB10], [CB7], [CG2], [CG1]
Elaboración y resolución de problemas, ejercicios y/o actividades online 0,00 12,00 12,0 [DE6], [DE5], [DE4], [CB7]
Foros de debate 0,00 6,00 6,0 [CB10]
Realización de prácticas informáticas 0,00 64,00 64,0 [DE6], [DE5], [DE4], [CB10], [CB7], [CG2], [CG1]
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 de la asignatura se rige por el Reglamento de Evaluación y Calificación (REC) de la Universidad de La Laguna (Boletín Oficial de la Universidad de La Laguna de 23 de junio de 2022), o el que la Universidad tenga vigente, además de por lo establecido en la Memoria de Verificación o Modificación vigente. En virtud de dicho reglamento, todo el alumnado está sujeto a evaluación continua en la primera convocatoria de la asignatura, salvo el que se acoja a la evaluación única, lo que tendrá que ser comunicado por el propio alumnado en el plazo de un mes a partir del inicio del cuatrimestre correspondiente (ver art. 5.4 del REC), o transcurrido ese mes solo por circunstancias sobrevenidas (ver art. 5.5 del REC).

Evaluación Continua

La evaluación continua se basa en dos pruebas objetivas y la entrega de dos proyectos prácticos. Cada una de las dos prueba objetiva tiene una ponderación del 10% sobre la nota final, mientras  cada proyecto es ponderado en la nota final por un 40%, aunque es importante aclarar que esta ponderación solo se realiza si se cumplen los requisitos R1 y R2 que se enumeran más abajo.

Las pruebas objetivas se centran en la teoría de la asignatura, mientras que los proyectos evalúan la parte práctica.  Denominamos nota de teoría a la media de la nota de las pruebas objetivas y nota de prácticas a la nota media de los proyectos prácticos. La superación de la asignatura por evaluación continua será posible solo si se cumplen los siguientes requisitos:

R1. La nota mínima obtenida entre las calificaciones de las pruebas objetivas es igual o superior a un 4.0 y la nota de teoría es igual o superior a 5.0
R2. La nota mínima obtenida entre las calificaciones de los proyectos es igual o superior a 4.0 y la nota  de prácticas es igual o superior a 5.0  

Si se cumplen ambos requisitos la nota final se obtiene ponderando con un 20% la nota de teoría y con un 80% la nota de prácticas.

Agotamiento de la Evaluación Contínua:

En caso de no cumplir con alguno de los requisitos anteriores, la calificación dependerá del número de actividades evaluables presentada, ya que  conforme al artículo 4.7 del REC “se entenderá agotada la convocatoria desde que el alumnado se presente, al menos, a las actividades cuya ponderación compute el 50 % de la evaluación continua, salvo en los casos recogidos en el artículo 5.5". Por lo tanto, una vez realizado cualquier conjunto de actividades cuya suma de ponderaciones alcance el 50% supone el agotamiento de la evaluación continua de la asignatura. Una vez agotada la evaluación continua la calificación en el acta no podrá ser "No presentado".

Por lo tanto:

- Si el estudiante ha presentado actividades evaluables que acumuladas suman menos del 50% de la ponderación, la calificación será No Presentado.
- Si no se da la circunstancia anterior, la calificación será Suspenso, con la nota resultante del mínimo entre 4,0 y la nota global obtenida aplicando la ponderación a las actividades presentadas.

Evaluación única

La evaluación única se realiza con una parte teórica y una parte práctica. Los estudiantes que cumplan unos requisitos mínimos que se detallan a continuación obtendrán una calificación ponderada entre la parte teórica que pesa un 20% y la parte práctica que pesa un 80%. Además, la evaluación alternativa en la evaluación única de estas partes puede suplirse con las actividades evaluativas correspondientes ya realizadas en su caso durante la evaluación contínua o entregadas en convocatorias o llamamientos anteriores, conforme a las siguientes reglas:

a) Nota de la parte teórica
- La nota de la parte teórica puede obtenerse en la evaluación única por la calificación obtenida en una prueba de examen teórico de la evaluación única realizada en la misma convocatoria, o en convocatorias o llamamientos pasados dentro del mismo curso. 
- El estudiante se libera de hacer la parte del examen teórico de evaluación única que se corresponda con alguna prueba objetiva de evaluación continua, convocatoria o llamamiento anterior dentro del presente curso, si en dicha prueba teórica el estudiante obtuvo una nota mínima de 4.0.  La nota de esa parte del examen se corresponderá con la nota ya obtenida en esa parte.
- Lo anterior, no exime de la necesidad de obtener al menos un 5.0 como promedio de las partes evaluadas para superar la parte teórica. 

b) Nota de la parte práctica
- La nota de la parte práctica puede suplirse por la nota de prácticas de la evaluación contínua,  evaluación única en convocatoria  o llamamiento anterior, dentro del presente curso si en la misma se superó el requito R2.
- En el que caso de que la nota de la parte práctica no pueda suplirse con la nota de prácticas de evaluación continua, el estudiante deberá realizar, completar o corregir aquellos proyectos no entregados  o cuya calificación fue inferior a 5.0 en la evaluación contínua o en convocatorias y llamamientos anteriores.
- Si con las consideraciones anteriores se cumple el requisito R2,  la nota de la parte práctica en la presente evaluación única, se computará como el promedio de las notas de los proyectos entregables.
- Si el estudiante se presenta a la evaluación única y no cumple con la condición R2 en los proyectos,  su nota de prácticas será  la nota más alta por debajo de 5.0 entre las siguientes: el promedio entre los proyectos, entendiendo que los proyectos no entregados puntúan con un 0.0 y  la mayor nota de los proyectos entregados si esta está por debajo de 5.0

Los requisitos para aplicar la ponderación en evaluación única son:
RU1) Haber obtenido al menos un 5.0 en la nota de la parte teórica.
RU2) Haber obtenido al menos un 5.0 en la nota de la parte práctica.

En el caso de que el estudiante que se haya presentado a la evaluación única no cumpla con estos requisitos, la calificación final será Suspenso, y la nota será la mayor nota por debajo de 5.0 entre la nota de la parte práctica y la nota de la parte teórica. 

Evaluación del idioma extranjero

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.

 

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 [CB7], [CG1], [CG2], [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. Es importante resaltar lo siguiente en relación con el agotamiento de la convocatoria de evaluación continua. Puesto que cada proyecto pondera por un 40% y cada prueba objetiva por un 20% , en el momento que entregues un proyecto y hagas una prueba objetiva, lo que está previsto que suceda hacia la mitad de la asignatura,  habrás consumido un 60% de la ponderación, con lo que se agotará la convocatoria de evaluación continua y ya no podrás salir en esta convocatoria cono No Presentado, sino que tendrás que tener una calificación. 

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 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. Entrega de Proyecto 1.
(*** NOTA IMPORTANTE: En el momento en que se realice la entrega el proyecto 1 que pondera por un 40% y se realice la prueba objetiva prevista que pondera por un 20%, se habrá superado el 50% de la ponderación de la asignatura, por lo que si haces estas entregas la convocatoria de evaluación continua se da por agotada y ya no podrás salir como NO PRESENTADO) 
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 proyecto 2 Evaluación y entrega de proyectos 1.00 5.00 6.00
Total 30.00 120.00 150.00
Fecha de última modificación: 03-07-2022
Fecha de aprobación: 11-07-2022