Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Elegir Motor Par Aun Videojuego

Iniciado por DraKKaR, 17 de Diciembre de 2004, 11:37:14 AM

« anterior - próximo »

DraKKaR

 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?

Haddd

 ¿pero tu no estabas haciendo un motor ? ¿lo has dejado?

Javi SJ Cervera

 Yo uso Cipher (www.cipherengine.com), pero IrrLicht te irá de maravilla con esto.
== Jedive ==

senior wapo

 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.

DraKKaR

 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.

Zaelsius

 
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.

Haddd


senior wapo

 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  

Javi SJ Cervera

 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.
== Jedive ==

egf


FeRRy

 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

donald

 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...


Me paso por aquí de cuando en cuando (1 vez cada 3 o 4 meses) ...así que si no respondo a algo no es por antipático. ;) Posteo, y me acuerdo del foro tres meses después... ;)    :-S

egf

 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



egf


senior wapo

 
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  






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.