Guía docente de Programación Lúdica (Especialidad Computación y Sistemas Inteligentes) (29611AB)
Grado
Rama
Módulo
Materia
Curso
Semestre
Créditos
Tipo
Profesorado
Teórico
Práctico
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
- Introducción a la programación lúdica
- Conceptos generales
- Historia
- Géneros
- El negocio de los videojuegos
- Metodología
- Ingeniería del software en el desarrollo de juegos
- Metodología ágiles
- SCRUM
- Desarrollo
- Arquitectura
- Patrones de diseño
- Lenguajes y herramientas para la programación de juegos
- Bibliotecas y Engines
- Gráficos y sonido
- Representación de imágenes 2D
- Gráficos 3D
- Animación
- GPUs y shaders
- Música y efectos
- Motor de Física
- Impacto de la Física en un videojuego
- Detección y resolución de colisiones
- Generación procedimental de contenido
- Historia
- Azar y ruido
- Áreas de aplicación de PCG
- Inteligencia Artificial
- Técnicas de Inteligencia Artificial clásicas
- Técnicas de Inteligencia Artificial avanzadas
- Búsqueda, adaptación y aprendizaje
- 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
- Elevator pitch
- Game Design Document
- 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
Enlaces recomendados
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).