PDF de programación - Desarrollo de Videojuegos: Arquitectura del Motor de Videojuegos

Imágen de pdf Desarrollo de Videojuegos: Arquitectura del Motor de Videojuegos

Desarrollo de Videojuegos: Arquitectura del Motor de Videojuegosgráfica de visualizaciones

Actualizado el 16 de Junio del 2017 (Publicado el 10 de Mayo del 2017)
7.040 visualizaciones desde el 10 de Mayo del 2017
14,2 MB
314 paginas
Creado hace 6a (09/08/2013)
David Vallejo FernándezCleto Martín Angelina1 Título: Desarrollo de Videojuegos: Arquitectura del MotorEdición: Segunda, Julio 2013Autores: David Vallejo Fernández y Cleto Martín AngelinaISBN: 978-84-686-4028-0 (de la Edición Física, a la venta en www.bubok.es)Publica: Bubok (Edición Física) LibroVirtual.org (Edición electrónica)Edita: David Vallejo Fernández y Carlos González MorcilloDiseño: Carlos González MorcilloEste libro fue compuesto con LaTeX a partir de una plantilla de Carlos González Morcillo, Sergio García Mondaray y David Villa Alises. La portada y las entradillas fueron diseñadas con GIMP, Blender, InkScape y OpenOffice. Creative Commons License: Usted es libre de copiar, distribuir y comunicar públicamente la obra, bajo las condiciones siguientes: 1. Reconocimiento. Debe reconocer los créditos de la obra de la manera especificada por el autor o el licenciador. 2. No comercial. No puede utilizar esta obra para fines comerciales. 3. Sin obras derivadas. No se puede alterar, transformar o generar una obra derivada a partir de esta obra. Más información en: http://creativecommons.org/licenses/by-nc-nd/3.0/ David Vallejo (2009, Doctor Europeo en Informática,
Universidad de Castilla-La Mancha) es Profesor
Ayudante Doctor e imparte docencia en la Escuela de
Informática de Ciudad Real (UCLM) en asignaturas
relacionadas con Informática Gráfica, Programación y
Sistemas Operativos desde 2007. Actualmente, su
actividad investigadora gira en torno a la Vigilancia
Inteligente, los Sistemas Multi-Agente y el Rendering
Distribuido.

Cleto Martín (2011, Ingeniero Informática y Máster de
Investigación en Tecnologías Informáticas Avanzadas,
Universidad de Castilla-La Mancha) trabaja como
Software Developer en Digital TV Labs (Bristol, UK) y
como mantenedor de paquetes de aplicaciones para
Canonical Ltd. y el proyecto Debian. Es un gran
entusiasta de los sistemas basados en GNU/Linux, así
como el desarrollo de aplicaciones basadas en redes
de computadores y sistemas distribuidos.

Prefacio

Con más de 40.000 descargas y 4TB servidos desde Junio de 2012,
el material docente y el código fuente de los ejemplos del Curso de Ex-
perto en Desarrollo de Videojuegos, impartido en la Escuela Superior
de Informática de Ciudad Real de la Universidad de Castilla-La Man-
cha, se ha convertido en un referente internacional en la formación de
desarrolladores de videojuegos.

Puedes obtener más información sobre el curso, así como los resul-
tados de los trabajos creados por los alumnos de la 1a y la 2a edición,
en la web del mismo: http://www.cedv.es. La versión electrónica de
este libro (y del resto de libros de la colección) puede descargarse des-
de la web anterior. El libro «físico» puede adquirirse desde la página
web de la editorial online Bubok en http://www.bubok.es.

Sobre este libro...

Este libro forma parte de una colección de 4 volúmenes, con un
perfil principalmente técnico, dedicados al Desarrollo de Videojuegos :

1. Arquitectura del Motor. En este primer libro se estudian los
aspectos esenciales del diseño de un motor de videojuegos, así
como las técnicas básicas de programación y patrones de diseño.

2. Programación Gráfica. El segundo libro de la colección se centra
en algoritmos y técnicas de representación gráfica, así como en
optimizaciones y simulación física.

3. Técnicas Avanzadas. En este tercer volumen se recogen ciertos
aspectos avanzados, como estructuras de datos específicas, téc-
nicas de validación y pruebas.

4. Desarrollo de Componentes. El último libro está dedicado a
ciertos componentes específicos del motor, como la Inteligencia
Artificial, Networking, Sonido y Multimedia o técnicas avanzadas
de Interacción.

Requisitos previos

Este libro tiene un público objetivo con un perfil principalmente
técnico. Al igual que el curso, está orientado a la capacitación de pro-
fesionales de la programación de videojuegos. De esta forma, este libro
no está orientado para un público de perfil artístico (modeladores, ani-
madores, músicos, etc.) en el ámbito de los videojuegos.

Se asume que el lector es capaz de desarrollar programas de nivel
medio en C y C++. Aunque se describen algunos aspectos clave de C++
a modo de resumen, es recomendable refrescar los conceptos básicos
con alguno de los libros recogidos en la bibliografía del curso. De igual
modo, se asume que el lector tiene conocimientos de estructuras de
datos y algoritmia. El libro está orientado principalmente para titula-
dos o estudiantes de últimos cursos de Ingeniería en Informática.

Programas y código fuente

El código de los ejemplos puede descargarse en la siguiente página
web: http://www.cedv.es. Salvo que se especifique explícitamente otra
licencia, todos los ejemplos del libro se distribuyen bajo GPLv3.

Agradecimientos

Los autores del libro quieren agradecer en primer lugar a los alum-
nos de la 1a y 2a edición del Curso de Experto en Desarrollo de Vi-
deojuegos por su participación en el mismo y el excelente ambiente
en las clases, las cuestiones planteadas y la pasión demostrada en el
desarrollo de todos los trabajos.

Los autores también agradecen el soporte del personal de adminis-
tración y servicios de la Escuela Superior de Informática de Ciudad
Real, a la propia Escuela y el Departamento de Tecnologías y Sistema
de Información de la Universidad de Castilla-La Mancha.

De igual modo, se quiere reflejar especialmente el agradecimiento
a las 8 empresas que ofertarán prácticas en la 3a edición del cur-
so: Devilish Games (Alicante), Dolores Entertainment (Barcelona), from
the bench (Alicante), Iberlynx Mobile Solutions (Ciudad Real), Kitma-
ker (Palma), playspace (Palma), totemcat - Materia Works (Madrid) y
Zuinqstudio (Sevilla). Este agradecimiento se extiende a los portales
y blogs del mundo de los videojuegos que han facilitado la difusión
de este material, destacando a Meristation, Eurogamer, Genbeta Dev,
Vidaextra y HardGame2.

Finalmente, los autores desean agradecer su participación a los
colaboradores del curso: Indra Software Labs, DocPath, la asociación
de desarrolladores de videojuegos Stratos y Libro Virtual.

Resumen

El objetivo de este módulo, titulado «Arquitectura del Motor» dentro
del Curso de Experto en Desarrollo de Videojuegos, es introducir los
conceptos básicos relativos a las estructuras y principios de diseño
y desarrollo comúnmente empleados en la creación de videojuegos.
Para ello, uno de los principales objetivos es proporcionar una visión
general de la arquitectura general 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 módulo también se estudian los fun-
damentos del lenguaje de programación C++ como herramienta funda-
mental 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 rea-
liza 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.

I

Índice general

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

1

1

3

6

8

9

1.2. Arquitectura del motor. Visión general

. . . . . . . . . . . 15

1.2.1. Hardware, drivers y sistema operativo . . . . . . . 16

1.2.2. SDKs y middlewares . . . . . . . . . . . . . . . . . . 17

1.2.3. Capa independiente de la plataforma . . . . . . . . 18

1.2.4. Subsistemas principales . . . . . . . . . . . . . . . 18

1.2.5. Gestor de recursos . . . . . . . . . . . . . . . . . . . 19

1.2.6. Motor de rendering . . . . . . . . . . . . . . . . . . . 20

1.2.7. Herramientas de depuración . . . . . . . . . . . . . 23

1.2.8. Motor de física . . . . . . . . . . . . . . . . . . . . . 23

1.2.9. Interfaces de usuario . . . . . . . . . . . . . . . . . 24

1.2.10.Networking y multijugador . . . . . . . . . . . . . . 25

1.2.11.Subsistema de juego . . . . . . . . . . . . . . . . . . 25

1.2.12.Audio . . . . . . . . . . . . . . . . . . . . . . . . . . 27

1.2.13.Subsistemas específicos de juego . . . . . . . . . . 28

2. Herramientas de Desarrollo

29

III

2.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . 29

2.2. Compilación, enlazado y depuración . . . . . . . . . . . . 30

2.2.1. Conceptos básicos . . . . . . . . . . . . . . . . . . . 31

2.2.2. Compilando con GCC . . . . . . . . . . . . . . . . . 34

2.2.3. ¿Cómo funciona GCC? . . . . . . . . . . . . . . . . . 34

2.2.4. Ejemplos

. . . . . . . . . . . . . . . . . . . . . . . . 37

2.2.5. Otras herramientas . . . . . . . . . . . . . . . . . . 42

2.2.6. Depurando con GDB . . . . . . . . . . . . . . . . . . 43

2.2.7. Construcción automática con GNU Make . . . . . . 49

2.3. Gestión de proyectos y documentación . . . . . . . . . . . 55

2.3.1. Sistemas de control de versiones

. . . . . . . . . . 56

2.3.2. Documentación . . . . . . . . . . . . . . . . . . . . . 61

2.3.3. Forjas de desarrollo . . . . . . . . . . . . . . . . . . 65

3. C++. Aspectos Esenciales

69

3.1. Utilidades básicas . . . . . . . . . . . . . . . . . . . . . . . 69

3.1.1. Introducción a C++ . . . . . . . . . . . . . . . . . . 69

3.1.2. ¡Hola Mundo! en C++ . . . . . .
  • Links de descarga
http://lwp-l.com/pdf3505

Comentarios de: Desarrollo de Videojuegos: Arquitectura del Motor de Videojuegos (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad