Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Grupo De Desarrollo De Videojuegos

Iniciado por Layane, 08 de Agosto de 2004, 12:41:24 PM

« anterior - próximo »

seryu

 por curiosidad, como va este grupo, se apunto alguien? de los qe se apuntaron alguno sigue?

es para saber mi porcentaje de error cuando postee la primera vez.

si de paso nos contais como llevais el juego, que planing habeis puesto, etc.. sera constructivo.

un saludo.

luckpro

 jejeje tranquilidad ya se que existe el opengl, el renderware y otros 200 motores más, esto es como lo del 3dstudio, tambien existen 200 más y seguramente mejores que el 3dstudio pero prefiero saber manejar bien uno a manejar de formar regular 200. Pues con directx igual. Solo eso, en ningun momento he querido despreciar opengl ya que dos de mis juegos favoritos lo soportan (ut y quake).  

Pogacha

DirectX vs OpenGL es un lindo Polling, creo que ví algo así por algun lado,  no?
OpenGL tiene la ventaja de que no luchas contra el ++ del c para encontrar errores  ;) , especialmente si no usas mucho ese ++, tambien por otro lado es un poco mas inestable que el directX, en serio!, no te puedo decir de dx9.0, pero hasta dx8.1 habia diferencia ( el hl se me colgaba dos veces mas rapído en OGL que en Dx). Ademas de ser una maquina de estados, lo cual simplifica el flujo de información ( si es que estas acostumbrado a su horrible sintaxis ), se veia mejor que dx, ahora los amantes del OpenGL esperan que el 2.0 prospere. Por otro lado, la mayoria que empiezan con esto de 3d, comienzan con el OpenGL por que no tienen que descargarse ningun sdk de 120 Mb o comprarse ningun libro, el OpenGL te lleva de la manito, a no ser que quieras hacer algo raro, que ahí si tienes que descargate 300 mb de 3dlabs o Opengl.org y no lo logras hacer andar.

Las verdaderas razones:
Yo particularmente prefiero el OpenGl, por que es un estandar grafico que no varia demasiado, agrega cosas pero se mantiene mas o menos firme, en cambio el dx (el cual no me cuesta entender), tiene cambios estructurales mas profundos de version a version, y esto si bien es mejor en eficiencia, tambien demanda mas tiempo para su estudio y si es hobby de 1/4 tiempo se te va el 3d sin que lo puedas alcanzar.

Sobre el tema de los programadores.
Yo particularmente busque muchas veces, incluso a traves de este foro, pero me tope con gente poco programadora o con entusiasmo de mecha corta (sin ofender, cada cual sabe lo que hizo), bueno ..., no he podido terminar ningun proyecto, pero creo que hay muchos programadores sueltos que pueden contribuir en una propuesta como esa, el tema es entusiasmarlos, por que la mayoria de los proyectos terminan en la nada y por experiencia no quieren perder mas tiempo en algo que no conocen.
Por ejemplo, pronto pondre una pagina con disparos de paginas y demos del motor que tengo para asi llamar a quien se interese y no arrugue.

Todos tenemos el sueño de hacer un juego (para mi ya es una pesadilla que me persigue desde hace 14 años) y todos empezamos semiprofecionalmente, hasta el que sale de la facu para entrar en una empresa, alguna ves probo en su casa hacer un comecocos.

Buena Suerte.

Layane

 Como dice isra tampoco tiene sentido hablar de OpenGL o DirectX, no es eso de lo que se trata sino de hacer juegos con calidad y potencia que permitan ver y sentir experiencias completamente nuevas de juego.
¿Al fin y al cabo que es OpenGL y DirectX? No es mas que una libreria que nos permite dibujar triangulos en pantalla, pintarlos y acceder a alguna de sus propiedades, y actualmente meter pequeñitos programas en ensablador en la GPU para hacer cositas a en los vertices y pixels de la imagen.
Asi que a mi no importa la eleccion en exceso del API grafico, nosotros simplemente terminamos por elegir DirectX porque en windows ,que es la plataforma por excelencia de los juegos de PC, (eso no lo podemos negar) la API grafica OpenGL no es en gran medida que un warpper de la libreria DirectX (en determinadas implementaciones, no saquemos el tema de madre y pongamos discutamos sobre NVidia o ATI que sacan sus propias implementaciones OpenGL para sus tarjetas graficas muy optimizadas).

Y aparte de ello DirectX nos ofrece mucha mas flexibilidad y facilidad para hacer muchas tareas (incluso en el modo inmediato) siendo mas evolutivo, menos fijo que OpenGL (aunque a alguno le guste eso de que nada y esten todo el dia buscandole las cosquillas a las extensiones y buscando referencias de como usarlas para tal o cual tarea.) aparte de todo eso DirectX tiene una buena libreria matematica bastante optimizada y sinceramente... no me apetece para nada hacer una libreria matematica mia porque primero:

1) Seguro queme saldria mucho peor
2) Hacer una liberia matematica me quita tiempo de hacer otras cosas mas importantes, como un cargador de modelos, calculo de lightmaps etc...
3) Cuando salgan nuevos procesadores con nuevas tecnologias la dejarare tal cual y no las aprovechare para esos casos.

En cambio usando la de DirectX me ahorro todo ello en gran medida. Sinembargo en OpenGL no hay mas remedio que implementarla o bien buscar alguna ya hecha, comprar alguna comercial etc... y claro no te acostumbras a ningun standar y estas luchando siempre con la libreria matematica.

Bueno pues eso son mis motivos para usar DirectX y no estoy encontra de OpenGL al contrario quiero aprender tambien a usarla, para no estar limitado a una plataforma fija como Windows, quizas en un futuro no muy lejano los Unix tengan todo el exito que se merecen en el PC domestico que usan la mayoria de nuestros jugadores para jugar a sus juegos ;)

Y ya por ultimo no viene a cuento pero ya que hablamos de APIs graficas ¿alguien conoce alguna web o tiuene algun pdf donde vengan bien documentadas las extensiones de OpenGL? es que no encuentro nada bueno sobre ellas, almenos me bastaria con una descripcion de que hace cada una y los parametros y flags asociados que usen.

Pogacha

 
Citar¿Al fin y al cabo que es OpenGL y DirectX? No es mas que una libreria que nos permite dibujar triangulos en pantalla, pintarlos y acceder a alguna de sus propiedades, y actualmente meter pequeñitos programas en ensablador en la GPU para hacer cositas a en los vertices y pixels de la imagen.
Me parece que estas minimizando, seguramente nunca te toco hacer render por software.
Citaraparte de todo eso DirectX tiene una buena libreria matematica bastante optimizada y sinceramente... no me apetece para nada hacer una libreria matematica mia porque primero:

1) Seguro queme saldria mucho peor
2) Hacer una liberia matematica me quita tiempo de hacer otras cosas mas importantes, como un cargador de modelos, calculo de lightmaps etc...
3) Cuando salgan nuevos procesadores con nuevas tecnologias la dejarare tal cual y no las aprovechare para esos casos.
1) Si vos decis ... en ese caso te conviene.
2) Sino compra un motor entero hecho y modificalo, asi no perdes tiempo. La gracia es "hacer" el juego
3) Cuando salgan nuevas tecnologias tu juego estara viejo.

Te pído disculpas si ataque tu argumento, en realidad es admirable enfrentar al monstruo de la x pero algunos comentarios me parecieron injustificantes.

CitarY ya por ultimo no viene a cuento pero ya que hablamos de APIs graficas ¿alguien conoce alguna web o tiuene algun pdf donde vengan bien documentadas las extensiones de OpenGL? es que no encuentro nada bueno sobre ellas, almenos me bastaria con una descripcion de que hace cada una y los parametros y flags asociados que usen.

Para los registros de extenciones (no en un pdf) creo que esto te servira.
Saludos

CoLSoN2

 
CitarOpenGL tiene la ventaja de que no luchas contra el ++ del c para encontrar errores
me explicas esto?  O_O

Citartambien por otro lado es un poco mas inestable que el directX, en serio!
no jodas! no te creo XD

Citar( el hl se me colgaba dos veces mas rapído en OGL que en Dx)
pues será culpa del motor de HL y de cómo utilice OGL y DX, no crees?

CitarAdemas de ser una maquina de estados, lo cual simplifica el flujo de información
OGL es una máquina de estados? pues si lo es será muy en lo profundo porque de cara al api ni te enteras XD

Citar( si es que estas acostumbrado a su horrible sintaxis )
si la sintaxis de OGL te parece horrible espera a ver la del API de Windows. Ah, no, espera, que la de DX es similar xD

P.D: aunque no lo parezca soy pro-DX
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


Pogacha

 
Citar
OpenGL tiene la ventaja de que no luchas contra el ++ del c para encontrar errores
El OpenGL es puro C, lo cual hace que su manejo sea mas directo, mucho menos optimo que un sistema orientado a objetos, pero mas facil. Para encontrar un error en su programación, solo debes conocer programación lineal (suponiendo que entiendas el resto del codigo y el error se encuentre en la programación del OpenGL). El OpenGL, no tiene estructuras, ni punteros a datos ni nada, por dios, lo mas complicado que le pasas son punteros a datos o punteros a el lugar donde quieres que ponga los datos. Luego tiene variables que las activas o desactivas y listo, lo unico es que tienes que saber para que sirve cada cosa ( aun que suene tonto tiene una lista larga de "cosas" ), creo el Ogl 1.0 tiene mas de 300 funciones (no las conte), de todas formas el manglin te ayuda un poco.

Citar
Citar( el hl se me colgaba dos veces mas rapído en OGL que en Dx)
pues será culpa del motor de HL y de cómo utilice OGL y DX, no crees?

En realidad creo que el problema es de los que hicieron la los drivers de la placa de video  :P
El ogl es un estandar nada mas, cada uno programa su codigo para su placa, en el DirectX se le puede hechar la culpa a microsoft tambien.

Citar
Citar( si es que estas acostumbrado a su horrible sintaxis )

si la sintaxis de OGL te parece horrible espera a ver la del API de Windows. Ah, no, espera, que la de DX es similar xD

La verdad que si, pero me parece que la de DX es mejor.

Por cierto en realidad de DX uso el DInput, el DSound y no mucho hasta ahora pero pienso usarlo el DPlay. De todos modos el DInput si no lo tiene anda igual, el DSound todavia no lo he podido remplazar y OpenAL quizas algun dia lo mire de curioso.

Citar... si DX tiene una librería matemática tan buena, seguro que la puedes usar con OGL, porque las matrices al menos siempre son un tipo de dato estructurado de 4 por 4 celdas de datos. Así que seguro que si no se puede usar directamente, algún apaño se puede emplear.

Creo que en OpenGL la matriz es transpuesta con respecto a DX, no estoy seguro, tal vez DX tambien la use transpuesta. Pero si sos usuario de OpenGL, cuanto te cuesta una libreria matematica, un dia o dos, a no ser que no sepas de matematica, tambien la puedes copiar de alguna gratis que vuela por ahí sin problemas. Y la optimización, esto casi que no consume recursos, a no ser en una simulación fisica y ahí bueno ..., buscale la vuelta.

CitarLo único que se de OGL, es que para empezar es sencillo, pero para cuando llegas a cierto nivel, las cosas se ponen feas. Mientras que el D3D, ya es feo desde el principio, aunque no tan feo por lo visto como se pone el OGL. Y esto es lo que me dijo el propio Berserker, así que antes de insultarme algún fan de OGL, que le pegue a Berserker primero
Coincido con Berserker, pero pasa que en OpenGL no se hacen cosas tan complejas nunca, o las cosas complejas ya fueron probadas y tienen una forma estandar, no conozco a nadie que innove en OpenGL. Pero cierto que algunas cosas que son de nivel medio son mas complejas en OpenGL, directX en ese sentido es muy superior.

CitarPse, y en cuanto a lo de usar un motor para hacer un juego, lo veo una decisión muy lógica. Después de todo si lo que quieres es hacer un juego, o incluso aprender a hacer un juego, usar un motor te ahorra un montón de cosas, que quizás no te interesen... aunque te hace aprender un montón de cosas, sobre ese motor, que posiblemente no te sirvan para otro.
De todas formas, de todo no se puede aprender en esta vida, porque la capacidad intelectual no es infinita. O como dice el refrán, quien mucho abarca poco aprieta. Así que si te pones con gráficos a saco, al final posiblemente no sepas hacer otras cosas, y al revés. Pero aunque cada uno ha de aprender lo que le interesa, cuando se trata de hacer un juego, hay que intentar cubrir todas las areas con alguien... porque si todos quisieran ser grafistas en un proyecto... las texturas y los modelos iban a ser la polla, ¿pero a ver qué pasaba con el resto?

"Yo prefiero jugar que mirar el juego, si pudiera hacer todo, lo haria!.
Si no, ni me caliento, le pago a alguien para que me lo haga como yo quiero."
Pogacha .-
De otra forma la idea no parece cientifico-artistica sino comercial o yo que se.
Ojo, es como a mi me gusta hacer las cosas ;) , no quiero que nadie lo tome como una agresión.
No veo para nada mal hacer un juego con un motor de otro, pero asi como no lo veo mal mi reconocimiento sera dividido.

La verdad que hoy me levante un poco loco y dibagante  ;) , la verdad es que les deseo mucha suerte con el proyecto.


seryu

 Creo que os estais dejando llevar al tipico flame de Opengl vs directx.

Intentare ser breve:

·Open GL es un API para renderizar en tiempo real, utilizado en multitud de plataformas y sistemas operativos.

·Directx es un API propietario de microsoft que se utiliza para aplicaciones multimedia en sus sistemas operativos.


decir lo que estais diciendo de dx u ogl entra ya en el terreno subjetivo. Evidentemente ambas API son perfectamente capaces para realizar cualquier trabajo hoy dia.

mientras que el software ludico estos ultimo años se centra en directx, no nos engañemos, es unicamente por que el mercado actual es microsoft windows. Todo el software comercial de aplicaciones 3d mas intensivas (y 'serias') se apoyan siempre en opengl.

Haddd

 Hacer un motor no tiene nada que ver con hacer un juego. Eso de me cojo un motor ya hecho y me dedico a hacer el juego, sólo funcionará en el caso en el que el motor esté pensado para ese tipo de juegos. Gracias a mucha gente altruista que expone sus códigos y explica cosas, hoy en día es relativamente sencillo hacer un motor, y más hacerlo en DX porque la mayoría de cosas ya están hechas gracias a las D3DX. El problema es la portabilidad, y ahí es donde entra RenderWare. Si yo hago un juego quiero que funcione en TODAS las plataformas sin modificar apenas código, y por desgracia, hacerlo en DX te limita a PC y a XBox.

Gracias a D3DX ya sólo me tengo que preocupar de "pegar" las cosas para que tengan una estructura óptima. Antes tenía IndexBuffers, VertexBuffers, VertexShaders, PixelShaders... Ahora sólo tengo un Mesh, que resuelve un montón de problemas y effects, que me resuelve otro montoncito(aunque me crea pegas que antes no tenía).

Y estoy esperando a saber que puñetas es lo del XNA. Porque si son mas clases de MS que me ayudan a estandarizar y a eliminar código mio, pues bien venidas sean. (ole)  

Pogacha

 
CitarY por cierto... ¿qué C es mucho menos óptimo que la POO? Bueno... tenía entendido que en eficiencia era al revés
Me exprese mal, OpenGL es menos eficiente, por ser una maquina de estados.

CitarY por cierto, eso de que en OGL no se hacen cosas tan complejas... Menos mal que el DooM 3 no está hecho en OGL XD Francamente no entiendo que dices con que no se "innova"...
Mas bien me referia que el DX  no solo esta en la parte de rasterizado como el OpenGL (donde apuntan), si no tambien que se integra y acopla a toda la estructura del motor. Por ende el uso del DX es mucho mas extenso, en cuanto a que el OpenGL se trata de usar lo menos posible, si algo lo puedes hacer tu no se lo dejas al OGL a no ser que tengas ventajas de hardware ( SI ESTAS HACIENDO UN MOTOR PARA WINDOWS!).

Citarmientras que el software ludico estos ultimo años se centra en directx, no nos engañemos, es unicamente por que el mercado actual es microsoft windows. Todo el software comercial de aplicaciones 3d mas intensivas (y 'serias') se apoyan siempre en opengl.
Mi destino es Windows, por eso trataba de explicar por que OGL me servia a mi con todo el argumento en contra. Yo se y afirmo "para aplicaciones de mediano y alto nivel en Windows es mucho mejor DX", pero a mi me ha servido mas OpenGL por que practicamente es estable a traves de los años, gracias a la compatibilidad acumulada en sus versiones, uno no debe cambiar nada, por mas que se tome un año sabatico, solo debe agregar las extensiones nuevas que salieron (estudiarlas y demas). En cambio DX requiere un estudio mas sigiloso y mas constancia para su uso, este varia demasiado (para mi constancia).

Saludos

soulnet

 
Citarla API grafica OpenGL no es en gran medida que un warpper de la libreria DirectX

Me gustaría más información acerca de esto, ya que en todo el tiempo que llevo programando en opengl, nunca había escuchado nada... así.

En caso de que fuera cierto, qué sentido tendrían entonces proyectos como este?

Direc3D->OpenGL wrapper

Ala, espero las pruebas.

Pogacha

 Supongo que debe haber para los dos lados, una compania de escasos recursos puede que haga tan solo un versión y despues la wrappee con un software terciario, pero ATI y nVidia no creo, deben tener un codigo unico y luego lo portan a sendas plataformas.

seryu

 estoy empezando a flipar en colores con este hilo, y eso qe todavia no he agarrado un porro  :blink:

decir qe ogl es un wrapper de directx, si estas hablando de los drivers, es como decir qe direct3d es un wrapper de ogl. Porque tanto monta que monta tanto  :P

son ya ganas de criticar por criticar.

OPENGL ES SUPERIOR, sabeis porque? porque en ogl tu solo tienes que escribir gl, mientras que en directx hay que escribir d3d, y eso a la larga cansa mas.

como yo no quiero colaborar en un flame de ogl-d3d, os dejo con nuestro amigo Brian Hook


CitarOkay, first off, let's establish that OpenGL has its share of problems. These are growing pains. It's normal. Let us assume, for the sake of argument, that Direct3D and OpenGL on the PC are at roughly parallel points in their evolution.

Let us also assume that they have roughly the same amount of driver support committment from IHVs. Okay, big assumption, but bear with me.

What I am saying is assume that they are functionally equivalent, which is also a rather big assumption. If we do this, the question becomes very simple: why support one over the other?

Well, I'm sure you folks know by now that I think OpenGL is easier to use. I would daresay that most people agree. So that's a pretty big plus. OpenGL does have an extension mechanism, and this tangibly becomes important as I'll relate in a second. Finally, OpenGL is portable as hell, and this is cool.

As for extensions...

Let me put this in concrete terms -- without these extensions, some IHVs would be really really hurting when it comes to Quake. And this isn't necessarily limited to the software we're doing -- other people will have similar issues arise that can easily be worked around if the vehicle is present.

For example, our particle systems are currently rendered with independent triangles, and this is a royal bitch on just about any system (and would be a performance hog on Direct3D also, so this isn't an OpenGL specific problem, but the solution IS specific to OpenGL). It would be really neat if we could, say, tell a driver to render a particle system that we define, and it just does The Right Thing -- i.e. whatever makes it give the right output and also gives the best performance for that hardware.

This is impossible to do with Direct3D.

This is possible with OpenGL.

Are we getting the picture now? Are we understanding why OpenGL is just so damn nifty it's hard to ignore?

For tool development, OpenGL is vastly superior to Direct3D simply because of its ease of use and the plethora of high end workstations that support it. This ties into the theme of portability -- we can write a nice tool using OpenGL and with minimal hassle have it portable between SGI, Win32, and Linux. We license our tools and engines to select partners, and it's nice when we can tell them "Sure, you can use our stuff on any of these platforms." That's just plain cool from a technology standpoint.

In THEORY OpenGL is portable -- in practice, it has a ways to go simply because the drivers are flaky (just like D3D's). In THEORY Direct3D is NOT portable. This means tools and games we write that use Direct3D are NOT portable to other platforms, locking us into the world of Microsoft. I'm sure Bill loves this, but we and millions like us don't relish that thought.

OpenGL allows us to deploy our software to as many varied platforms as possible with minimal hassle. This is fundamentally sound both in terms of business sense and in terms of pure technical coolness.


conclusion: dejad de discutir qe api es mejor, usad la qe os guste mas y HACED ALGO COÑO






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.