Información general


Tipo de asignatura: obligatoria

Coordinador: Juan José Pons López

trimestre: Segundo trimestre

Créditos: 4

Profesorado: 

Ramon Santamaria Pena

Curso académico: 2025

Curso de impartición: 2

Lenguas de impartición


  • Catalá
  • Castellano

Los materiales podrán proporcionarse tanto en catalán como en español o inglés. 

Competencias / Resultados de aprendizaje


Competencias específicas
  • E6. Desarrollar videojuegos en lenguajes de programación de alto nivel en motores gráficos a partir de sus especificaciones.

Competencias generales
  • G1. Demostrar tener y comprender conocimientos avanzados de su área de estudio que abarcan los aspectos teóricos, prácticos y metodológicos, con un nivel de profundidad que llega hasta la vanguardia del conocimiento.

  • G2. Resolver complejos problemas de su ámbito laboral, mediante la aplicación de sus conocimientos, la elaboración de argumentos y procedimientos, y el uso de ideas creativas e innovadoras.

  • G5. Desarrollar las habilidades de aprendizaje necesarias para acometer estudios posteriores con un alto grado de autonomía.

Presentación de la asignatura


La asignatura introduce al alumnado en la programación de juegos en 2D. La herramienta principal que se utiliza es Unity, aunque la asignatura se centra más en los conceptos clave del desarrollo de juegos que en la herramienta específica utilizada para implementar los ejercicios y prácticas.

Mediante el desarrollo de 4 proyectos en grupo, se introducen teóricamente los principales conceptos con ejemplos y ejercicios en clase. Una vez explicados, el alumnado se dedica a aplicar estos conceptos a sus proyectos, con el apoyo del profesor durante las sesiones.

Los juegos deben entregarse puntualmente y en el formato adecuado.

El examen consiste en implementar de forma práctica los conceptos trabajados en clase.

Contenidos


Introducción a la asignatura: Juegos 2D

Introducción a los Patrones de Programación

  • Patrones de Secuenciación: Game Loop
  • Patrones de Secuenciación: Método Update

Proyecto 01: Juego de Plataformas 2D

  • Movimiento del Jugador: Input System
  • Patrones de Diseño: Singleton
  • Patrones de Diseño: Observer
  • Físicas del Jugador: Salt
    • Movimiento Horizontal
    • Movimiento Vertical
    • Físicas Personalizadas
  • Patrones de Optimización: Object Pooling

Proyecto 02: Juego de Infiltración Top-down

  • Lógica de los Enemigos (IA)
  • Patrones de Diseño: State (FSM) - Máquina de Estados
  • Detección del Jugador: Distancia, Campo de Visión, Obstáculos
  • Movimiento del Enemigo: Patrullar (Waypoints)
  • Patrones de Diseño: Command - Undo / Redo

Proyecto 03: Juego Tienda de Items

  • Introducción a Sistemas de UI y Menús
  • Técnicas con Unity: Scriptable Objects
  • Implementación Sistema de Inventarios
  • Localización e Internacionalización (I18N)

Proyecto 04: Juego Laberinto Procedimental 2D

  • Introducción a la Generación Procedimental
  • Algoritmos Procedimentales por general Laberintos
  • Generación laberinto a partir de imagen 2D
  • Detección y Resolución de Colisiones

Actividades y sistema de evaluación


La nota de cada alumno se calculará siguiendo los siguientes porcentajes:

A1. Proyecto práctico de Videojuego: Plataformas 2D (12.5% nota final)

A2. Proyecto práctico de Videojuego: Juego infiltración top-down (12.5% nota final)

A3. Proyecto práctico de Videojuego: Tienda de items (12.5% nota final)

A4. Proyecto práctico de Videojuego: Laberinto procedural 2D (12.5% nota final)

A5. Prueba final (50% nota final)

Consideraciones:

  • Evaluación: Es necesario obtener una nota mínima de 5 en el examen final para aprobar la asignatura. Si el estudiante no alcanza esta nota mínima, no podrá aprobar la asignatura aunque la media de las actividades prácticas sea suficiente.
  • Evaluación: Hay que obtener una nota superior a 5 a en el promedio de las prácticas para aprobar la asignatura.
  • Evaluación: La nota máxima que se puede obtener en la convocatoria extraordinaria será 5.
  • recuperación: Sólo pueden optar a la recuperación los estudiantes que hayan participado en el examen final y no hayan obtenido la nota mínima. La nota del examen de recuperación sustituye sólo a la nota del examen ordinario. Esta nota debe ser superior a un 5.
  • Entrega de trabajos: Cualquier actividad entregada con retraso o no entregada sin justificación (citación judicial o asunto médico) será calificada con un 0. 
  • Asistencia: Es obligatorio asistir a las clases prácticas o de laboratorio, ya que son esenciales para el correcto seguimiento de la asignatura. La falta de asistencia, sin justificación médica o legal adecuada, comportará la no evaluación de las actividades prácticas correspondientes, lo que puede afectar a la nota final.
  • Plagio: La identificación de plagio en cualquier actividad se considera una falta grave y puede suponer una calificación de suspenso. En caso de detectarse plagio, se notificará a la coordinación del grado para que se tomen las medidas correspondientes.
  • Uso de Inteligencias Artificiales:
    • El uso de inteligencias artificiales generativas (IAGs) debe limitarse a aquellos aspectos que no son fundamentales en el contexto de la asignatura. Se pueden utilizar, de forma crítica, como mecanismo para resolver dudas sobre la materia y/o para mejorar la redacción de documentos entregables y/o como ayuda en la generación de código de carácter auxiliar que queda fuera del alcance de los temas de la asignatura. En el segundo caso (mejora de la redacción) será necesario explicitar en el documento la participación de IAG en la redacción. En el último caso (generación de código) será imprescindible mencionar su naturaleza de “generado mediante IAG” explicitando su modelo utilizado y el prompt suministrado, incluso si ha sido posteriormente personalizado y/o modificado.
    • Las IAG no podrán ser utilizadas para generar código de programación, ni siquiera en forma de fragmentos, cuando este código quede dentro del alcance de los temas de la asignatura y/o tenga carácter evaluable. Esta prohibición se mantendrá incluso si el código es posteriormente personalizado y/o modificado. Ante las dudas respecto a la legitimidad o no de la utilización de IAGs es necesario contactar, a priori, con el profesorado de la asignatura.

Bibliografía


Básico

Tutorial web de herramientas de creación de juegos con el motor Unity (http://unity3d.com/es/learn)

http://gameprogrammingpatterns.com/

Complementaria

Gama, E., Helm, R., Johnson, R. and Vlissides, J.

Design patterns: Elementos of reusable object-oriented software

1995 - Addison-Wesley - Reading, Mass.

https://unity3d.college/