Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Motores Gráficos...

Iniciado por SkyNetBCN, 26 de Agosto de 2005, 12:37:26 PM

« anterior - próximo »

SkyNetBCN

 Hola familia! Soy novato en esto de la programación 3D, aunque llevo ya un tiempo intentándo hacer mis cosillas...  :D
Mi duda es la siguiente...
Yo programo con el Visual C++.NET y el DirectX SDK, eso que es?  :P , es un motor gráfico? o qué es? No sé cuantos de aquí soys profesionales y cuantos utilizais esto com hobby. Pero leo mucho en el foro que la gente programa sobre motores gráficos que se descarga de internet. Es la única posibilidad?
No es el SDK de directX ya un motor gráfico? (entiendo que para la física es otra cosa...)

La verdad es que creo que tiene más mérito NO utilizar un motor gráfico ya diseñado, pero es lógico no utilizarlo?

Bueno, espero que me hayais entnedido y me sepais contestar...
Gracias (ole)  

Flint

 DirectX es un conjunto de APIs (Application Programming Interface), que son herramientas que facilitan la creación de videojuegos (gráficos, input, sonido, networking). La parte gráfica de DirectX recibe el nombre de DirectX Graphics y no constituye propiamente un motor gráfico, sino un conjunto de funciones que permiten trabajar con gráficos de manera relativamente sencilla (olvidándote hasta cierto punto de cada implementación hardware concreta).

Un motor gráfico abstrae los detalles de la API gráfica utilizada (DirectX, OpenGL, etc...), haciendo todavía más sencilla la programación y gestión de gráficos. En un motor gráfico suele existir, como estructura de datos principal, un scene graph, similar a un árbol multicamino y cuyos nodos pueden representan objectos del mundo 3D o instrucciones de la API. Este scene graph se recorre cada frame para dibujar la parte visible del mundo. En definitiva, un motor gráfico permite establecer jerarquías y relaciones entre objetos del mundo (asociar una cámara a un personaje, etc.) y decidir la manera de renderizar cada escena, utilizando en última instancia llamadas a la API en cuestión. Un motor gráfico es más general que una API y por ello permite trabajar más fácilmente (de hecho, motores como Wild Magic permiten utilizar indistintamente DirectX u OpenGL, gracias a una gran abstracción). Por ejemplo, un motor gráfico probablemente permita la carga de mallas tridimensionales con una simple llamada a una función del estilo "cargaMalla". Esto permite al programador no necesitar conocer los detalles de cómo se carga una malla realmente, pues de eso se encarga el motor internamente, utliizando llamadas a la API.

Un motor de juego incluye, además del motor gráfico (que suele constituir la parte principal), motores para input, sonido, físicas, IA, scripting, networking, etc. Vamos, una especie de todo-en-uno.

Muchas personas utilizan motores de terceros porque ello permite reducir el tiempo de desarrollo y evita complicarse con la construcción de un motor propio, pues no es algo precisamente sencillo.

SkyNetBCN

 Entonces... que veis mejor? supongo que profesionales que se dediquen a esto, hacen sus propios motores. Los que lo teneis como hobby, cómo lo haceis? si utilizais motores ya hechos, cual es mejor, y gratuíto? gracias

ajmendoza

 Bueno, son dos cosas distintas pero ninguna de las dos es facil.
Hacer un motor es saber mucho de muchas cosas y tener experiencia y una base fuerte de programación. Hacer un juego pues es otra forma de hacerlo y si empiezas con aplicaciones sencillas meterte en un motor sólido pues tampoco te va a servir de mucho.

Si quieres hacer juegos 3d y demás, armate de valor y utiliza un motor ya hecho y de codigo abierto. Está ogre, está nel de nevrax, hay muchos. En http://www.devmaster.net/ hay una base de datos de motores gratuitos y de pago con sus caracteristicas y enlaces a las webs, imagenes de demostración... Pero no te engañes! utilizar un motor creado por otros tampoco es nada facil, hay que leer mucho, en ingles claro, y darse muchas tortas para encontrar eso que quieres hacer y que no sabes donde coño se encuentra en el motor y, lo que mas me cuesta a mi, utilizar algo programado por otro, con otro estilo y otra forma de pensar, a veces puede resultar frustrante.

Un saludozzZzz....

Zaelsius

 Si sabes manejarte con C++, te recomiendo Irrlicht. Es de los más sencillos y tiene todo lo indispensable para hacer un pequeño juego en 3D sin problemas. Tiene unos tutoriales bastante majos.

Ogre3D está muy bien, pero es demasiado avanzado si no has utilizado otro motor antes.

Warchief

 El Irrlicht me decepcionó un poco, luego probé el KJApi y está bien para ser una beta. El próximo que probaré será Jolt3D. Ambos vienen con editores para hacer la vida más fácil (editor de niveles, de partículas, etc).

Anathoni

 Yo se podría decir que soy un novato también en esto. Lo principal es saber manejarse primero con un lenguaje (C++ por ejemplo) y luego ya hay diferentes caminos a seguir.
- Puedes empezar con juegos en 2d y luego dar el salto.
- O bien dar el salto y rogar para que no te la pegues  :P

Yo opté la 2ª opción y creo que me la pegué durante una temporada aunque ahora he conseguido recuperarme. Yo lo que aconsejo es leerte algún tutorial sobre OpenGL (directx es q no lo he probado muxo) sobre todo para hacerte una idea de cómo trabaja. Creo q empezar haciendo un motor es complicado y puede acabar como el 2º punto de arriba. Lo mejor en mi opinión es trabajar con un motor ya hecho q sea opensource para poder exarle un ojo por dentro. Ahora estoy con el Irrlicht trabajando y por ahora me va bien). Luego cuando ya t veas mas suelto pues lanzate a hacer tu propio motor  (ole)  
url=http://www.anathoni.com/]Blog de Anathoni[/url]

er_willy

 
Citar
La verdad es que creo que tiene más mérito NO utilizar un motor gráfico ya diseñado, pero es lógico no utilizarlo?

El merito de crear un juego con tu propio motor es completamente porculizable y una de las mayores cargas a la hora de acabar un juego


CitarEntonces... que veis mejor? supongo que profesionales que se dediquen a esto, hacen sus propios motores. Los que lo teneis como hobby, cómo lo haceis? si utilizais motores ya hechos, cual es mejor, y gratuíto? gracias

para nada, precisamente en mi opinion creo que es al reves.




con el pelo mojado y una birra fria saluditos que sigo de vacasziones :)

ps: hecha un vsiuta

SkyNetBCN

 Yo hice hace un tiempo un juego de acción (3D) en primera persona (tipo doom) en el que había que disparar a unos barriles y unas dianas ( no se modelar enemigos (seres humanos, monstruos, etc...),  :lol: ).
Hice mi propio sistema de partículas, mis cámaras, mi sistema de luces y mi sistema de colisiones ( comprobar si me choco con una pared, y cuando disparo comprobar si acierto  o no en la "diana"),.  (ole)  Todo eso ya lo traería integrado un motor gráfico? No sé, casi sigo pensando que me motivó más el hacérmelo yo, aunque reconozco que el resultado hubiera sido mejor utilizando un motor gráfico ya hecho...


Saludos a todos

CoLSoN2

 Yo creo que la elección de usar o no un engine de terceros es cuestión de hacerse unas cuantas preguntas, que incluso podrían resumirse en un test:

¿Es mejor que me haga un motor o use uno existente? - El Test Definitivo

¿Qué pretendes conseguir programando el juego?
A ) Aprender
B ) Terminar el juego

¿Tienes una base matemática fuerte? Álgebra lineal (vectores, matrices..) y Geometría en 2D y 3D, básicamente.
A ) Sí
B ) No

¿Te sientes cómodo usando librerías y leyendo código de terceros?
A ) No
B ) Sí

¿Qué disfrutas más programando?
A ) Efectos gráficos, optimizando rutinas de renderizado, código de bajo nivel, etc.
B ) Lógica de juego, inteligencia artificial, etc.

¿El juego que quieres programar requiere de algún tipo de tecnología o tipo de motor "no muy normal" (lo que tienen la mayoría de motores gratuitos, vaya)?
A ) Sí
B ) No

¿Te importa que te digan "Bah, no tiene mérito, no has hecho tú el motor..."?
A ) Sí
B ) No

¿En caso de obtar por usar un motor de terceros, estarías indeciso y cambiarías constantemente de un motor  a otro esperando encontrar El Motor Perfecto? Jedive esta va por ti.
A ) Sí
B ) No

Ahora cuenta las respuestas, si tienes más A's que B's, crea tu propio motor; sino, usa uno existente.
Manuel F. Lara
Descargar juegos indie  - blog sobre juegos indie y casual
El Desarrollo Personal.com  - blog sobre productividad, motivación y espíritu emprendedor

vincent

 Juas! Has pensado en enviar el test a Cosmopolitan?  :P

Creo que tendria que haver hecho este test antes de empezar con mi motor...  <_<  
Desarrollo en .Net y metodologías http://devnettips.blogspot.com

BeRSeRKeR

 Bueno ese test confirma que soy un programador de motores nato...otra cosa es que sea bueno en ello. xD

Saludos.
¡Si te buscan en nombre de la ley, huye en nombre de la libertad!!

er_willy

 jeje todas B ;)

ese test es perfecto y deberia ponerse en algun sitio visible de stratos :)

ajmendoza

 Realmente es muy bueno xD.
Eso que el berseker se ponga las pilas con hadd y el resto le chupamos la sangre.. :P

Lord Trancos 2

 4 As y 3 Bs....  (ole) vamos... q por los pelos voy en el camino correcto.
on los años y mucho esfuerzo he llegado a atesorar una ignorancia total sobre casi todas las cosas.
Gate to Avalon (mi Blog)






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.