Programación de videojuegos 2D Código:  M7.456    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 para el segundo semestre del curso 2023-2024. 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.
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 puede llegar a necesitar años y un numeroso equipo de personas expertas en distintas disciplinas. Entre estas herramientas, una de gran utilidad para agilizar el proceso de desarrollo, o incluso permitir que un grupo reducido de personas pueda crear un videojuego en un tiempo razonable, es el motor (engine).  Se trata de un marco de software que ya ofrece un conjunto de funcionalidades que pueden ser reutilizadas por distintos videojuegos. Entre estas funcionalidades podemos encontrar, por ejemplo, el renderizado 2D o 3D, detección de colisiones y física, sonido, animación, etc. En algunos casos, estas herramientas incluso incorporan un editor 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:
·         Pillars of Eternity
·         Wasteland 2
·         Kerbal Space Program
·         Firewatch
·         Ori and the Blind Forest

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

Amunt

Esta asignatura es la primera de programación dentro de los programas de desarrollo de videojuegos (postgrado y máster), ofrecida en paralelo con la asignatura de "Game Design", de orientación más de análisis y diseño de la experiencia. Por ello, es muy importante, pues introduce Unity como una de las herramientas que se va a usar de manera intensiva a lo largo del programa. Concretamente, en las tres asignaturas de segundo semestre:
•    Programación de videojuegos 3D
•    Inteligencia Artificial para videojuegos
•    Juegos Multijugador

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 2D mediante el entorno Unity (perfil - Game Programmer).

Amunt

Estrictamente, no es necesaria ninguna familiaridad previa con Unity u otros motores de generación de videojuegos. Sin embargo, al tratarse de una asignatura de desarrollo, la programación juega un papel clave. Por ello, es imprescindible cierto dominio de esta disciplina, especialmente con los aspectos de programación orientada a objetos.

El lenguaje de programación elegido es C#. Si bien no es necesario haber trabajado con este lenguaje específicamente, sí que es muy recomendable cierta familiaridad con algún lenguaje de sintaxis similar, como C, C++ o Java.

Amunt

En caso de no disponer de conocimientos de programación, puede ser recomendable cursar antes la asignatura libre "Fundamentos de Programación".

Amunt

Los objetivos de aprendizaje de la asignatura son los siguientes:
•    Conocer que es un motor de videojuego y cuáles son los más populares en el entorno de los editores de videojuegos.
•    Conocer a Unity y como desarrollar un proyecto de videojuegos esta herramienta.
•    Programar scripts en C# integrados a un proyecto Unity.
•    Gestionar recursos dentro de un videojuego.
•    Conocer el manejo de sonido y recursos gráficos 2D.
•    Interactuar con la física, los objetos y el entorno.
•    Conocer el manejo de sistemas de partículas y animaciones.

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. Introducción        
•    Introducción a los videojuegos.
•    Publicación de un videojuego.
•    Plataformas y arquitecturas para videojuegos.
•    Diseño de videojuegos.

Módulo 2. Un juego de aventuras         
•    ¿Qué es un motor de juegos?
•    Conociendo a Unity.
•    Scripting en Unity.
•    Proyecto: un juego de aventuras.

Módulo 3. Un juego de plataforma         
•    Sprites.
•    Fisica 2D.
•    Build a Android.
•    Entrada para móvil.
•    Proyecto: Un juego de plataformas.

Módulo 4. Un juego de artillería
•    Utilización de los Subprocessos.
•    Sistemas de partículas.
•    Las animaciones.
•    Layers y Tags.
•    Proyecto: Un juego de estrategia de artillería

Amunt

Material Soporte
1. Introducció als videojocs XML
1. Introducció als videojocs DAISY
1. Introducció als videojocs EPUB 2.0
1. Introducció als videojocs MOBIPOCKET
1. Introducció als videojocs KARAOKE
1. Introducció als videojocs HTML5
1. Introducció als videojocs PDF
Primera activitat. Començar amb Unity i Git Web
Primera actividad. Comenzar con Unity y Git Web

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

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.


Ponderación de las calificaciones

Opción para superar la asignatura: EC

Nota final de asignatura: EC

Amunt