Aplicación Práctica Queriendo aprender cómo crear una aplicación en Ogre desde cero


Introducción


Sobre el Autor Original
Xavier

¿Por qué este artículo?


No hay ningún sitio en el que puedas aprender de alguien sobre los errores y experiencias en el desarrollo de un juego o aplicación de simulación. Seguro, hay muchos artículos buenos en el Wiki y los foros pueden responder a cualquier pregunta. Pero para alguien que tiene experiencia sólo en el desarrollo y en programas orientados a objetos, pero cero experiencia en el desarrollo de simulaciones/juegos 3D, es una ardua tarea intentar encontrar que necesitas para saber como comenzar y crear algo práctico.

La audiencia de esta serie de tutoriales es el programador experimentado que quiere aprender la programación de juegos pero no tiene idea de por donde empezar. bien, aquí es donde debes comenzar. :-) Trataré las mayores tareas y los principales temas, que hay que hacer y como hay que hacerlo usando las librerías mencionadas antes (incluyendo, claro, Ogre3D).

Sin embargo, no voy a enseñarte C o C++ (o C# o ...). Tienes que tener al menos práctica con programación orientada a objetos y C++, o estarás perdiendo tu tiempo con Ogre (y la mayoría de las librerías). Sin experiencia con C++, también perderas el tiempo con las ayudas de la comunidad, tienes que tener nociones sobre ./configure. Esto es un sistema muy complejo (como es cualquier juego o aplicación grande), y pienso que los desarrolladores de las aplicaciones de Demo de Ogre, con buenas intenciones, hacen un flaco favor a los nuevos en la programación de juegos proporcionando un simple y único metodo "run()" en un Framework de ejemplo, la naturaleza y trabajos que estos no esperan comprender. Así, por lo tanto, si todo lo que quieres hacer es cargar un modelo animado en Ogre y verlo ejecutarse en la pantalla, esta serie tampoco es para ti: prueba con las aplicaciones de demo, que hacen todo el trabajo por ti (al menos todo el trabajo que tu necesitaras).

El framework de ejemplo de aplicación, no lo uso. Uso un patrón de diseño orientado a objetos estándar, y funciona bien para situaciones donde es ideal: aplicaciones de demo Ogre, pequeños juegos con entrada limitada, aplicaciones de visualización, y demás. Discutiré en esta serie, eliminar el diálogo de configuración, cargar tus propios ajustes, inicializar el control de recursos, etc., ejecuta el bucle principal manualmente, etc. Si tu idea coincide con esto, entonces leelo.

Se volvió obvio para me que Ogre era única librería real para usar para nuestros renderizados 3D: era multiplataforma, la más madura, tiene la mayoría de las características, y estaba bajo activo desarrollo. De hecho, sólo hay una o dos elecciones open-source para cada subsistema en un juego... Ogre para el renderizado (o Irrlicht); OpenAL para audio (o fmod); ODE para simulación fisica, y demás. Cuando proyectes necesitaras elegir cada librería que vas a usar. Esto no es importante para los propósitos de esta serie de tutoriales. Ten en mente que la librería que elijas será por las siguientes razones: madurez, caracteristicas, y nivel de la actividad de desarrollo (porque los desarrolladores de estas librerías son, en esencia, parte de nuestro equipo de desarrollo de la aplicación).

Esta serie esta escrita desde la perspectiva de un proyecto que usa Ogre3D para video, pjcast OIS para entrada, CEGUI para manejo GUI 2D, RAkNet para redes, OpenAL para audio, y Gangsta como una capa de abstraccion de fisica.

Aplicación Práctica - Organización - Planea el desarrollo y los conceptos de instalación.
Aplicación Práctica - Fundación - Debajo del Ejemplo de aplicacion.
Aplicación Práctica - Inicialización - Lanza Ogre con sus hermanos.
Aplicación Práctica - GUI - CEGUI y Ogre y como ellos funcionan.
Aplicación Práctica - Comencemos - Tutorial del principiante Tutorial 1 sin el framework de Ejemplo de Aplicación.
Aplicación Práctica - Algo con un poco más de Carne - Un ejemplo completo de CEGUI con Ogre.