Tesis profesional presentada por
Licenciatura en Ingeniería en Sistemas Computacionales. Departamento de Computación, Electrónica, Física e Innovación. Escuela de Ingeniería y Ciencias, Universidad de las Américas Puebla.
Jurado Calificador
Presidente: Dr. Mauricio Javier Osorio
Galindo
Vocal y Director: Dr. Daniel Vallejo
Rodríguez
Secretario: Dr. Fernando Antonio Aguilera
Ramírez
Cholula, Puebla, México a 15 de mayo de 2006.
En este proyecto de tesis se implementó el Núcleo de un Motor de Juegos que sea re-usable, modular y que aproveche lo mejor posible los recursos de hardware que lleva por nombre SION Engine.
Este Motor de Juegos cuenta con 3 sub-Motores: un Motor Gráfico, un Motor de Audio y un Motor Input. El Motor Gráfico se encarga de la administración de objetos y modelos 3D, su rendereo en la pantalla, las matemáticas que se relacionan a estos modelos 3D, y los movimientos de cámaras. El Motor de Audio solamente se encarga de administrar los sonidos, y el Motor Input se encarga de administrar los dispositivos de entrada. Para el diseño y desarrollo de SION Engine se utilizó el lenguaje de programación C++, el API de DirectX ( DirectSound, DirectMusic, Direct3D, DirectInput), un lenguaje de programación de shaders para optimizar el procesamiento de vértices y píxeles en el GPU llamado HLSL ( High Level Shading Language ) y un tipo especial de lenguaje ensamblador para optimizar las matemáticas 3D en el CPU llamado SSE ( Streaming SIMD extensión ). Para que fuera modular, se utilizó un tipo de estructura en el cual cada sub-Motor es independiente y se pueden utilizar por separado dependiendo las necesidades que se requieran. También se pueden hacer modificaciones o aumentar funcionalidad sin necesidad de reescribir las aplicaciones que ya fueron creadas por este Motor. Aprovecha los recursos de hardware distribuyendo el trabajo al CPU y al GPU utilizando lenguajes de programación especializados en cada unidad de procesamiento.
Este Motor de Juegos se puede utilizar para la creación de diferentes aplicaciones 3D y la creación y desarrollo de diferentes videojuegos en primera persona sin necesidad de preocuparse en las partes técnicas como las matemáticas y la programación de bajo nivel.
Palabras Clave: DirectX, HLSL ( High Level Shading Language ), SSE ( Streaming SIMD Extensión ), GPU ( Graphic Process Unit ), CPU ( Central Process Unit ), Motor de Juegos.
Capítulo 1. Introducción (archivo pdf, 46 kb)
Capítulo 2. Marco teórico (archivo pdf, 240 kb)
Capítulo 3. Desarrollo del motor de juegos (archivo pdf, 109 kb)
Capítulo 4. Pruebas (archivo pdf, 1 mb)
Capítulo 5. Conclusiones y trabajo a futuro (archivo pdf, 21 kb)
Martínez Franco, D. d. 2006. Implementación del núcleo de un motor de juegos utilizando C++, DirectX y HLS. Tesis Licenciatura. Ingeniería en Sistemas Computacionales. Departamento de Computación, Electrónica, Física e Innovación, Escuela de Ingeniería y Ciencias, Universidad de las Américas Puebla. Mayo. Derechos Reservados © 2006.