Primer semestre. Fundamentos y programación de videojuegos
1. Introducción a los videojuegos
1.1. El videojuego como producto cultural (historia de los videojuegos, géneros, aplicaciones de los videojuegos, el segmento del videojuego en el ocio).
1.2. Publicación de un videojuego (creación, perfiles profesionales, mercado).
1.3. Plataformas y arquitecturas para videojuegos (videoconsolas, ordenadores personales, dispositivos móviles).
2. Videojuegos 2D
2.1. Estructura de un videojuego.
2.2. Tile based engine (perspectivas, estructuras de datos y algoritmos de visualización, navegación).
2.3. Física (conceptos, colisiones, proyectiles).
2.4. Programación gráfica 2D (API gráficas).
3. Videojuegos 3D
3.1. Estructura de videojuegos 3D.
3.2. Física (colisiones, motores de físicas).
3.3. Programación gráfica 3D (iluminación, texturas, navegación 3D, escenarios, shaders ).
Segundo Semestre: Programación avanzada de videojuegos
1. Sonido, interacción y redes
1.1. Usuario a videojuego (dispositivos de entrada, captura de entrada e interpretación).
1.2. Videojuego a usuario (pantalla, sonido).
1.3. Videojuego a videojuego (arquitecturas de red, protocolos, API, juegos en línea)
2. Lógica de videojuego
2.1. Ingeniería del software aplicada a videojuegos (paradigmas y patrones).
2.2. Programa principal de videojuego (estados y bucle principal).
2.3. Motor lógico (discretización y tareas).
2.4. Gestión de datos de un videojuego (objetos, niveles, gestión de almacenamiento).
2.5. Lenguajes de scripting (lenguajes y usos, LUA).
3 . Inteligencia artificial (IA)
3.1. La inteligencia artificial en los videojuegos (historia, scripting , y análisis de curva de dificultad).
3.2. Técnicas de movimiento (patrones, búsqueda de caminos).
3.3. Toma de decisiones (máquinas de estados finitos, reglas, árboles de decisión, lógica).
3.4. Técnicas avanzadas de IA (aprendizaje, evolución, comportamientos colectivos).
3.5. Usos de técnicas por géneros de videojuegos.
4 . Proyecto final
Se plasman en la práctica los contenidos trabajados durante todo el programa.
Los temas del proyecto:
- Extensiones motores 3D.
- Guiones IA (IA Scripting)
- Desarrollos en plataformas móviles.
- Libre (A determinar con el alumno)