Creación de videojuegos/Motores
De Wikilibros, la colección de libros de texto de contenido libre.
Contenido |
[editar] Motores 3D
[editar] Comenzando
Antes que nada, dejame 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 librerias, 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) automaticamente y sin tener que programarlo todo tu.
Juegos como Half-Life, y... otros, están realizados bajo un motor 3D que en un futuro, si los desarolladores lo desean, puede servir para el siguiente juego o talvez alguien lo comprará para crear otro juego.
[editar] Motores 3D Accesibles
No me imagino a alguien teniendo esta plática:
Joven Desarrollador, Dentro de la oficina de Bungie (los creadores de Halo);
"Disculpe"
Ocupado Gerente;
"Dígame"
Joven Desarrollador;
"Me podría prestar su potente motor de varios millones de dolares para crear un juego y hacer que mis amigos crean que soy mejor que ellos?"
...
5 segundos mas tarde el Joven Desarrollador se encuentra tirado en la calle con varios moretones.
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. (Editado por un usuario de Entidad3d: esta afirmación es totalmente falsa, es verdad que no se puede crear cualquier tipo de juego, pero no solo a shooters esta orientado. Juegos de aventura, acción, shooter, etc, todo es posible con Entidad3D.)
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) necesitarás vender tu riñón, porque el programita te sale en unos $10,000 pesos (moneda mexicana).
Debo admitir que ésta es una herramienta muy buena, puedes crear juegos de todo, desde carreras y 2D al estilo Mario Brothers, 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 transfondo 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?
Si tengo bastante puede ser que estudie o use una librería tal como SDL u Opengl, o Directx para crear mi juego pero si no dispongo de mucho tiempo que tal invertir en un motor 3d?
Y como ayuda un motor 3d? Un motor 3d se resume en un conjunto de funciones estructuradas para el manejo de objetos en tres dimensiones inmersos en un ambiente y que interactúan entre si, digamos un motor 3d Gamestudio Usa diferentes funciones para hacer que interactué nuestros personajes u objetos con el ambiente:
Ejemplo:
my.x = 19.50 my.y = 24.50 my.green=120
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.org]
[editar] 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 el juego Civilizations o Mario Bros...

