# Motores 3D
### Comenzando

Antes que nada, déjame darte una pequeña introducción a lo que es un Motor 3D.
Cuando realizas un juego muy fácil como adivinar el numero, no necesitas poner mucho código, solamente definiciones, variables, cargar librerías, etc.
Pero cuando deseas crear un juego muy complejo o de calidad comercial, será muy difícil tener que hacer todo manualmente, por lo que muchos grupos de trabajo se crean su propio motor 3D, o usan uno ya existente, que maneja operaciones de baja rutina (por ejemplo, dibujar un modelo, reproducir un sonido) automáticamente y sin tener que programarlo todo tú.
Juegos como Half-Life, y... otros, están realizados bajo un motor 3D que en un futuro, si los desarrolladores lo desean, puede servir para el siguiente juego o tal vez alguien lo comprará para crear otro juego.

### Motores 3D Accesibles

Hacer un Motor 3D es muy complejo, pero algunas personas muy generosas andan por ahí dejando al público sus motores creados en sus ratos de ocio, como el Entidad 3d. Pero como verás, este motor esta enfocado más que nada en crear Shooters (juegos de disparos), pero con mucho tiempo y esfuerzo te podrá salir un juego muy bueno.
Claro que no todo es alegría y diversión, algunas personas se aprovechan de que estés desesperado por crear juegos de buena calidad, y te venderán motores muy caros, como observarás en esta web de 3D Game Studio. La versión más barata y la menos recomendable te sale en unos $500 pesos, pero para comprar la que vale la pena (profesional), porque el programa sale en unos $1000 usd.
Debo admitir que ésta es una herramienta muy buena, puedes crear juegos de todo, desde carreras y 2D al estilo Mario Bros, aun asi cada motor tiene sus pros y sus contras tal como game studio no es muy bueno creando MMORPGs (Massively Multiplayer Role Playing Game, o Juego masivo multijugador de rol )
El motor 3d nos ayuda a manejar todo el trasfondo de la animacion en 3 dimensiones, es decir para crear un juego se requieren de las siguientes partes:
1.-Guión o Historia
Una vez teniendo estas parte se desglosa en :
1.-Plataforma (Para consolas, pc´s Macs etc..) 2.-Sonido (Formato de sonido) 3.-Ambiente (de acuerdo a la historia) 4.-Publico al que va a ir dirigido.
Una vez completados estos pasos tendremos que tomar una desicion importante: ¿Con cuanto tiempo dispongo?
Ejemplo:
Estas pequeñas instrucciones de script nos indican que el puntero my (o sea el objeto), se va a posicionar sobre el eje "X" en la coordenada 19.50 y sobre el eje "Y" en 24.50, la ultima instrucción es para que emita un saludable color verde de intensidad con valor 120.
Si no tuviéramos la ayuda de el motor 3d primero tendríamos que establecer el objeto, esto se haría con una struct o class dependiendo de nuestro lenguaje de programación después establecer las clases para mover el objeto, para esto debemos tener una multiplicación de vectores en forma de matriz XYZ, eso para cada valor X Y y Z.
Ahora el color, dependiendo de nuestra librería (Opengl o Directx), tendríamos la clase que cambia el color del objeto, pasando como parámetro el objeto mismo y regresando como resultado el mismo objeto, después de hacer esto llamar al bucle que nos redibujaría la escena.
como vemos tres simples instrucciones en script se vuelven mas de 20 programando directamente en librerías, también nos hace falta la interacción, sonido, etc...
Otra gran ayuda de los motores 3d es la inclusión de editores y mas recientemente editor en tiempo real, estos nos permiten posicionar objetos, crear terrenos, vegetación, incluso sonido y luces y ver en tiempo real (tal como va sucediendo la acción) como se modifica nuestro juego o aplicación a esto se le podría llamar modo Dios. ;-).
Existen Motores 3D libres para uso no comercial. Motores gratis para uso comercial. Motores 3d Comerciales, que desafortunadamente son los mas rápidos para desarrollar.
Mas Información: www.gamedev.net

# Motores gráficos

Como te has de imaginar, un motor gráfico es aquel que usa gráficas simples (no 3D, no basado en texto), como la Nintendo Wii,Nintendo DS que no puede mostrar las 3d reales. Lo que hace es simular efectos 3D mediante la organización de gráficos en 2D, del mismo modo que un cubo plasmado en un plano parece estar en 3D.