Guía docente de Programación Gráfica de Videojuegos (Especialidad Ingeniería del Software) (29611BB)

Curso 2024/2025
Fecha de aprobación: 25/06/2024

Grado

Grado en Ingeniería Informática

Rama

Ingeniería y Arquitectura

Módulo

Complementos de Ingeniería del Software

Materia

Complementos de Informática Gráfica

Year of study

4

Semestre

1

ECTS Credits

6

Tipo

Optativa

Profesorado

Teórico

Daniel Bolaños Martínez. Grupo: A

Práctico

Alberto Jesús Durán López Grupo: 1

Tutorías

Daniel Bolaños Martínez

Email
  • Primer semestre
    • Lunes de 08:30 a 11:30 (Edificio Auxiliar Etsiit Despacho Común 1.4)
    • Martes de 08:30 a 11:30 (Edificio Auxiliar Etsiit Despacho Común 1.4)
  • Segundo semestre
    • Lunes de 09:00 a 12:00 (Edificio Auxiliar Etsiit Despacho Común 1.4)
    • Martes de 09:00 a 12:00 (Edificio Auxiliar Etsiit Despacho Común 1.4)

Alberto Jesús Durán López

Email
  • Primer semestre
    • Lunes de 10:30 a 13:30 (Edificio Auxiliar Despacho 1.4)
    • Miércoles de 10:30 a 13:30 (Edificio Auxiliar Despacho 1.4)
  • Segundo semestre
    • Lunes de 10:30 a 13:30 (Edificio Auxiliar Despacho 1.4)
    • Miércoles de 10:30 a 13:30 (Edificio Auxiliar Despacho 1.4)

Prerrequisitos y/o Recomendaciones

No es necesario que los alumnos tengan aprobadas asignaturas, materias o módulos previos como requisito indispensable para cursar este módulo. No obstante, se recomienda el haber superado la asignatura Informática Gráfica y conocimientos básicos de geometría afín y espacios vectoriales.

Breve descripción de contenidos (Según memoria de verificación del Máster)

  • Modelado 3D de entornos virtuales.
  • Técnicas de simplificación.
  • Métodos de indexación.
  • Avatares.
  • Frameworks para la programación de videojuegos.

Competencias

Competencias Generales

  • CG03. Capacidad para diseñar, desarrollar, evaluar y asegurar la accesibilidad, ergonomía, usabilidad y seguridad de los sistemas, servicios y aplicaciones informáticas, así como de la información que gestionan.
  • CG05. Capacidad para concebir, desarrollar y mantener sistemas, servicios y aplicaciones informáticas empleando los métodos de la ingeniería del software como instrumento para el aseguramiento de su calidad.
  • CG08. Conocimiento de las materias básicas y tecnologías, que capaciten para el aprendizaje y desarrollo de nuevos métodos y tecnologías, así como las que les doten de una gran versatilidad para adaptarse a nuevas situaciones.
  • CG09. Capacidad para resolver problemas con iniciativa, toma de decisiones, autonomía y creatividad. Capacidad para saber comunicar y transmitir los conocimientos, habilidades y destrezas de la profesión de Ingeniero Técnico en Informática.

Competencias Transversales

  • CT02. Capacidad para tomar decisiones basadas en criterios objetivos (datos experimentales, científicos o de simulación disponibles) así como capacidad de argumentar y justificar lógicamente dichas decisiones, sabiendo aceptar otros puntos de vista. 
  • CT03. Capacidad para el uso y aplicación de las TIC en el ámbito académico y profesional. 
  • CT04. Capacidad de comunicación en lengua extranjera, particularmente en inglés. 
  • CT05. Capacidad de trabajo en equipo, usando competencias demostrables mediante la elaboración y defensa de argumentos. 
  • CT06. Motivación por la calidad y la mejora continua, actuando con rigor, responsabilidad y ética profesional. 
  • CT08. Capacidad para proyectar los conocimientos, habilidades y destrezas adquiridos para promover una sociedad basada en los valores de la libertad, la justicia, la igualdad y el pluralismo. 

Resultados de aprendizaje (Objetivos)

Objetivos formativos particulares

  • Conocer metodologías de desarrollo gráfico de videojuegos.
  • Conocer técnicas, métodos y herramientas de modelado para videojuegos.
  • Saber planificar las técnicas de simplificación óptimas para cada escenario.
  • Conocer las técnicas de visualización y entender su efecto tanto en el realismo como en los requerimientos del sistema.
  • Conocer y saber programar motores gráficos para videojuegos.
  • Conocer los métodos de texturización aplicados a videojuegos .
  • Saber diseñar y aplicar texturas.
  • Saber diseñar y programar avatares.

Objetivos formativos de carácter general (Competencias según BOE de 4 de Agosto de 2009)

  • Ser capaz de desarrollar, mantener y evaluar servicios y sistemas software que satisfagan todos los requisitos del usuario y se comporten de forma fiable y eficiente, sean asequibles de desarrollar y mantener y cumplan normas de calidad, aplicando las teorías, principios, métodos y prácticas de la Ingeniería del Software.
  • Ser capaz de diseñar soluciones apropiadas en uno o más dominios de aplicación utilizando métodos de la ingeniería del software que integren aspectos éticos, sociales, legales y económicos.

Programa de contenidos Teóricos y Prácticos

Teórico

Tema 1. Elementos gráficos básicos de los juegos para ordenador

  • Modelado de objetos de la escena. Terrenos y tableros. Geometría fija.
  • Modelado de objetos con geometría variable. Aplicación de texturas 2D. Generación de atlas de textura.
  • Descripción y modelado de personajes. Modelos jerárquicos. Descripción de la animación de objetos y personajes. Timers y funciones para animación y sincronización del movimiento de personajes. Avatares.
  • Modelos de cámara. Paths y animación de cámaras.
  • Interacción con la escena y los personajes. Interacción entre elementos de la escena: detección de colisiones.

Tema 2. Metodología de diseño e implementación de un juego para ordenador

  • Diseño de escenarios, personajes, animación de objetos y personajes, y storyboard.
  • Análisis de los requisitos del juego. Carga gráfica, modelado, rendering, interacción y simulación.
  • Modelado de escenarios y personajes. Modelado de cámaras. Especificación y diseño de las animaciones y la interacción.
  • Especificación y diseño del simulador físico del juego.
  • Implementación del diseño en una engine concreta.

Tema 3. Técnicas gráficas para proporcionar realismo

  • Texturas 3D. Modelado usando texturas 3D. Generación de texturas 3D a partir de conjuntos de datos volumétricos. Modelado procedural de texturas 3D.
  • Sistemas de partículas. Niebla, humo, fuego, explosiones.

Tema 4. Técnicas de simulación básicas

  • Arquitectura de un simulador.
  • Simulación física. Cinemática, dinámica, choques inelásticos y elásticos.
  • Game physics.
  • Spring systems.

Tema 5. Optimización

  • Simplificación prefijada de geometría de personajes. Técnicas de cirugía topológica.
  • Simplificación adaptativa de la geometría: Variación de resolución (niveles de detalle), impostores, texturización.
  • Indexación de los elementos de la escena.
  • Técnicas de backing store.

Práctico

  • Práctica 1. Descripción y modelado de escenarios en un motor específico para juegos por ordenador.
  • Práctica 2. Descripción y modelado de objetos y personajes. Modelado de la animación de objetos y personajes. Detección de colisiones I.
  • Práctica 3. Incremento del realismo del juego. Texturas 2D y 3D, sistemas de partículas y modelado de fluidos.
  • Práctica 4. Modelado de cámaras. Definición de paths de movimiento de cámaras.
  • Práctica 5. Descripción y modelado de la interacción del usuario con el juego. Descripción y modelado de la interacción de los objetos y personajes entre ellos. Timers y paths de animación. Detección de colisiones II.
  • Práctica 6. Modelado de la simulación física del juego. Comportamiento de objetos y personajes. Comportamiento y reacción frente a interacción objeto- objeto e interacción de usuario y objeto.
  • Práctica 7. Optimizaciones. Simplificación geométrica e indexación de escenarios y objetos.

Seminarios:

  • Seminario práctico 1: Análisis y especificación de los requisitos de un juego para ordenador.
  • Seminario práctico 2: Juego GIIG: Modelado de escenarios y personajes. Modelado de animación.
  • Seminario práctico 3: Juego GIIG: Incrementando el realismo de escenarios y personajes.
  • Seminario práctico 4: Juego GIIG: Modelado de cámaras.
  • Seminario práctico 5: Juego GIIG: Modelado de la interacción.
  • Seminario práctico 6: Juego GIIG: Modelado de la simulación física.
  • Seminario práctico 7: Juego GIIG: Optimizaciones.

Bibliografía

Bibliografía fundamental

  • Michael Morrison, Beginning game programming, SAMS publishing, 2005.
  • Jeannie Novak, Game development essentials : an introduction 3rd ed., Delmar Cengage Learning, 2012.
  • Mike McShaffry, Game coding complete 4th ed, Course Technology PTR, 2013.
  • Chad and Eric Walker, Game Modeling using low polygon techniques, Charles River Media, 2001.
  • Dennis Summers, Texturing: Concepts and techniques, Charles River Media, 2004.

Bibliografía complementaria

  • Schroeder, Ralph. Avatars at Work and Play: Collaboration and Interaction in Shared Virtual Environments [Recurso electrónico] Dordrecht : Springer, 2006.
  • David H. Eberly. 3D game design. Elsevier. ISBN: 978-0-12-229063-3
  • Alan Watt, Fabio Policarpo. Advanced Game Development with Programmable Graphics Hardware. A K Peters, Ltd. ISBN: 156881240X
  • David H. Eberly. Game Physics 2nd de. Elsevier. ISBN: 978-0-12-374903-1

Enlaces recomendados

Metodología docente

  • MD01. Lección Magistral (Clases Teóricas-Expositivas) 
  • MD02. Actividades Prácticas (Resolución de Problemas, Resolución de Casos Prácticos, Desarrollo de Proyectos, Prácticas en Laboratorio, Taller de Programación, Aula de Informática, Prácticas de Campo). 
  • MD03.  Seminarios (Debates, Demos, Exposición de Trabajos Tutelados, Conferencias, Visitas Guiadas, Monografías). 
  • MD04. Actividades no presenciales Individuales. 
  • MD05. Actividades no presenciales Grupales. 
  • MD06. Tutorías Académicas. 

Evaluación (instrumentos de evaluación, criterios de evaluación y porcentaje sobre la calificación final)

Evaluación Ordinaria

El sistema utilizado para la evaluación de esta asignatura en convocatoria ordinaria es bajo la modalidad de evaluación continua, tal y como se describe a continuación.

No es obligatoria la asistencia tanto a teoría como a prácticas, no obstante se recomienda en tanto en cuanto facilita el desarrollo de las competencias de la Asignatura. La no obligatoriedad queda excluida, por motivos obvios, en aquellos días que se realicen actividades calificables que se notificarán a través de la plataforma docente con al menos una semana de antelación.

Como criterio general del cumplimiento de la evaluación continua, el estudiante tiene que llevar a cabo al menos un 80% de todas las actividades propuestas, y que la suma de las calificaciones de las actividades calificables sea igual o superior al 50% de la calificación global de la asignatura.

La calificación global de la asignatura, 10 puntos, se divide en dos partes: 40% para la parte de teoría y 60% para la parte de prácticas. Es necesario superar el 20% de la parte de teoría y el 30% de la parte de prácticas para poder sumar las calificaciones de ambas partes y obtener así la calificación global de la asignatura. La calificación de cada parte se obtendrá como la suma de las puntuaciones obtenidas en las actividades calificables asociadas a cada parte. Si solamente se supera una parte (teoría o prácticas) en la convocatoria ordinaria, la calificación de la parte superada se mantendrá exclusivamente para la convocatoria extraordinaria del curso actual, de forma que el estudiante solamente tendrá que realizar el examen de la parte no superada en la forma establecida en las convocatoria extraordinaria.

Con respecto a la calificación detallada de cada una de las partes, se establece lo siguiente:

El 40% (4 puntos) correspondiente a la parte de teoría se distribuyen de la siguiente forma:

  • 60% corresponden a pruebas objetivas individuales realizadas en el aula.
  • 40% correspondiente a trabajo individual o en grupo para la resolución de ejercicios, problemas y/o trabajos.

El 60% (6 puntos) correspondiente a la parte de prácticas se distribuyen de la siguiente forma:

  • 30% correspondiente a la realización de prácticas en laboratorio en las que se valorarán las entregas de las memorias y programas correspondientes.
  • 70% correspondiente al desarrollo de un proyecto final en el que se valorará la memoria final y el programa correspondiente, el cuál será objeto de evaluación.

Todo lo relativo a la evaluación y calificación se regirá por la “Normativa de Evaluación y Calificación de los Estudiantes de la Universidad de Granada”.

Evaluación Extraordinaria

Tanto en la evaluación en Convocatoria Extraordinaria como en Convocatoria Especial (Art. 21 de la Normativa) se aplicará la misma evaluación que la utilizada en la Evaluación Única Final descrita en el apartado siguiente.

Evaluación única final

Tanto en la modalidad de Convocatoria Extraordinaria, Convocatoria especial y Examen Único Final (este último solo para aquellos estudiantes que cumplan las condiciones establecidas en el Artículo 8 de la Normativa) se realizará un único examen que constará de dos pruebas individuales objetivas: una de teoría y otra de prácticas.

La prueba de teoría supondrá el 40% (4 puntos) de la calificación final y tendrá una estructura similar a la establecida en las pruebas individuales objetivas de teoría descritas en la sección de convocatoria ordinaria (método de evaluación continua).

La prueba de prácticas supondrá el otro 60% (6 puntos) de la calificación final y requerirá el desarrollo en laboratorio de prácticas de un prototipo equiparable al proyecto final desarrollado en la parte práctica de la asignatura, descrito en la sección de convocatoria ordinaria (método de evaluación continua).

La calificación final de este examen será la suma de las calificaciones de teoría y prácticas, siempre que en la parte teórica se obtenga una puntuación igual o superior al 50% de los 4 puntos y en la parte práctica una calificación igual o superior al 50% de los 6 puntos.