</> CodeBooks
    ← Volver a Desarrollo de videojuegos (página 3)
    Portada de Multi-Threaded Game Engine Design

    Multi-Threaded Game Engine Design

    Jonathan S. Harbour

    Editorial
    Course Technology
    Año
    2010
    Páginas
    ~592
    Nivel
    Intermedio

    De qué trata

    Tratado técnico orientado al diseño y construcción desde cero de un motor de videojuegos en C++ concebido específicamente para aprovechar arquitecturas de hardware multinúcleo mediante multiprocesamiento simétrico (SMP). Escrito por Jonathan S. Harbour, está dirigido a programadores intermedios y avanzados de videojuegos con experiencia sólida en C++ y matemáticas 3D que buscan superar las limitaciones de rendimiento impuestas por los bucles de juego tradicionales de un solo hilo.

    El libro realiza un análisis comparativo y práctico de las principales tecnologías de concurrencia: hilos nativos de Windows (Win32 threads), POSIX Threads (Pthreads), Boost.Threads y directivas de paralelización con OpenMP. Sobre esa infraestructura, el autor erige los subsistemas de un motor 3D completo empleando DirectX 9 (Direct3D) y shaders en HLSL: matemáticas de vectores y matrices, gestión de cámara y escena, carga de modelos `.X` y texturas, skyboxes, generación procedural de terreno mediante ruido de Perlin, animación de mallas esqueléticas con jerarquías de huesos, manejo de sprites 2D con `ID3DXSprite`, renderizado a textura (RTT), gestión centralizada de entidades con `AutoTimer` y detección de colisiones mediante ray-casting (picking). La obra culmina desacoplando las rutinas de físicas, gravedad y colisiones para ejecutarlas en paralelo.

    El aprendizaje se plasma en la implementación completa del motor y en demos técnicas interactivas que evalúan el rendimiento concurrente frente a ejecuciones secuenciales, destacando pruebas masivas de colisión de sprites y cálculos físicos bajo OpenMP. Su valor principal estriba en enseñar a distribuir tareas sin caer en condiciones de carrera ni bloqueos mutuos; sin embargo, al datar de 2010, sus ejemplos dependen de DirectX 9, formatos heredados como `.X` y versiones de Boost anteriores a los estándares contemporáneos de C++, por lo que sus soluciones deben asimilarse como patrones arquitectónicos y no como código listo para producción moderna.

    • C++
    • Multithreading
    • DirectX 9
    • Direct3D
    • OpenMP
    • Boost.Threads
    • Win32 Threads
    • Pthreads
    • HLSL
    • Game Engine Architecture
    • Collision Detection

    ¿Cómo enseña?

    TeóricoPráctico

    Con proyectos

    • ✗ Sin ejercicios
    • ✓ Incluye proyectos

    Proyectos

    Custom Multi-Threaded 3D Game Engine

    Motor de videojuegos 3D construido desde cero en C++ y Direct3D que desacopla la carga de datos, cálculo de físicas, animación esquelética y renderizado en hilos independientes mediante OpenMP, Win32 y Boost.Threads.

    Multi-Threaded Sprite & Physics Collision Demo

    Demostración técnica interactiva que pone a prueba la arquitectura concurrente del motor mediante simulaciones de gravedad y detección simultánea de colisiones en tiempo real repartidas entre múltiples núcleos de la CPU.

    Más de Desarrollo de videojuegos con nivel Intermedio