Foros - Stratos

Stratos => Proyectos => Mensaje iniciado por: DraKKaR en 17 de Diciembre de 2004, 11:37:14 AM

Título: Elegir Motor Par Aun Videojuego
Publicado por: DraKKaR en 17 de Diciembre de 2004, 11:37:14 AM
 Hola, nos proponemos desarrollar un grupo de personas un videojuego, pero tenemos dudas sobre el motor a usar. Al principio ibamos a usar el Ogre, pero al darnos cuenta de que no soporta colisiones nos fijamos en el Irrlicht, que además de colisiones soporta lightmapping y tiene utilidades para su cálculo.

El juego transcurrirá en exteriores y algunos interiores.

¿Que motor nos recomendais?
Título: Elegir Motor Par Aun Videojuego
Publicado por: Haddd en 17 de Diciembre de 2004, 12:05:55 PM
 ¿pero tu no estabas haciendo un motor ? ¿lo has dejado?
Título: Elegir Motor Par Aun Videojuego
Publicado por: Javi SJ Cervera en 17 de Diciembre de 2004, 12:58:08 PM
 Yo uso Cipher (www.cipherengine.com), pero IrrLicht te irá de maravilla con esto.
Título: Elegir Motor Par Aun Videojuego
Publicado por: senior wapo en 17 de Diciembre de 2004, 01:29:32 PM
 Pues depende, y mucho, del ámbito del proyecto y de vuestra experiencia y forma de trabajar. Tampoco pones si ha de ser 100% gratuito o aceptais engines de 100$ o menos.

Yo he estado mirando motores ultimamente y al final me he decidido por Blitz3D (100 euros).  Pero porque mis necesidades eran muy peculiares  :D

Sobre los motores más importantes, aqui van mis impresiones personales (lo subrayo que luego me muerden los fans de unos y otros):

Ogre3D:  Potente motor de rendering, pero solo hace eso. API3D: OpenGL, DirectX7 y DirectX9.
Problemas:
- 1,000,123 millones de dependencias DLL y ficheritos de configuración.
- Casca malamente en mi portatil (los otros motores no).
- 1 hola mundo ocupa varios megas.
- Necesitas meterle Ode/Tomahawk/ColDet para collisiones, OpenAL para sonido, etc. etc...
- LGPL asi que olvidarte de linkar estatico, solo como DLLs (como 6+ DLLs por proyecto)
Ventajas:
- Calidad de rendering y buen diseño.
- Si solo necesitas motor de visualización puede ser muy adecuado. No tener sonido, colisiones etc... lo pongo también aqui como ventaja, segun el caso.
Otros:
Juegos comerciales: 1 juego lo usa (VTrike)
Tamaño Hola Mundo: 3MB+ de DLLS del motor, mas otro MB y pico de dependencias DLLs

Irrlicht: Motor de rendering y colisiones. API3D: OpenGL, DirectX8 y DirectX9
Problemas:
- Medianamente lento (muy lento si usas sombras dinamicas)
- Poca calidad de rendering
- Diseño poco elegante y  poco ampliable
- Shaders cutres y no multiplataforma (EDITO: motor multiplataforma, los shaders no, has de usar shaders nativos)
- Aun muy joven y con demasiados bugs, pero es funcional.
Ventajas:
- Muy facil de aprender
- Excelente para prototipar juegos, puedes tener algo decente funcionando en 1 dia.
- Amplio soporte de formatos 3D
- Incluye colisiones y "extras" bastante utiles.
- Compacto, ocupa poco.
- Puedes linkar estatico y no tiene dependencias externas.
Otros:
Juegos usandolo: Ninguno.
Hola Mundo: 800KB link estatico

NeoEngine: No lo he mirado mucho, pero tiene buena pinta. Poca documentación y algo engorroso de manejar. API3D: OpenGL y DirectX8
- Su autor abandonó el desarrollo y su desarrollo actual es más lento que el nuevo Duke Nukem, y con su mismo futuro  :P
- Puedes linkar estatico.
- Siento no poder decirte mas, no le dediqué mucho tiempo.

Nebula Device 2: Un ganador, hecho por profesionales del videojuego y se le nota. Gran motor de Juegos. API: DirectX9 (DX8 y OpenGL en la vieja version Nebula1). Es el engine que yo elegiria si hiciera un proyecto grande y de ultima tecnologia.
Problemas:
- Dificil de aprender bien, has de urgar en el codigo fuente para entenderlo porque la documentación es básicamente inexistente.
- No funciona con la tarjetas radeon 7x00 de ATI, pero supongo que lo arreglarán. El parche consiste en perder la funcionalidad de sombras.
- Arquitectura un tanto peculiar = te costará acostumbrate un poco.
- Poca comunidad de usuarios, encontrar información para Nebula2 es complicado (para Nebula1 no).
- Solo para Win32 (Nebula1 soporta Windows y Linux).
- Curva de aprendizaje lenta.
Ventajas:
- Buena calidad de rendering.
- Rapido
- Versatil
- Buen diseño
- Motor de Juegos, no de rendering solo. Integra ODE para colisiones, y motor propio para lo demás (sonido, input, visibilidad, etc...)
- Link estatico
- Excelente soporte de scripting integrado (LUA, TCL(mini) de serie ).
Otros:
Juegos usandolo: La versión Nebula1 utilizada por 25+ juegos comerciales (Project Nomads el más conocido). Nebula2 por ninguno aún, creo.
Hola Mundo: 1.8MB link estatico

Crystal Space: No hay nada que ver, circulen, circulen.

Torque Games Engine (100$-450$): Motor de juegos. API3D: OpenGL y DirectX7
Ventajas:
- Tecnología probada y que funciona. Diseñado por profesionales. Fue el motor del juego Tribes, de Dinamyx.
- Gran comunidad de usuarios.
- Funciona en Mac, Windows y Linux
- Incluye los fuentes
Inconvenientes:
- Excasa documentación.
- Con la licencia de 100$, si superas cierto numero de ventas, has de pagar por la licencia de 450$
- No incluye editor de niveles (recurrir a editores externos en un engine de pago es una desventaja).
- Sin shaders de serie, has de comprar (y pagar) por la actualización a TSE que además aún no está del todo pulida.
Otros:
Juegos usandolo:Tribes (comercial) y bastantes juegos shareware (ThinkTanks, etc...).

DarkBasic: Ni me molesté, estando Blitz3D que tiene mejor motor, mejor lenguaje y es mas rapido.

Blitz3D (100$): Compilador (no interprete) Basic con soporte DirectX7. Junto con Torque, es el motor "Indie" por excelencia.
Ventajas:
- Muy facil de usar
- Gran comunidad de usuarios, excelente archivo de funciones contribuidas por los usuarios.
- Desarrollo muy rapido.
- Excelente herramienta de prototipado rapido, es a la programación 3D lo que Clipper era a las bases de datos y VisualBasic -a... ...bueno, se me entiende  :D
- Compilador, no es un intérprete. No requiere runtime ni ninguna DLL externa.
- Sorprendentemente, buen rendimiento del código (si se usa bien).
- Acepta DLLs externas para ampliar tus programas con código en C/ASM/Pascal... lo que sea.
- Motor DirectX7 (si, versiones anteriores a DX8 son una ventaja para ciertos propósitos).
- Editor de niveles muy facil de usar (Maplet). Por cierto, ahora es gratuito e independiente de Blitz3D.
Inconvenientes:
- Editor de niveles rudimentario (Maplet)
- Lenguaje Basic: Nada de orientación a objetos
- No soporta unidades de compilación, 1 cambio implica recompilar todos los fuentes del programa, ya que son meros "INCLUDES" en el principal y no ficheros compilables por separado.
- Motor DirectX7 (es decir, no shaders)
Otros:
- Tamaño Hola Mundo: 1MB
- Juegos usandolo: Muchos Shareware (Best Friends, PacLands, etc...) (@Jedive: Century esta hecho en Blizt3D? tienes una captura en su foro...)

Cypher engine (100$)Motor de juegos. Lo conozco poco, lo que pongo no lo se de primera mano (sino de webs, foros....)
Ventajas:
- Incluye codigo fuente
- Desarrolladopor un profesional del videjuego.
- Muy completo (Networking, sonido, etc...)
- La mejor opción para desarrollar FPS (clones de Quake).
Inconvenientes:
- No incluye editor de niveles (creo)
- Orientado a FPS, desconozco que tal se adapta a otro estilo de juegos.


En resumen, si quieres hacer un triple AAA/techdemo te recomiendo Nebula Device 2, si quieres hacer un juego share, te recomiendo Blitz3D (si me apuras, Torque/cypher para un FPS, pero un FPS share....) . Si quieres aprender, Irrlicht.
Es muy dificil (por no decir imposible) encontrar un motor DirectX7 gratuito (y decente), todos son OpenGL o DX8-DX9. Para juegos share (publico casual, no hardcore), leas lo que leas, solo te conviene DX6 o DX7 (olvidate de DX8+ o de OpenGL, se ponga aquí la gente como se ponga) .

Un saludo.
Título: Elegir Motor Par Aun Videojuego
Publicado por: DraKKaR en 17 de Diciembre de 2004, 02:23:19 PM
 Gracias por las resupestas, sobre todo la tuya senior wapo.. muy muy completa.

Haddd: sí, no he dejado el motor, pero ha surgido la posibilidad de crear un grupo (4 programadores y 5 o 6 diseñadores) que está bastante ilusionado y eso no se puede dejar pasar XD. Además todos somos de la misma universidad y tenemos reuniones en persona cada semana. El juego tiene la historia ya pensada y todo. El proyecto pinta bien por ahora.


No creo que el resto de gente quiera pagar por un motor comercial.. aunque valga 100 euros y seamos 10 a repartir el dinero. Así que me centraré en los motores gratuitos.
En un principio me hubiera ilusionado mucho usar mi propio motor, pero no quiero tener ke preocuparme de implementar nuevas cosas para el motor y arreglar bugs que ralenticen la marcha del juego. Así que parece que usaremos otro.

Lo que ocupe el código ejecutable no me importa, ya que ocupará mucho más toda la parte gráfica.

Creo que el que más me atrae es el Nebula2, pero me da miedo la poca información que peuda haber de él. Indagaré un poco a ver. Lo único que no me gusta de Ogre es que solo es un motor de rendering, y a la alrga, si queremos meter mas cosas como sonido, scripting, colisiones, tenemos que currarnoslo nosotros mismos.

Muchas gracias por las opiniones.
Título: Elegir Motor Par Aun Videojuego
Publicado por: Zaelsius en 17 de Diciembre de 2004, 02:46:05 PM
 
Cita de: "DraKKaR"No creo que el resto de gente quiera pagar por un motor comercial.. aunque valga 100 euros y seamos 10 a repartir el dinero.
Pues que ratas :lol:

(tenia q decirlo, jeje)

Por lo demás, coincido con el informe de S.Wapo. Suerte con el proyecto.
Título: Elegir Motor Par Aun Videojuego
Publicado por: Haddd en 17 de Diciembre de 2004, 04:39:40 PM
 ¡¡Mucha suerte!!

(ole)  
Título: Elegir Motor Par Aun Videojuego
Publicado por: senior wapo en 17 de Diciembre de 2004, 05:19:53 PM
 Rectifico: Blitz3D si es interpretado, es una maquina virtual como pueda ser java. El ejecutable generado es el VM y los bytecodes van insertados en un recurso del ejecutable.

En lo demas de Blitz3D, me reafirmo    :D  
Título: Elegir Motor Par Aun Videojuego
Publicado por: Javi SJ Cervera en 17 de Diciembre de 2004, 05:52:13 PM
 Estas seguro? Mark Sibly, el autor, dijo que Blitz3D compila a código nativo. Por lo visto hay un stub precompilado con toda la librería y tal, y el código que mete en el recurso del EXE es código máquina real, pero así se ahorra el tener que hacer un linker.
Título: Elegir Motor Par Aun Videojuego
Publicado por: egf en 17 de Diciembre de 2004, 06:27:55 PM
 torque  
Título: Elegir Motor Par Aun Videojuego
Publicado por: FeRRy en 17 de Diciembre de 2004, 06:56:41 PM
 y del Reality Factory que opinais?? parece un pack para hacer juegos bastante completo, con Editores, Actor converters, Terrain generators, etc. Eso sí, creo que utiliza Genesis3D y la documentación parece un poco engorrosa.  :rolleyes:

http://www.realityfactory.ca
Título: Elegir Motor Par Aun Videojuego
Publicado por: donald en 17 de Diciembre de 2004, 07:39:24 PM
 lo que no se suele comentar mucho es lo del tema del importado de gráficos...
Y las features gráficas de cada motor...

-en ogre no tienes improtado de blender en cuanto animación... Pero si de max, maya y creo que milskhape
-en db pro tienes el improtado de x, con lo cual ya pillas de muchos paquetes...(tb md2, creo)

-en blitzbasic3d no hay de eso, pero puedes usar ultimate unwrap (comprar, vaya, no creo nio que este pirateao ;) ) , o el plugin Pipeline, pero pa mí que va peor pa personajes (que suele ser lo más problematico, sobre todo, con bones y pesos completos) Puedes importar md2, y los md3 dicen que van lentos (como los b3d~x, pero es que creo que los pesos no se calculan por hardware...) Character Fx exporta a md2 y b3d, además de x.El formato b3d tiene bone sy pesos y está muy bien, pero el renderizado que hace el engine, hace que pierda cierta calidad, y se carga la interpolaciónspline, pq solo soporta linear.

-en Torque, algunos dicen que es una pesadilla...hay para Maya, Max, y Blender, pero dicen que es un dolor...

-Nebula 1 tenía un plugin directoa código de engine para character fx, y el cfx no está mal, aunque ya  lo supera Blender, que es gratis.
-nebula2...no sé si sirve el mismo plugin, y creo que tiene exportadores para Max y Maya.
-neoengine tiene importado de md5, así (sigo en personajes) Maya, Max, y Gmax, Blender soportados...
-Cipher, ni idea.
-qube, o algo así, md2 y max, si recuerdo bien..o al menos, esos.
-Gamestudio...hay plugins, pero nada perecto, para Ultimate Unwrap, Milkshape, Max, Maya. Lo que no entiendo es como añaden el x sin pesos, y encima dicen que va pa largo...que no hay prioridad alta...
-Irrlicht importa md3, md2, x(indispensable el mview), cal3d (no del todo hecho) , milkshape.

-Reality Factory está basado en Genesis 3d. Formatos act, no hay pesos. Alla Milkshape, bones sin pesos...puagh...

-Truevision 3d importa modelos x con pesos y bones, y parece que bastante bien. SOporta sombras dinámicas, incluso arrojadas sobre el personaje (sólo lo he visto tb en Urgh Engine, ese gran desconocido, que tb importa x)

La mayoría de los engines tienen uno de estos, o varios :

md2, md3, md5, x, milkshape, y...scripts/plugins para Maya y Max es casi lo más frecuente.

Blender exporta en md2, md3, md5, cal3d, x, milskhape (el tipo se está currando la animación) y más que no recuerdo ahora.

Max, lo mismo y mucho más, claro.

Siendo estrictos con el tema de producción indy "legal", es importante el soporte de esos formatos, más que de paquetes highend.

Luego está el hecho de la calidad gráfica...buffff....que en algunos casos...se ven cosas increibles...

La mayoría no llegan ni de lejos a las cotas de lo que están haciendo Berseker y Hadd...

Tb es que no lo suelen pretender, pq son engines pa sacar juegos para maquinas bajas...

Pero los que si lo pretenden (ie db pro) pegan cada patinazo...

Muy poquitos tienen sombras dinámicas decentes, algunos hasta hace poco no tenían ni lightmaps (3drad, que por cierto, soporta x...pero mejor no lo comento ;) )  ...otros dan una calidad muy pobre de renderizado...algunos no pasan de 16 bits de color...otros son extraordinariamente lentos, incluso tienen parones grandes en las demos que se suponen que son para vender...

Lo de los normal maps, es cutre en casi todos ... a la mayoría, ni ha llegado.

Pero eso lo veo secundario, pero que los lightmaps ni estén (y ya estaban en hl1 ...) , que sean defectuosos, que usen tecnología de antes del dilluvio,  que las sombras de personaje, o no estén , o sean malísimas, o quiebren el rendimiento a más de la mitad de fps lo pongan como lo pongan...

Y cantidad de glitches y fallos gráficos de todos los colores.

Lo que no entiendo es la falta de lightmaps  y sombras de personaje...queda fatal... dado el caso, por lo menos el bitmap con alpha que  acompañe...

Pero bueno, no se puede tener todo.

Todo esto es pq dices que la mitad de tu equipo son grafos..supongo que se miraran estos temas, por la cuenta que les trae...


Título: Elegir Motor Par Aun Videojuego
Publicado por: egf en 17 de Diciembre de 2004, 07:58:39 PM
 he donald el gamestudio importa .x todo: pesos bones y materiales a su formato nativo (el toro esta exportado en x desde maya), a lo que te refieres es que en el futuro van a poner la posibilidad de usar los .x directamente sin pasarlo al formato del gamestudio (algo que no tienen mucha importancia)

tambien todos los exportadores del milshape se pueden usar con el modelador de gamestudio


Título: Elegir Motor Par Aun Videojuego
Publicado por: egf en 17 de Diciembre de 2004, 08:18:20 PM
 una lista de fectures de motores
http://www.conitec.net/a4faq.htm




ps no pude editar :(
Título: Elegir Motor Par Aun Videojuego
Publicado por: senior wapo en 17 de Diciembre de 2004, 08:18:37 PM
 
Cita de: "Jedive"Estas seguro? Mark Sibly, el autor, dijo que Blitz3D compila a código nativo. Por lo visto hay un stub precompilado con toda la librería y tal, y el código que mete en el recurso del EXE es código máquina real, pero así se ahorra el tener que hacer un linker.
Si, tienes razón. No es interpretado sino compilado. Edito el post de más arriba para no propagar falsa información. O mejor no lo edito, que se me ha pasado el tiempo  :P  
Título: Elegir Motor Par Aun Videojuego
Publicado por: AgeR en 17 de Diciembre de 2004, 10:51:28 PM
 Yo por lo que tengo visto hasta ahora, he estado trasteando un poco el ogre y me parece un magnífico motor de render, pero el problema es que es sólo eso, de render.
No sé hasta qué punto sería sencillo o complicado añadir colisiones "a mano".

Sobre el Irrlicht, a mí me parece un motor muy bueno, sobre todo por su sencillez de aprendizaje y utilización. Un problema gordo que he visto son las sombras por stencil, que comentaba alguien ya, que no funcionan lo bien que deberían. Además la calidad del render realmente viendo las screenshots sí que parece muuuuuuuuucho inferior al ogre.

Yo te animaría a usar tu motor para el proyecto : tiene un buen render, lightmaps, colisiones, físicas, partículas, sonido...
Es un buen momento para poner a prueba tu motor no? Además, si hace falta algo, o hay algún bug, te costaría poco encontrarlo ya que llevas trabajando en él desde hace mucho. Igual si hay que añadir algo nuevo.

Saludos!  :lol:  
Título: Elegir Motor Par Aun Videojuego
Publicado por: donald en 17 de Diciembre de 2004, 10:57:27 PM
 ah...

el mdl7 de game studio tiene ya bones? ...bueno, si decían que el engine ya tenía bones, imagino que el formato también...

yo había leído eso, pero había entendido que al importar el x perdías los pesos, como pasa en otros engines...

Pues es bueno saberlo.

Si lo que hace es convertir a vertex animation...ya es más marrón, pero bueno, sería un mal menor.

Título: Elegir Motor Par Aun Videojuego
Publicado por: Mars Attacks en 18 de Diciembre de 2004, 12:47:57 AM
 Yo creo que, visto el proyecto (sus tres años de duración y sus ocho mil euros de coste estimado), podríais permitiros comprar el motor, lo amortizaríais rápido.
Alguien tendría que enseñarles el illogic o el Devil by Mistake para que se dieran cuenta de que no hacen falta magos, guerreros ni escudos con espadas retráctiles para hacer un juego.
Pero en fin, no seré yo quien les quite la ilusión. Hasta intentaré echar una mano y todo (eso sí, hay que hacer más caso a la tía, que se nota que sabe organizarse... ¿estará soltera? :rolleyes:).

Pos eso. Que de motores, usa el tuyo. Si ves que alguien quiere meter algo que cuesta mucho, le cortas las manos y a seguir :D
Título: Elegir Motor Par Aun Videojuego
Publicado por: DraKKaR en 18 de Diciembre de 2004, 04:57:02 PM
 Hombre, yo no queria usar mi motor por usar un motor probado y terminado. Pero lo propondré a ver que les parece al resto del grupo. Al menos mi motor sí que se como funciona XD.