Programación gráfica Código:  B2.505    :  6
Consulta de los datos generales   Descripción   La asignatura en el conjunto del plan de estudios   Campos profesionales en el que se proyecta   Conocimientos previos   Información previa a la matrícula   Objetivos y competencias   Contenidos   Consulta de los recursos de aprendizaje de la UOC para la asignatura   Informaciones sobre la evaluación en la UOC   Consulta del modelo de evaluación  
Este es el plan docente de la asignatura para el primer semestre del curso 2024-2025. Podéis consultar si la asignatura se ofrece este semestre en el espacio del campus Más UOC / La universidad / Planes de estudios). Una vez empiece la docencia, tenéis que consultarlo en el aula. El plan docente puede estar sujeto a cambios.

Los motores integrados de videojuegos, como puede ser Unity, nos proporcionan un entorno de trabajo a partir del cual llevar a cabo en desarrrollo de nuestros proyectos. Sin embargo, el código que generamos son básicamente scripts que el motor se encarga de gestionar y ejecutar intermanente. En ningún momento nuestro código fuente se está compilando directamente en formato ejecutable. A su vez, el grado de abstracción que proporcionan oculta algunos de les aspectos básicos de la representación de elementos gráficos en pantalla o de la gestión de la entrada. Sin embargo, un buen desarrollador de videojuegos deberías ser capaz de crear un proyecto sin la necesidad de este tipo de herramientas, en caso que sea requerido.  Por ejemplo, mediante el uso de sistemas gráficos abiertos como puede ser OpenGL.

Esta asignatura se propone enseñaros como crear un videojuego cuando no nos apoyamos de un motor como puede ser Unity. Solo con un compilador de C/C++, un editor de texto y las bibliotecas adecuadas esta tarea. A fin de cuentas, así es como se desarrollaban los videjuegos antes de la existenca de entornos integrados de trabajo. Desde la perspectiva docente, esto nos permite ver como funciona a todo nivel interno, entrando en la "caja negra". Desde la perspectiva de desarrollador, esto nos será útil de cara a disponer de un grado de independencia tecnológica en nuestros proyectos.

Concretamente, en los primeros compases nos basaremos en la biblioteca "raylib", desarrollada con un objectivo claramente educativo para facilitar la comprensión de todos los conceptos básicos asociados al uso de OpenGL. Esto es muy importante, ya que se trata de un sistema gráfico muy complejo, con una gran curba de aprendizaje. Una vez dominadas las bases, entonces sí que nos adentraremos plenamente en la programación con OpenGL 3.3 Core.

Amunt

Esta asignatura corresponde al bloque asignaturas comunes de la especialización de programación avanzada, cursada durante el tercer semestre del máster.

  • Programación gráfica
  • Motores 2D y 3D
  • Programación de efectos visuales

Si bien en todas ellas se trabaja de un modo u otro con aspectos vinculados a la visualización de los elementos gráficos de un videojuego en pantalla, esta proporciona la visión principal, enfocada en el uso de sistemas gráficos como OpenGL.

Amunt

Principalmente, las vinculadas al desarrollo de videojuegos (Game Programmer, Lead Programmer), ya sea en una gran empresa, freelance, o simplemente los amantes de los videojuegos interesados en desarrollar sus propios proyectos personales.

Amunt

Se presupone que el estudiante dispone de conocimientos sólidos de programación en C y C++, así como en entornos de trabajo asociados a estos lenguajes. Para el caso de esta asignatura, se trabaja con el compilador MinGW y basta usar un editor simple de textos (como Notepad++).

Amunt

Esta es una asignatura muy exigente que requiere que el estudiante disponga de conocimientos sólidos de programación en los lenguajes C y C++. Si no se ha trabajado en estos lenguajes, al menos se debería haber trabajado en otros con sintaxis parecida y sentirse capaz a la hora de trabajar con aspectos de programación como estructuras de datos complejas, lógica de punteros y orientación a objetos.

Amunt

Las competencias generales del Máster que se ponen de manifiesto en esta asignatura son:

  • [CT2] Capacidad para el aprendizaje autónomo.
  • [CT3] Comprensión y expresión en inglés técnico.

Las competencias específicas de esta asignatura son:

  • [CE2] Capacidad para dominar las distintas herramientas aplicables en el entorno del desarrollo de videojuegos según las tendencias tecnológicas.
  • [CE3] Capacidad para el uso efectivo de los lenguajes de programación y metodologías para el desarrollo de videojuegos.
  • [CE6] Capacidad para representar elementos visuales y sus interacciones de manera eficiente.
  • [CE8] Capacidad para usar los fundamentos matemáticos y físicos necesarios para el desarrollo de un videojuego

Finalmente, los objetivos específicos de la asignatura son:

  • Conocer las funcionalidades y posibilidades de las librerías raylib y rlgl.
  • Conocer el ciclo de vida de ejecución de un videojuego.
  • Saber gestionar la entradas (keyboard, mouse, gamepad) en un videojuego.
  • Saber dibujar formas básicas y crear transiciones entre escenas.
  • Saber cargar imágenes y generar texturas.
  • Ser capaz de comprobar y resolver colisiones.
  • Cargar mapas de tiles y datos de niveles.
  • Cargar y reproducir sonidos y música.

Amunt

La asignatura se articula a través de tres proyectos, o "retos", en cada uno de los cuales se trabaja un tipo de videojuego distinto. La característica principal del formato de los contenidos es que se encuentran publicados en GitHub, hipervinculados con todos los recursos necesarios para llevarlos a cabo paso a paso. A su vez, estos contenidos se encuentran escritos en inglés, de acuerdo con la competencia [CT3] que se trabaja en esta asignatura.

RETO 1. El juego BLOCKS

  • Funcionalidad básica de raylib.
  • Gestion de escenas y ciclo de vida de un videojuego.
  • Dibujado de formas básicas (circulo, rectangulo).
  • Gesión de entradas (keyboard, mouse).
  • Detección y resolución de colisiones.
  • Carga y dibujo de texturas.
  • Carga y dibujo de fuentes.
  • Carga y reproducción de audio.

RETO 2. El juego DUNGEON 2D

  • Creación y gestión de ventanas.
  • Inicialización de contexto y carga de extensiones.
  • Gestión de entradas (teclado, raton).
  • Definición de formas básicas.
  • Carga de imágenes y texturas.
  • Carga del tilemap desde texto.
  • Detección de colisiones.

RETO 3. El juego MAZE 3D

  • Funcionalidades de OpenGL.
  • Gestión de la entrada (gamepad).
  • Carga de imágenes y texturas.
  • Carga y generación de nivel.
  • Carga y dibujo de modelos 3d.
  • Sistema de cámara en primera persona.
  • Detección y resolución de colisiones.

Amunt

Programación gráfica Web
Entrevista a Ramon Santamaria, creador de la biblioteca gráfica raylib Audiovisual
Vídeo explicativo Audiovisual

Amunt

En la UOC, la evaluación generalmente es virtual. Se estructura en torno a la evaluación continua, que incluye diferentes actividades o retos; la evaluación final, que se lleva a cabo mediante pruebas o exámenes, y el trabajo final de la titulación.

Las actividades o pruebas de evaluación pueden ser escritas y/o audiovisuales, con preguntas aleatorias, pruebas orales síncronas o asíncronas, etc., de acuerdo con lo que decida cada equipo docente. Los trabajos finales representan el cierre de un proceso formativo que implica la realización de un trabajo original y tutorizado que tiene como objetivo demostrar la adquisición competencial hecha a lo largo del programa.

Para verificar la identidad del estudiante y la autoría de las pruebas de evaluación, la UOC se reserva la potestad de aplicar diferentes sistemas de reconocimiento de la identidad y de detección del plagio. Con este objetivo, la UOC puede llevar a cabo grabación audiovisual o usar métodos o técnicas de supervisión durante la ejecución de cualquier actividad académica.

Asimismo, la UOC puede exigir al estudiante el uso de dispositivos electrónicos (micrófonos, cámaras u otras herramientas) o software específico durante la evaluación. Es responsabilidad del estudiante asegurar que estos dispositivos funcionan correctamente.

El proceso de evaluación se fundamenta en el trabajo personal del estudiante y presupone la autenticidad de la autoría y la originalidad de las actividades académicas. La web sobre integridad académica y plagio de la UOC contiene información al respecto.

La falta de autenticidad en la autoría o de originalidad de las pruebas de evaluación; la copia o el plagio; la suplantación de identidad; la aceptación o la obtención de cualquier actividad académica a cambio o no de una contraprestación; la colaboración, el encubrimiento o el favorecimiento de la copia, o el uso de material, software o dispositivos no autorizados en el plan docente o el enunciado de la actividad académica, incluida la inteligencia artificial y la traducción automática, entre otras, son conductas irregulares en la evaluación que pueden tener consecuencias académicas y disciplinarias graves.

Estas conductas irregulares pueden conllevar el suspenso (D/0) en las actividades evaluables definidas en el plan docente -incluidas las pruebas finales- o en la calificación final de la asignatura, ya sea porque se han utilizado materiales, software o dispositivos no autorizados durante las pruebas (como el uso de inteligencia artificial no permitida, redes sociales o buscadores de información en internet), porque se han copiado fragmentos de texto de una fuente externa (internet, apuntes, libros, artículos, trabajos o pruebas de otros estudiantes, etc.) sin la citación correspondiente, por la compraventa de actividades académicas, o porque se ha llevado a cabo cualquier otra conducta irregular.

Asimismo, y de acuerdo con la normativa académica, las conductas irregulares en la evaluación también pueden dar lugar a la incoación de un procedimiento disciplinario y a la aplicación, si procede, de la sanción que corresponda, de conformidad con lo establecido en la normativa de convivencia de la UOC.

En el marco del proceso de evaluación, la UOC se reserva la potestad de:

  • Solicitar al estudiante que acredite su identidad según lo establecido en la normativa académica.
  • Solicitar al estudiante que acredite la autoría de su trabajo a lo largo de todo el proceso de evaluación, tanto en la evaluación continua como en la evaluación final, a través de una entrevista oral síncrona, que puede ser objeto de grabación audiovisual, o por los medios establecidos por la UOC. Estos medios tienen el objetivo de verificar los conocimientos y las competencias que garanticen la identidad del estudiante. Si no es posible garantizar que el estudiante es el autor de la prueba, esta puede ser calificada con una D, en el caso de la evaluación continua, o con un suspenso, en el caso de la evaluación final.

Inteligencia artificial en el marco de la evaluación

La UOC reconoce el valor y el potencial de la inteligencia artificial (IA) en el ámbito educativo y, a su vez, pone de manifiesto los riesgos que supone si no se utiliza de forma ética, crítica y responsable. En este sentido, en cada actividad de evaluación se informará al estudiantado sobre las herramientas y los recursos de IA que se pueden utilizar y en qué condiciones. Por su parte, el estudiantado se compromete a seguir las indicaciones de la UOC a la hora de realizar las actividades de evaluación y de citar las herramientas utilizadas y, concretamente, a identificar los textos o imágenes generados por sistemas de IA, los cuales no podrá presentar como si fueran propios.

Respecto a usar o no la IA para resolver una actividad, el enunciado de las actividades de evaluación indica las limitaciones en el uso de estas herramientas. Debe tenerse en cuenta que usarlas de manera inadecuada, como por ejemplo en actividades en las que no están permitidas o no citarlas en las actividades en las que sí lo están, puede considerarse una conducta irregular en la evaluación. En caso de duda, se recomienda que, antes entregar la actividad, se haga llegar una consulta al profesorado colaborador del aula.

Amunt

La asignatura solo puede aprobarse con el seguimiento y la superación de la evaluación continua (EC). La calificación final de la asignatura es la nota obtenida en la EC.

 

Amunt