Información general


Tipo de asignatura: obligatoria

Coordinador: Juan José Pons López

trimestre: Tercer trimestre

Créditos: 4

Profesorado: 

Manuel Rello Saltor

Idiomas de impartición


  • Castellano
  • Català

Las clases de la asignatura se realizarán principalmente en catalán, aunque la bibliografía y el material de apoyo podrán ser en otras lenguas (castellano e inglés).

Competencias


Competencias específicas
  • E7. Desarrollar videojuegos en lenguajes interpretados para prototipar la jugabilidad, la experiencia de usuario y el balanceo.

  • E9. Diseñar y desarrollar cortometrajes de animación 2D.

Competencias generales
  • 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.

  • G3. Reunir e interpretar datos relevantes (normalmente dentro de su área de estudio) para emitir juicios que incluyan una reflexión sobre temas relevantes de índole social, científica o ética.

competencias transversales
  • T1. Comunicar en un tercer idioma, que será preferentemente el inglés, con un nivel adecuado de forma oral y por escrito y acorde con las necesidades que tendrán los graduados y graduadas.

  • T2. Trabajar como miembro de un equipo interdisciplinario ya sea como un miembro más o realizando tareas de dirección con el fin de contribuir a desarrollar proyectos con pragmatismo y sentido de la responsabilidad, asumiendo compromisos y teniendo en cuenta los recursos disponibles.

Descripción


El nuevo perfil de diseñador debe adquirir nociones de programación, matemáticas y física para adaptarse a estos nuevos requerimientos del desarrollo de videojuegos.

Al inicio de la asignatura de Programación II, los alumnos ya son capaces de resolver ciertos problemas con el uso de estructuras de control y de almacenar información en variables y contenedores de datos (impartido en Fundamentos de la Programación), y también tienen claros los conceptos de encapsulación, polimorfismo y el envío de mensajes entre los diferentes objetos en el paradigma orientado a objetos (impartido en Programación I). El lenguaje vehicular entre las asignaturas de programación ha sido C # y por no desfocalizar los alumnos, debe seguir siéndolo en las otras asignaturas de programación del primer año.

Programación II es el primer acercamiento de los alumnos a la programación aplicada a los videojuegos. Aunque el objetivo del grado son diseñadores capaces de programar mecánicas y muy probablemente de hacerlo en motores de videojuegos como Unity3D y Unreal Engine, el aprendizaje debe centrarse en forjar una base de resolución de problemas de diseño mediante algoritmos más que al aprender una herramienta o motor en concreto.

 

Contenidos


1. Estructuras de datos avanzadas

1.1 Listas dinámicas

1.2 Diccionarios

1.3 Colas y stacks

1.4 Listas ordenadas

2. Programación avanzada

2.1. programación estructurada

2.2. Programación orientada a objetos

2.3 Funciones Lambda

2.4 Programación genérica

3. Programación gráfica

3.1.Conceptos

3.1.1 Renderizado 2D 

3.1.2 Bucle de juego: draw y update

3.2. librería SFML

3.2.1. Inputs: active polling y event handling

3.2.2. sprites

3.2.3. Sonido y texto 

4. Programación básica con motor 

4.1. Estructura engine-game-actor

4.2. actores

4.2.1. Movimiento: rotación, dirección, velocidad y aceleración

4.2.2. Interpolaciones

4.3. HUD

5. Programación de herramientas y comportamientos

5.1. Herramientas del motor

5.1.1 Escena: gestión de actores

5.1.2. Timers y Spawners

5.1.3. Tilemaps

5.1.4. Viewports y Views

Fuentes 5.1.5

5.2. comportamientos

5.2.1. Colisiones

5.2.2. Dirección

5.2.3. MEV

Sistema de evaluación


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

 

A1. Ejercicios a realizar en clase o en casa: 10%

P1. Práctica de laboratorio 1: 15%

P2. Práctica de laboratorio 2: 15%

EP. Examen Parcial (opcional): 10%

EF. Examen Final: 50% (o 60% si no se entrega el examen parcial)

 

Nota final = A1 0,10 + P1 0,15 + P2 0,15 + EP 0,1 + EF 0,5

En caso de que el estudiante no presente el examen parcial, el cálculo de la nota será:

Nota final = A1 0,10 + P1 0,15 + P2 0,15 + EF 0,6

Consideraciones:

  • Hay que obtener una nota igual o superior a 5 al examen final para poder aprobar la asignatura.

  • Una actividad no entregada o librada con retraso y sin justificación cuenta como un 0.

  • Es responsabilidad del alumno evitar el plagio en todas sus formas. En el caso de detectar plagio, independientemente de su alcance, en alguna actividad corresponderá a tener una nota de 0. Además el profesor comunicará a la jefe de estudios la situación para que se tomen medidas aplicables en materia de régimen sancionador.

recuperaciones:

  • El examen de recuperación sólo recupera la nota del examen final. El alumno con un NP al examen final no podrá presentarse al examen de recuperación.

  • En caso de aprobar la asignatura gracias al examen de recuperación, la calificación máxima será de 5. 

Bibliografía


Básico

Moreira, A., Haller, J., & Hansson, HV (2013). SFML game development. Packt Publishing

Complementario

Buckland, M. (2005). Programming game AI by example. Jones & Bartlett Learning.