Programación de videojuegos 3D Código:  M7.458    Créditos:  6
Consulta de los datos generales   Descripción   La asignatura en el conjunto del plan de estudios   Campos profesionales en que se proyecta   Conocimientos previos   Información previa a la matrícula   Objetivos y competencias   Contenidos   Consulta de los recursos de aprendizaje que dispone la asignatura   Recursos de aprendizaje y herramientas de apoyo   Bibliografía y fuentes de información   Metodología   Información sobre la evaluación en la UOC   Consulta del modelo de evaluación  
Este es el plan docente de la asignatura. Os servirá para planificar la matrícula (consultad 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.
Esta asignatura es la continuación directa de la asignatura Unity 2D estudiado en el primer semestre. La principal diferencia, es que se dedica a Unity 3D.
El desarrollo de un videojuego es una tarea compleja, que requiere el dominio de distintas herramientas. Por ejemplo, en el caso de títulos de primera categoría (AAA), el proceso de desarrollo puede llegar a necesitar años y un numeroso equipo de personas expertas en distintas disciplinas. Entre estas herramientas, el motor (engine) es la pieza más importante de todo el proceso de desarrollo. Algunos incluso son tan completos que permiten que un grupo reducido de personas pueda crear un videojuego en un tiempo razonable.  Se trata de un marco de software que ofrece el conjunto de funcionalidades básicas necesarias para todo videojuego. Entre estas funcionalidades podemos encontrar, por ejemplo, el renderizado 2D o 3D, la detección de colisiones, las físicas, el sonido o el motor de animaciones entre otros... En algunos casos, estas herramientas incluso incorporan un entorno gráfico que permite gestionar estos aspectos de manera más o menos amigable.

Si bien las grandes compañías se pueden permitir crear sus propios motores, actualmente existen distintos motores comerciales que podemos adquirir para desarrollar nuestros propios videojuegos. Entre ellos, uno que ha tomado especial relevancia últimamente en el campo profesional es Unity, creado por Unity Technologies en 2005, y mejorado versión a versión hasta el día de hoy. Éste permite el desarrollo multiplataforma para ordenadores, distintas consolas y móviles o web.

Entre los distintos juegos comerciales creados con Unity, podemos encontrar ejemplos de una enorme calidad como:
•    Lara Croft: Relic Run by Simutronics
•    Hitman GO
•    Firewatch
•    Ori and the Blind Forest
•    Blues and Bullets
•    Wasteland 2
•    Kerbal Space Program

La asignatura de "Programación en Unity 3D" tiene como el hilo narrativo el desarrollo de tres pequeños videojuegos de temática diversa para formar a los estudiantes en los aspectos básicos del  desarrollo para juegos 3D. De todos modos, es importante tener en cuenta que, si bien la asignatura se centra en Unity, muchos de los conceptos son aplicables cuando se trabaje con motores diferentes.

Amunt

Esta asignatura es la continuidad directa de la primera asignatura de programación con Unity dentro de los programas de desarrollo de videojuegos (postgrado y máster). Se ofrece en paralelo con las asignaturas de "Inteligencia Artificial" y "Juegos Multijugador", más especializadas. Por ello, es importante, pues finaliza el aprendizaje de la programación de videojuegos 3D como una de las herramientas que se va a usar de manera intensiva a lo largo del programa y en concreto del segundo semestre.
Esta asignatura es la secunda de programación dentro de los programas de desarrollo de videojuegos (postgrado y máster), ofrecida después de las asignaturas de "Game Design" y "Programación de videojuegos 2D".

Amunt

La industria del videojuego es la principal en el campo de ocio audiovisual e interactivo de nuestro país, con una facturación anual de casi 1.000 millones de euros (AEVI-GFK), superando a todas incluso la del cine. Actualmente hay casi 400 compañías de desarrollo de videojuegos y el sector crece a un ritmo de alrededor de 20% por año. Se estima que el sector de los videojuegos doblará sus cifras de empleo y en 2019 podría generar 7.217 empleados de alta cualificación (Libro Blanco DEV). Aunque el número de empleos en el sector sigue creciendo a un mismo ritmo, aún hacen falta más profesionales por lo que las empresas tienen dificultades para encontrar personal cualificado.

En ese sentido, esta asignatura es de especial interés para aquellos que quieran dedicarse, ya sea profesionalmente o por afición, al desarrollo de videojuegos en formato 3D mediante el entorno Unity (perfil - Game Programmer).

Amunt

Estrictamente, no es necesaria haber cursado la asignatura Programación de videojuegos 2D, pero se considera ya adquirido los conocimientos del semestre precedente. En particular, los temas:
•    Scripting en Unity
•    Sprites
•    Fisica 2D
•    Utilización de los Subprocessos
•    Sistemas de partículas
•    Las animaciones
•    Layers y Tags
no serán tratado en detalle, a menos que sean diferentes en el contexto de la 3D.
Sin embargo, al tratarse de una asignatura de desarrollo, la programación juega un papel clave. Por ello, los elementos de la programación también se dan por adquirido y no serán revisados.
Igual que en la asignatura "Programación de videojuegos 2D", el lenguaje de programación elegido es C#.

Amunt

Es muy recomendable haber cursado antes la asignatura "Programación de videojuegos 2D".
En caso de no disponer de conocimientos sobre la 3D, puede ser recomendable cursar antes la asignatura "Graficos 3D".

Amunt

Los objetivos de aprendizaje de la asignatura son los siguientes:
•    Conocer las físicas en entornos 3D.
•    Comprender cómo funciona una cámara 3D y sus diferentes tipos.
•    Dominar la herramienta "Terrain" de Unity.
•    Saber utilizar un "Character" y animarlo en un juego tipo FPS.
•    Conocer la herramienta NavMesh y el uso de NavMeshAgent para tener enemigos autónomos.
•    Dominar el animator y comprender como funciona el sistema de animaciones de Unity así como su grafo de estados.
•    Saber utilizar las herramientas de sonido de Unity.
Las competencias transversales del Master 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:
•    [CE1] Capacidad para el análisis y desarrollo de la documentación técnica asociada a un videojuego.
•    [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
•    [CE10] Integración de manera efectiva de contenidos digitales en un videojuego.

Amunt

El temario del curso dentro de la asignatura se divide en cuatro bloques temáticos, o módulos, que engloban los diferentes capítulos de los materiales.

Módulo 1. Juego de carreras.
•    Terreno                      
•    Vehículos
•    Cámaras 3D

Módulo 2. First Person Shooter.
•    Character Controller              
•    Fisrt Person Controller
•    NavMesh
•    AI State Machine

Módulo 3. Plataformas 3D. 
•    Animator                   
•    Particle System
•    Sonido
•    Iluminación

Amunt

Material Soporte

Amunt

Al día a día de la docencia, se usará el campus de la UOC para la mayoría de tareas habituales: comunicarse con los compañeros del aula, entregar actividades, ser evaluados y ver sus notas, etc. A través del aula también es posible acceder a los módulos que conforman los materiales de la asignatura.

De cara al trabajo del estudiante, el entorno de trabajo será Unity, que puede ser descargada gratuitamente desde la página de su fabricante. En esta misma página se puede encontrar la documentación oficial on-line de Unity, de uso intensivo a lo largo de todo el curso, así como diversos video tutoriales.

Junto con esta herramienta, también es necesario un entorno de programación para la generación de scripts en C#. Para la versión actual de Unity, esta es Visual Studio.

Amunt

La principal fuente de información es la documentación oficial on-line de Unity:
https://docs.unity3d.com/Manual/index.html
Existe una versión en castellano, pero se debe tener en cuenta que no siempre está actualizada a la última versión de Unity. Es preferible usar la versión inglesa.

Amunt

La metodología de la asignatura se basa en dos premisas consideradas básicas. Por una parte, que el desarrollo de videojuegos no se puede aprender simplemente mediante la lectura de unos materiales, de modo que, una vez memorizados, ya se puede pasar a programar. La vertiente práctica, basada en la resolución de los distintos problemas que uno se pueda encontrar durante el proceso debe ser el núcleo del proceso de aprendizaje. Por otra parte, que hoy en día ya existen innumerables fuentes de información sobre cómo desarrollar juegos en Unity, y no tiene sentido volverlos a copiar simplemente en un formato distinto.

Por ello, la metodología de la asignatura se basa en el estudio basado en proyectos. En ese sentido, los módulos de la asignatura toman la forma de un conjunto de guías, en cada una de las cuáles se propone un pequeño proyecto de autoaprendizaje. Antes, se ofrece una muy breve introducción a los conceptos necesarios para afrontar el proyecto, pero en ningún caso se trata de una documentación extensa o auto-explicativa. La documentación de soporte para llevar a cabo esta tarea será la propia que Unity ofrece on-line. Los proyectos en si se dividen en pequeños retos que deben ser superados secuencialmente, y, en cualquier caso, se ofrecen con la solución.

En ese sentido, el valor añadido de la asignatura lo aporta sobretodo el docente que, como experto en el ámbito del desarrollo de los videojuegos, está a disposición del estudiante para ayudarle y resolver cualquier duda durante el proceso de resolución de los proyectos. Por ello, el seguimiento activo de los espacios del aula (tablero, foro) es de primordial interés, dado que habitualmente se plantean dudas, se dan respuestas y se tratan temas relacionados con la materia de estudio. Es muy recomendable la consulta de cualquier duda a través del foro de la asignatura.

Aparte de la realización de estos proyectos de autoaprendizaje, a lo largo del curso se propondrán un conjunto de actividades evaluables que el estudiante deberá resolver, normalmente ampliaciones de los proyectos ya trabajados en las guías. Estas se publicarán siempre a través del campus de la UOC y, normalmente, estarán vinculadas.

Hay que tener en cuenta que, al tratarse de una asignatura eminentemente práctica, el estudiante deberá dedicar algún tiempo a familiarizarse con el entorno de trabajo de Unity, necesario para la realización de las actividades. Otro aspecto importante es que al inicio de curso deberá de familiarizarse con la programación de scripts en C# dentro de esta herramienta

Amunt

La Normativa académica de la UOC dispone que 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 los ejercicios realizados.

La falta de originalidad en la autoría o el mal uso de las condiciones en las que se hace la evaluación de la asignatura es una infracción que puede tener consecuencias académicas graves.

El estudiante será calificado con un suspenso (D/0) si se detecta falta de originalidad en la autoría de alguna actividad evaluable (práctica, prueba de evaluación continua (PEC) o final (PEF), o la que se defina en el plan docente), ya sea porque ha utilizado material o dispositivos no autorizados, ya sea porque ha copiado de forma textual de internet, o ha copiado de apuntes, de materiales, manuales o artículos (sin la citación correspondiente) o de otro estudiante, o por cualquier otra conducta irregular.

La calificación de suspenso (D/0) en la evaluación continua (EC) puede conllevar la obligación de hacer el examen presencial para superar la asignatura (si hay examen y si superarlo es suficiente para superar la asignatura según indique este plan docente).

Cuando esta mala conducta se produzca durante la realización de las pruebas de evaluación finales presenciales, el estudiante puede ser expulsado del aula, y el examinador hará constar todos los elementos y la información relativos al caso.

Además, esta conducta puede dar lugar a la incoación de un procedimiento disciplinario y la aplicación, si procede, de la sanción que corresponda.

La UOC habilitará los mecanismos que considere oportunos para velar por la calidad de sus titulaciones y garantizar la excelencia y la calidad de su modelo educativo.

Amunt

Esta asignatura sólo puede superarse a partir de la evaluación continua (EC). La nota final de evaluación continua se convierte en la nota final de la asignatura. La fórmula de acreditación de la asignatura es la siguiente: EC.


Ponderación de las calificaciones

Opción para superar la asignatura: EC

Nota final de asignatura: EC

Amunt