Deprecated: ¡La función UM::enqueue ha quedado obsoleta desde la versión 2.7.0! Usa UM()->frontend()->enqueue() en su lugar. in /home/elsoluci/public_html/elsolucionario.me/wp-includes/functions.php on line 6078

Notice: Accessing static property um\frontend\Enqueue::$suffix as non static in /home/elsoluci/public_html/elsolucionario.me/wp-content/plugins/um-user-bookmarks/includes/core/class-bookmark-common.php on line 47

Notice: Undefined property: um\frontend\Enqueue::$suffix in /home/elsoluci/public_html/elsolucionario.me/wp-content/plugins/um-user-bookmarks/includes/core/class-bookmark-common.php on line 47

Deprecated: ¡La función UM::enqueue ha quedado obsoleta desde la versión 2.7.0! Usa UM()->frontend()->enqueue() en su lugar. in /home/elsoluci/public_html/elsolucionario.me/wp-includes/functions.php on line 6078

Notice: Accessing static property um\frontend\Enqueue::$suffix as non static in /home/elsoluci/public_html/elsolucionario.me/wp-content/plugins/um-user-bookmarks/includes/core/class-bookmark-common.php on line 51

Notice: Undefined property: um\frontend\Enqueue::$suffix in /home/elsoluci/public_html/elsolucionario.me/wp-content/plugins/um-user-bookmarks/includes/core/class-bookmark-common.php on line 51

Desarrollo de Videojuegos Vol. 1: Arquitectura del Motor – David Vallejo, Cleto Martín – 1ra Edición

Descripción

Este primer libro de la colección introduce los conceptos básicos relativos a estructuras y principios de diseño de videojuegos, proporcionando una visión general de la arquitectura de un motor de juegos.

Dentro del contexto de esta arquitectura general se hace especial hincapié en aspectos como los subsistemas de bajo nivel, el bucle de juego, la gestión básica de recursos, como el sonido, y la gestión de la concurrencia. Para llevar a cabo una discusión práctica de todos estos elementos se hace uso del motor de renderizado Ogre3D.

Por otra parte, en este primer volumen también se estudian los fundamentos del lenguaje de programación C++ como herramienta fundamental para el desarrollo de videojuegos profesionales. Este estudio se complementa con una discusión en profundidad de una gran variedad de patrones de diseño y de la biblioteca STL. Además, también se realiza un recorrido por herramientas que son esenciales en el desarrollo de proyectos software complejos, como por ejemplo los sistemas de control de versiones, o procesos como la compilación o la depuración.

Ver más
  • 1. Introducción
    1.1. El desarrollo de videojuegos
    1.1.1. La industria del videojuego. Presente y futuro
    1.1.2. Estructura típica de un equipo de desarrollo
    1.1.3. El concepto de juego
    1.1.4. Motor de juego
    1.1.5. Géneros de juegos
    1.2. Arquitectura del motor. Visión general
    1.2.1. Hardware, drivers y sistema operativo
    1.2.2. SDKs y middlewares
    1.2.3. Capa independiente de la plataforma
    1.2.4. Subsistemas principales
    1.2.5. Gestor de recursos
    1.2.6. Motor de rendering
    1.2.7. Herramientas de depuración
    1.2.8. Motor de física
    1.2.9. Interfaces de usuario
    1.2.10.Networking y multijugador
    1.2.11.Subsistema de juego
    1.2.12.Audio
    1.2.13.Subsistemas especí?cos de juego

    2. Herramientas de Desarrollo
    2.1. Introducción
    2.2. Compilación, enlazado y depuración
    2.2.1. Conceptos básicos
    2.2.2. Compilando con GCC
    2.2.3. ¿Cómo funciona GCC?
    2.2.4. Ejemplos
    2.2.5. Otras herramientas
    2.2.6. Depurando con GDB
    2.2.7. Construcción automática con GNU Make
    2.3. Gestión de proyectos y documentación
    2.3.1. Sistemas de control de versiones
    2.3.2. Documentación
    2.3.3. Forjas de desarrollo

    3. C++. Aspectos Esenciales
    3.1. Utilidades básicas
    3.1.1. Introducción a C++
    3.1.2. ¡Hola Mundo! en C++
    3.1.3. Tipos, declaraciones y modi?cadores
    3.1.4. Punteros, arrays y estructuras
    3.1.5. Referencias y funciones
    3.2. Clases
    3.2.1. Fundamentos básicos
    3.2.2. Aspectos especí?cos de las clases
    3.2.3. Sobrecarga de operadores
    3.3. Herencia y polimor?smo
    3.3.1. Herencia
    3.3.2. Herencia múltiple
    3.3.3. Funciones virtuales y polimor?smo
    3.4. Plantillas
    3.4.1. Caso de estudio. Listas
    3.4.2. Utilizando plantillas en C++
    3.4.3. ¿Cuándo utilizar plantillas?
    3.5. Manejo de excepciones
    3.5.1. Alternativas existentes
    3.5.2. Excepciones en C++
    3.5.3. ¿Cómo manejar excepciones adecuadamente?
    3.5.4. ¿Cuándo utilizar excepciones?

    4. Patrones de Diseño
    4.1. Introducción
    4.1.1. Estructura de un patrón de diseño
    4.1.2. Tipos de patrones
    4.2. Patrones de creación
    4.2.1. Singleton
    4.2.2. Abstract Factory
    4.2.3. Factory Method
    4.2.4. Prototype
    4.3. Patrones estructurales
    4.3.1. Composite
    4.3.2. Decorator
    4.3.3. Facade
    4.3.4. MVC
    4.3.5. Adapter
    4.3.6. Proxy
    4.4. Patrones de comportamiento
    4.4.1. Observer
    4.4.2. State
    4.4.3. Iterator
    4.4.4. Template Method
    4.4.5. Strategy
    4.4.6. Reactor
    4.4.7. Visitor
    4.5. Programming Idioms
    4.5.1. Orthodox Canonical Form
    4.5.2. Interface Class
    4.5.3. Final Class
    4.5.4. pImpl

    5. La Biblioteca STL
    5.1. Visión general de STL
    5.2. STL y el desarrollo de videojuegos
    5.2.1. Reutilización de código
    5.2.2. Rendimiento
    5.2.3. Inconvenientes
    5.3. Secuencias
    5.3.1. Vector
    5.3.2. Deque
    5.3.3. List
    5.4. Contenedores asociativos
    5.4.1. Set y multiset
    5.4.2. Map y multimap
    5.5. Adaptadores de secuencia
    5.5.1. Stack
    5.5.2. Queue
    5.5.3. Cola de prioridad

    6. Gestión de Recursos
    6.1. El bucle de juego
    6.1.1. El bucle de renderizado
    6.1.2. Visión general del bucle de juego
    6.1.3. Arquitecturas típicas del bucle de juego 6.1.4. Gestión de estados de juego con Ogre3D 6.1.5. De?nición de estados concretos
    6.2. Gestión básica de recursos
    6.2.1. Gestión de recursos con Ogre3D
    6.2.2. Gestión básica del sonido
    6.3. El sistema de archivos
    6.3.1. Gestión y tratamiento de archivos
    6.3.2. E/S básica
    6.3.3. E/S asíncrona
    6.3.4. Caso de estudio. La biblioteca Boost.Asio C++ 6.3.5. Consideraciones ?nales
    6.4. Importador de datos de intercambio
    6.4.1. Formatos de intercambio
    6.4.2. Creación de un importador

    7. Bajo Nivel y Concurrencia
    7.1. Subsistema de arranque y parada
    7.1.1. Aspectos fundamentales
    7.1.2. Esquema típico de arranque y parada
    7.1.3. Caso de estudio. Ogre 3D
    7.1.4. Caso de estudio. Quake III
    7.2. Contenedores
    7.2.1. Iteradores
    7.2.2. Más allá de STL
    7.3. Subsistema de gestión de cadenas
    7.3.1. Cuestiones especí?cas
    7.3.2. Optimizando el tratamiento de cadenas
    7.3.3. Hashing de cadenas
    7.4. Con?guración del motor
    7.4.1. Esquemas típicos de con?guración
    7.4.2. Caso de estudio. Esquemas de de?nición.
    7.5. Fundamentos básicos de concurrencia
    7.5.1. El concepto de hilo
    7.5.2. El problema de la sección crítica
    7.6. La biblioteca de hilos de ICE
    7.6.1. Internet Communication Engine
    7.6.2. Manejo de hilos
    7.6.3. Exclusión mutua básica
    7.6.4. Flexibilizando el concepto de mutex
    7.6.5. Introduciendo monitores
    7.7. Multi-threading en Ogre3D
    7.8. Caso de estudio. Procesamiento en segundo plano mediante hilos
  • Citar Libro

Déjanos un comentario

No hay comentarios

guest
0 Comentarios
Comentarios en línea
Ver todos los comentarios
0
Nos encantaría conocer tu opinión, comenta.x