Guía docente de Programación Lúdica (Especialidad Computación y Sistemas Inteligentes) (29611AB)

Curso 2024/2025
Fecha de aprobación: 27/06/2024

Grado

Grado en Ingeniería Informática

Rama

Ingeniería y Arquitectura

Módulo

Complementos de Computación y Sistemas Inteligentes

Materia

Programación de Juegos

Curso

4

Semestre

2

Créditos

6

Tipo

Optativa

Profesorado

Teórico

Antonio Bautista Bailón Morillas. Grupo: A

Práctico

Antonio Bautista Bailón Morillas Grupo: 1

Tutorías

Antonio Bautista Bailón Morillas

Email
  • Primer semestre
    • Lunes de 10:30 a 13:30 (M5 (Fciencia))
    • Miércoles de 10:30 a 13:30 (M5 (Fciencia))
  • Segundo semestre
    • Martes
      • 08:00 a 09:30 (Nd (Etsiit))
      • 11:30 a 13:30 (Nd (Etsiit))
    • Miércoles
      • 08:00 a 09:30 (M5 (Fciencia))
      • 10:30 a 11:30 (M5 (Fciencia))

Prerrequisitos y/o Recomendaciones

No es necesario que los alumnos tengan aprobadas asignaturas, materias o módulos previos como requisito indispensable para cursar este módulo. No obstante se recomienda la superación de los contenidos y adquisición de competencias de las materias de formación básica y de rama.

Breve descripción de contenidos (Según memoria de verificación del Grado)

  • Lenguajes de programación.
  • Bibliotecas de programación y software de desarrollo específico.
  • Diseño e implementación de sistemas físicos.
  • Multijugador y juegos en red.
  • La inteligencia Artificial en juegos.
  • Algoritmos de búsqueda.
  • Agentes Inteligentes

Competencias

Competencias generales

  • CG04. Capacidad para definir, evaluar y seleccionar plataformas hardware y software para el desarrollo y la ejecución de sistemas, servicios y aplicaciones informáticas.
  • CG08. Conocimiento de las materias básicas y tecnologías, que capaciten para el aprendizaje y desarrollo de nuevos métodos y tecnologías, así como las que les doten de una gran versatilidad para adaptarse a nuevas situaciones.

Competencias Transversales

  • CT03. Capacidad para el uso y aplicación de las TIC en el ámbito académico y profesional. 

Resultados de aprendizaje (Objetivos)

Objetivos formativos particulares

  • Conocer el software utilizado en la materia, en particular los lenguajes específicos de alto y bajo nivel, y tener la capacidad para seleccionar el más adecuado para alcanzar una solución final al problema.
  • Conocer técnicas de optimización del software propias del área.
  • Ser capaz de identificar problemas propios de la inteligencia artificial en software de entretenimiento, y seleccionar los modelos más adecuados para su resolución.
  • Ser capaz de diseñar e implementar de forma eficiente los modelos de la inteligencia artificial utilizados en el software de entretenimiento.
  • Ser capaz de analizar, sintetizar y modelar sistemas físicos de forma eficiente para su inclusión en el software.
  • Conocer los modelos de interconexión de redes más utilizados en software de entretenimiento, siendo capaz de seleccionar el más adecuado para solucionar el problema.
  • Ser capaz de implementar, haciendo uso de paradigmas de inteligencia artificial, modelos de comunicación entre diferentes computadores que se adapten a la estructura de red subyacente.
  • Conocer los métodos de búsqueda de soluciones y de planificación utilizados en el software de entretenimiento.
  • Ser capaz de analizar, diseñar e implementar en su conjunto software orientado al entretenimiento, seleccionando las herramientas adecuadas y con especial énfasis en la parte correspondiente a la inteligencia artificial.

Objetivos formativos de carácter general

  • Ser capaz de evaluar la complejidad computacional de un problema, conocer estrategias algorítmicas que puedan conducir a su resolución y recomendar, desarrollar e implementar aquella que garantice el mejor rendimiento de acuerdo con los requisitos establecidos.
  • Ser capaz de adquirir, obtener, formalizar y representar el conocimiento humano en una forma computable para la resolución de problemas mediante un sistema informático en cualquier ámbito de aplicación, particularmente los relacionados con aspectos de computación, percepción y actuación en ambientes o entornos inteligentes.
  • Ser capaz de desarrollar y evaluar sistemas interactivos y de presentación de información compleja y su aplicación a la resolución de problemas de diseño de interacción persona computadora.

Programa de contenidos teóricos y prácticos

Teórico

  1. Introducción a la programación lúdica
    • Conceptos generales
    • Historia
    • Géneros
    • El negocio de los videojuegos
  2. Metodología
    • Ingeniería del software en el desarrollo de juegos
    • Metodología ágiles
    • SCRUM
  3. Desarrollo
    • Arquitectura
    • Patrones de diseño
    • Lenguajes y herramientas para la programación de juegos
    • Bibliotecas y Engines
  4. Gráficos y sonido
    • Representación de imágenes 2D
    • Gráficos 3D
    • Animación
    • GPUs y shaders
    • Música y efectos
  5. Motor de Física
    • Impacto de la Física en un videojuego
    • Detección y resolución de colisiones
  6. Generación procedimental de contenido
    • Historia
    • Azar y ruido
    • Áreas de aplicación de PCG
  7. Inteligencia Artificial
    • Técnicas de Inteligencia Artificial clásicas
    • Técnicas de Inteligencia Artificial avanzadas
    • Búsqueda, adaptación y aprendizaje
  8. Juegos para múltiples usuarios y en red
    • Interfaces de programación de aplicaciones en red
    • Multijugador local y en red
    • Participación cooperativa, competitiva y por equipos

Práctico

  1. Elevator pitch
  2. Game Design Document
  3. Godot

Bibliografía

Bibliografía fundamental

  • S.Egenfeldt, “Understanding Video Games: the essential introduction”, Rouledge 2016
  • T.Fullerton, “Game design Workshop: a playcentric approach to creating innovative games”, CRC Press 2014
  • M.McShaffry, “Game Coding Complete”, Course Technology PTR 2013
  • C.Keith, “Agile game development with SCRUM”, Addison-Wesley 2010
  • J.Gregory, “Game Engine Architecture”, CRC Press 2019
  • R.Nystrom, “Game programming patterns”, Genever Benning 2014
  • S.Madhav, “Game programming algorithms and techniques: a platform-agnostic approach”, Addison-Wesley 2013
  • I.Millington, “Artificial Intelligence for Games”, Morgan Kaufmann 2018
  • J.Glazer, “Multiplayer game programming: Architecting networked games”, Addison-Wesley 2015
  • J.Smed, “Algorithms and networking for computer games”, Wiley 2006

Bibliografía complementaria

  • J.Schell, “The Art of Game Design: A book of lenses”.Morgan Kaufmann 2019
  • S.Rogers, “Level Up!: the guide to great video game design”, Wiley 2014
  • J.Juul, “Half-Real: Video games between real rules and fictional worlds”, MIT press 2005
  • D.Sánchez-Crespo, “Core techniques and algorithms in game programming”, New Riders 2003
  • I.Millington, “Game physics engine development”, Morgan kaufmann 2010
  • C.Ericson, “Real-time collision detection”, Elsevier 2005
  • D.Bourg, “AI for game developers”, O’reilly 2004
  • G.Armitage, “Networking and online games: understanding and engineering multiplayer internet games”, Wiley 2006

Metodología docente

  • MD01. Lección Magistral (Clases Teóricas-Expositivas) 
  • MD02. Actividades Prácticas (Resolución de Problemas, Resolución de Casos Prácticos, Desarrollo de Proyectos, Prácticas en Laboratorio, Taller de Programación, Aula de Informática, Prácticas de Campo). 
  • MD03.  Seminarios (Debates, Demos, Exposición de Trabajos Tutelados, Conferencias, Visitas Guiadas, Monografías). 
  • MD04. Actividades no presenciales Individuales. 
  • MD05. Actividades no presenciales Grupales. 
  • MD06. Tutorías Académicas. 

Evaluación (instrumentos de evaluación, criterios de evaluación y porcentaje sobre la calificación final)

Evaluación ordinaria

La adaptación del sistema de evaluación general propuesto a las características de esta asignatura, con indicación explícita del peso de la evaluación de cada actividad formativa, se ajustará a lo indicado en la siguiente tabla:

Porcentaje de evaluación

Actividades formativas

Ponderación

Teoría

45%

Práctica

45%

Participación activa en clase, resolución de problemas, redacción y exposición de trabajos

10%

  • Para la parte teórica se realizará un examen escrito multipregunta sobre los contenidos de la materia impartida. La ponderación de este bloque es el 45%.
  • Para la parte práctica se propondrán la realización de diversos proyectos realizados en grupos de trabajo que se evaluarán a lo largo de la asignatura. La ponderación de la parte práctica es de un 45%.
  • Se valorará la participación activa en las clases teóricas y la realización y exposición de trabajos voluntarios de contenido teórico o práctico. La ponderación de esta parte es del 10%.

La calificación global se obtendrá como la suma ponderada de las actividades formativas siempre que se alcancen unos mínimos en teoría y prácticas (al menos 2.25 puntos del total de 4.5 alcanzables en teoría y 2.25 puntos del total de 4.5 alcanzables en prácticas). En caso de no superar alguna de las dos partes la nota obtenida en la convocatoria será la mínima de las dos notas obtenidas en teoría y práctica.

Evaluación extraordinaria

La evaluación en convocatoria extraordinaria se realizará en un acto académico el día de la convocatoria oficial de examen para la asignatura. El contenido teórico se evaluará mediante un examen escrito que incluirá preguntas de tipo teórico. La evaluación de la práctica consistirá en la entrega y defensa de un proyecto práctico.

Porcentaje de evaluación

Actividades formativas

Ponderación

Teoría

50%

Práctica

50%

Si el alumno hubiera superado en la convocatoria ordinaria los mínimos establecidos para la teoría y/o la práctica entonces podrá conservar la nota de la parte superada y no realizar esa parte del examen de la convocatoria extraordinaria. La realización de la prueba extraordinaria, ya sea teoría o práctica, supone la renuncia de la nota obtenida en dicha parte en la convocatoria ordinaria.

La calificación global se obtendrá como la suma ponderada de las actividades formativas siempre que se alcancen unos mínimos en teoría y prácticas (al menos 2.5 puntos del total de 5 alcanzables en teoría y 2.5 puntos del total de 5 alcanzables en prácticas). En caso de no superar alguna de las dos partes la nota obtenida en la convocatoria será la mínima de las dos notas obtenidas en teoría y práctica.

Todo lo relativo a la evaluación se regirá por la normativa sobre planificación docente y organización de exámenes vigente en la Universidad de Granada.

El sistema de calificaciones se expresará mediante calificación numérica de acuerdo con lo establecido en el art. 5 del R. D 1125/2003, de 5 de septiembre, por el que se establece el sistema europeo de créditos y el sistema de calificaciones en las titulaciones universitarias de carácter oficial y validez en el territorio nacional.

Evaluación única final

Esta modalidad de evaluación se realizará en un acto académico en la fecha establecida por el Centro.

El contenido teórico se evaluará mediante un examen escrito (evaluado de 0 a 10) que incluirá preguntas de tipo teórico

La evaluación de la práctica consistirá en la entrega y defensa de un proyecto práctico.

Porcentaje de evaluación

Actividades formativas

Ponderación

Teoría

50%

Práctica

50%

La calificación global se obtendrá como la suma ponderada de las actividades formativas siempre que se alcancen unos mínimos en teoría y prácticas (al menos 2.5 puntos del total de 5 alcanzables en teoría y 2.5 puntos del total de 5 alcanzables en prácticas). En caso de no superar alguna de las dos partes la nota obtenida en la convocatoria será la mínima de las dos notas obtenidas en teoría y práctica.

Todo lo relativo a la evaluación se regirá por la normativa sobre planificación docente y organización de exámenes vigente en la Universidad de Granada.

El sistema de calificaciones se expresará mediante calificación numérica de acuerdo con lo establecido en el art. 5 del R. D 1125/2003, de 5 de septiembre, por el que se establece el sistema europeo de créditos y el sistema de calificaciones en las titulaciones universitarias de carácter oficial y validez en el territorio nacional.

Información adicional

Régimen Asistencia: La asistencia no es obligatoria aunque es muy recomendable.

Información de interés para estudiantado con discapacidad y/o Necesidades Específicas de Apoyo Educativo (NEAE): Gestión de servicios y apoyos (https://ve.ugr.es/servicios/atencion-social/estudiantes-con-discapacidad).