Prefacio a la Guía del marco de desarrollo de juegos 3D
En 2006, tradujimos el libro "PRO OGRE 3D PROGRAMMING", creamos una comunidad china para el motor OGRE 3D y proporcionamos la versión electrónica de este libro a amigos nacionales para que lo descarguen y lo estudien. Unos años más tarde, el motor de gráficos 3D OGRE ha florecido en toda China. Las empresas de juegos, incluidas The9, Jiuyou, Gigabyte, Sohu Changyou, Kirin Games y Netdomain, están utilizando este motor gráfico en diversos grados. Cada vez más empresas de juegos utilizan este motor gráfico. Cada vez más amigos empiezan a prestarle atención. Con la aprobación de Electronic Industry Press, el autor tiene la suerte de escribir un libro sobre el uso y desarrollo de Ogre3D.
Origen de este libro
Desde que establecimos la comunidad china de OGRE 3D en 2006, hemos recibido continuamente ayuda de amigos entusiastas y hemos traducido una gran cantidad de documentos relacionados con OGRE 3D, incluido el "Manual de Ogre" ", "Tutorial básico", "Tutorial intermedio" y una serie de artículos relacionados, por lo que hoy, cuando me estaba preparando para escribir un libro sobre conocimientos relacionados con OGRE 3D desde cero, descubrí que la mayor parte del contenido del conocimiento. ya se puede encontrar en Internet. Es casi imposible crear un libro original centrado en el uso de OGRE 3D.
El autor no se atreve en absoluto a correr el riesgo de reunir una colección de artículos sobre "corrupción académica" para que todos puedan leerlos. En lugar de repetir el conocimiento que ya está disponible en Internet, es mejor. Para encontrar otra forma, es decir, explicar cómo pasar el código comenzando con el marco de desarrollo del juego. Después de aprender el motor OGRE 3D, puedes completar el juego completo.
Este libro no le dirá a los lectores los conceptos básicos de un motor gráfico, pero espera decirles qué herramientas faltan para completar un juego completo después de comprender un motor gráfico. Este libro está dirigido a amigos que quieran aprender más sobre cómo desarrollar un juego completo basado en OGRE 3D.
Proporcionamos la dirección de descarga de la versión china de "PRO OGRE 3D PROGRAMMING" en el CD, donde se presentan en detalle los conocimientos y detalles relacionados con OGRE 3D. Espero que los lectores puedan combinar estos dos libros para leerlos. Me gustaría agradecer a mi editora, la Sra. Yuan Jinmin, porque precisamente gracias a su afirmación tengo la confianza para completar este libro.
Basado en el posicionamiento anterior, este libro debería ser el segundo libro para aprender el desarrollo de juegos 3D de OGRE, ayudando a los lectores a pasar de ser un investigador de motores a un desarrollador de juegos práctico. Es posible que los lectores no hayan entrado en contacto con el motor de gráficos 3D de OGRE. Accidentalmente vieron este libro en una librería y están decidiendo si unirse al equipo de desarrolladores de OGRE 3D. El capítulo 1 de este libro ayudará a los lectores a resolver sus dudas y describir el historial de desarrollo y los recursos relacionados del motor de gráficos 3D OGRE desde una perspectiva macro. Intentamos ser lo más breves y concisos posible para que los lectores puedan leerlo mientras están de pie junto a la estantería de la librería y decidir si es necesario aprender OGRE 3D y si necesitan gastar dinero para comprar este libro. Si descubre que existen herramientas de desarrollo de juegos que le interesan, entonces este libro definitivamente traerá el efecto "carbono en la nieve" a su trabajo algún día.
Guía de lectura de este libro
La característica más importante de este libro es su dependencia del código para avanzar en el progreso. Casi todos los cursos a partir del Capítulo 2 tienen proyectos de código relacionados para referencia de los lectores, lo que les permite comprender el contenido presentado en este libro de manera más intuitiva.
Las investigaciones sobre el comportamiento en línea muestran que si lo mantienes durante 21 días, es probable que cambies o desarrolles un nuevo hábito. Aunque no soy un experto en este campo, divido el curso de este capítulo en 3 semanas de acuerdo con la convención del libro "Master XXX en 21 días". Cada semana se explica un proyecto completo. Al menos esto permite a los lectores organizar su tiempo de lectura fácilmente.
El primer día de cada semana (domingo), explicaremos el contenido específico y los conocimientos previos del curso de esta semana. En los siguientes cursos de lunes a sábado, se descompondrá un proyecto completo en 6. partes y gradualmente se mejoran y explican a su vez.
OGRE 3D se posiciona como un motor gráfico puro. El efecto secundario de su excelente independencia es que si necesitas completar un juego completo, OGRE 3D no es suficiente. También necesitas redes y motores de audio similares. Motor, motor de entrada y otras bibliotecas funcionales, así como un marco eficiente, estable y potente. Independientemente de si los lectores han creado un juego completo, deberían poder sentir lo importante que es un buen marco para un juego. Este libro se centrará en este aspecto del conocimiento. En la primera semana del Capítulo 2, presentamos el marco utilizado por el programa de demostración OGRE 3D con el que los lectores están familiarizados y completamos un juego "Whack-A-Mole". Aunque este marco no es lo suficientemente sólido para completar un juego comercial, al menos puede ayudar a los lectores a comprender el importante papel del marco en el desarrollo de juegos.
Además de una gran cantidad de documentos traducidos, la comunidad china de OGRE 3D también está haciendo un trabajo muy significativo, que consiste en desarrollar y mejorar un marco de desarrollo de juegos comercialmente sólido, Orz, basado en las ideas de OGRE 3D (. Zona de Recursos Abiertos). En el año transcurrido desde que se anunció como código abierto, hemos recibido el reconocimiento y el apoyo de muchos amigos de la industria (incluso amigos del otro lado del Estrecho de Taiwán).
En la segunda semana del curso, utilizamos el marco Orz para reemplazar el marco del programa de demostración OGRE 3D para implementar el juego clásico "Space Invaders". En el curso de esta semana utilizamos un enfoque de desarrollo rápido para completar el prototipo del juego sin utilizar demasiadas funciones avanzadas en el marco de Orz. Esto permite a los lectores comprender cómo mejorar la velocidad y la calidad del desarrollo de juegos a través del marco sin tener que dominar conocimientos previos complejos. En aplicaciones comerciales reales, Orz ha logrado una mejora sustancial en la eficiencia del trabajo.
Si los lectores entran en contacto con algunos marcos de desarrollo internos de otras empresas, encontrarán que Orz no es peor que estos productos comerciales, e incluso mejor que otros productos en muchos aspectos.
El marco Orz tiene sus propias ambiciones. No solo es una herramienta para ayudar a los lectores a mejorar la eficiencia del desarrollo, sino que también proporciona una base metodológica de diseño de juegos para el "desarrollo distribuido ideal" en el diseño del marco. Utilizamos potentes sistemas de mensajería, sistemas de complementos, administradores de ID y otras herramientas para reducir los costos de comunicación entre desarrolladores tanto como sea posible y lograr una base que permita a los desarrolladores colaborar en el desarrollo de juegos enormes con bajos costos de coordinación.
Basándose en este concepto, la comunidad china OGRE 3D una vez organizó a algunos desarrolladores para completar su propio código e implementaron un juego similar al "Fight Club" sin comunicarse entre sí. Por lo tanto, en la tercera semana del curso, utilizamos esta actividad de la vida real como contexto para explicar cómo utilizar el modelo de "desarrollo distribuido ideal" para completar un juego. Aquí utilizamos muchas funciones y herramientas avanzadas de Orz para examinar los "postres" que ofrece el marco de desarrollo de juegos de Orz desde un nivel superior.
No sé si estos "postres" han atraído el apetito de los lectores. Si no, también hemos preparado un "festín" en el Capítulo 3, que presenta los detalles del uso del marco Orz en. detalle.
Orz sigue el patrón MVC tanto como sea posible en el diseño del marco. Creemos que un buen diseño equivale a un marco simple más herramientas ricas. Durante el proceso de diseño del marco, intentamos explicar algunos módulos de desarrollo de juegos como herramientas independientes en los capítulos relevantes. Los lectores pueden usar estas herramientas de forma selectiva para simplificar el proceso de desarrollo del juego. Si los lectores planean crear un juego desde cero y están listos para usar el marco completo de Orz, aquí también hay una introducción detallada al marco simple. Por supuesto, al igual que los cursos anteriores, no solo proporcionamos el código para todos los frameworks de Orz, sino que también proporcionamos las rutinas correspondientes a cada curso.
Creo que muchos desarrolladores de juegos que crecieron en China esperan realizar un juego MMO en línea en lugar de un juego "Tetris" independiente.
Gracias a la dedicación desinteresada del Sr. Xiong Xiaolei, existe en Orz una biblioteca de red de desarrollo de juegos independiente, OrzAsio.
OrzAsio es una biblioteca de red asíncrona multiplataforma eficiente y escalable. Su objetivo es proporcionar a los usuarios componentes de desarrollo de programas de red eficientes, confiables y flexibles para facilitar a los usuarios la creación de programas de red eficientes y flexibles. Un objetivo importante de OrzAsio es desarrollar módulos de red para juegos en línea multijugador masivo y satisfacer bien las necesidades de servidores de juegos en línea de gran rendimiento y alta carga. La capa subyacente de red de OrzAsio se basa en boost::asio, una biblioteca de red eficiente, escalable y multiplataforma. Si le importa nuestra comunidad, los lectores sabrán que el Sr. Xiong Xiaolei está completando una arquitectura de desarrollo de red más vanguardista para juegos en línea basada en la Especificación de arquitectura de agente de solicitud de objetos común (especificación CORBA).
La documentación de la biblioteca de red OrzAsio y su herramienta dependiente Toolkit_Plus se proporciona en el CD que acompaña a este libro.
Espero que los lectores disfruten de nuestra comida cuidadosamente preparada. Es un placer para nosotros si lo disfrutas. Sin embargo, crear un juego completo no es algo que pueda explicarse completamente en un solo libro, por lo que proporcionamos un mapa de este paraíso creativo al final de este libro. En el apéndice de este libro proporcionamos una breve descripción general de la biblioteca Boost, los patrones de diseño y OGRE 3D.
Agradecimientos
Los ganadores de los Oscar de Hollywood dirán unas palabras de agradecimiento en el momento más importante. Lo que queremos decir es lo siguiente.
Gracias a mis jefes y colegas actuales y anteriores por su apoyo y aliento. Por supuesto, crean que no escribí durante el horario laboral ni retrasé el progreso de mi trabajo.
Gracias a la comunidad OGRE 3D por proporcionar un software tan bueno. Aunque la mayoría de los desarrolladores principales del motor no entienden chino, todavía les agradezco sinceramente por este libro en chino.
Gracias a quienes han trabajado duro para popularizar el motor OGRE 3D en China, al equipo de desarrollo de juegos de Mega, al profesor Sheng Chongshan, a Yan Chen y al Sr. Xie Jianhua (transliteración) por permitirme compartir sus honor.
Gracias al Sr. Xiong Xiaolei por donar la biblioteca de la red y los documentos correspondientes, agradeciendo al Sr. Ren Xiaoyu del equipo de desarrollo de juegos de Mega por proporcionar autorización para algunos capítulos de la "Guía del usuario de OGRE", agradeciendo a Liang Guodong por "Apéndice C", y agradeciendo a los hermanos por encontrar un error tipográfico.
Gracias a mi familia por preocuparse por mí y a mis padres por tolerar mi obstinación. Gracias a mi novia por apoyarme y aceptarme para escribir manuscritos fuera de la ciudad todos los días en lugar de llamarlos.
Si no pensara que mi familia leería este libro, entonces sería la primera persona en agradecerles a ustedes, los lectores que están leyendo esto ahora. Si compras este libro, me estás ayudando económicamente; si dejas que tus amigos lean este libro, me estás ayudando a soñar.
El sueño es:
Que todos los que ven televisión puedan desarrollar juegos.