PROGRAMACIÓN C++; Elementos básicos de un programa C++, Operadores y expresiones, Estructuras de Control, Arrays y cadenas, Funciones, Estructuras y enumeraciones, Conceptos de la POO, Sistema E/S.
PROGRAMACIÓN DE VIDEOJUEGOS EN 3D; Introducción a los videojuegos, Control a partir de los dispositivos estándar típicos (DirectImput), Camara de visualización, Creación del gráfico de un videojuego, Optimizaciones respecto la visualización de la geometria, Detección de colisiones (Colder), Ejercicio practico (juego sencillo de carreras), Animación esqueletal (Cal3D) y graf de estados para la animación, IA básica en un videojuego FPS; Manager de Ítems,
GUI´s, Particulas y sonido, Practica final del curso (Implementar Quake).
>>Programación de Videojuegos en 3D
>>TEMARIO>
>>> >
>1- Programación avanzada:
>o Conocimientos avanzados de C++.>
>o Singletons.>
>o Clases configurables a partir de ficheros externos XML.>
>o Teoría de cores y instancias.>
>2- Introducción a los videojuegos:
>o Componentes de un estudio de creación de videojuegos.>
>o Módulos programables de un videojuego.>
>o Diagrama genérico de la ejecución de un videojuego (aplicación interactiva en tiempo real).>
>o Primer ejercicio práctico en Direct3D.>
>o Introducción al código base de la aplicación a desarrollar>
>o Text2D>
>o Timer.>
>o Render de primitivas básicas (punto, línia, ejes, esfera, cubo, etc.)>
>3-Control a partir de los dispositivos estándar típicos (>DirectInput):
>o Teclado.
>o >Mouse.
>o >Pad.
>o Ejercicio práctico: videojuegos sencillo (Bemani)
>4-Cámara de visualización:
>o Introducción a las cámaras con Direct3D.
>o Obtener los 6 planos del >frustum de una cámara.
>o Pintar la posición, la orientación y el >frustum de una cámara.
>> >
>5-Cámara de visualización:
>o Cámara Esférica
>o Cámara >FPShooter
>o Cámara >THPShooter.
>6-Creación del diseño gráfico de un videojuego:
>o Creación de arte (geometría) mediante >3D >Studio >Max.
>o Exportación de la geometría a ficheros en formato .ASE
>o Importación de ficheros en formato .ASE a nuestra aplicación (de una sola textura)
>o Importación de ficheros en format .ASE a nuestra aplicación (>multitextura)
>7-Optimizaciones respecto la visualización de la geometría:
>o >LODS
>o >Clipping->Frustum.
>o Graf de escenario (implementación mediante el algorismo A*).
>o >Porta >>
>>
>>
>8 - Detección de colisiones (>Coldet):
>o Detección de colisiones de >player> contra escenario.
>§ No permitir traspasar paredes.
>§ Permitir subir rampas/escaleras.
>§ Permitir saltar y caer desde pasarelas.
>o Detección de colisiones de proyectil contra escenario.
>9-Ejercicio práctico: videojuego sencillo de carreras.
>10-Animación >esqueletal (Cal3D) y graf de estados para la animación.
>11-IA básica en un videojuego >FPS:
>
>
>Programación de autómatas para comportamiento de los enemigos.
>Creación de rutas (mediante WayPoints) para ser recorridas por los enemigos.
>Detección de colisiones de >player contra enemigos.
>12-Manager de Ítems:
>o Inventario del player para saber qué armas y munición tiene.
>o Lógica de los ítems que hay en el escenario.
>o Detección de colisiones de >player contra los ítems>.
>>13- GUI’s:
>· >GUI
>· >Billboards
>· Ejercicio práctico: implementación de menú típico de >>la GUI.
>14- Partículas y sonido:
>· Partículas.
>· Sonido (>Bass y FMOD>)
>o Carga y reproducción de audio 2D.
>o Carga y reproducción de audio 3D.
>15- Práctica final de curso: implementar Quake.