lunes, 8 de octubre de 2007

Physic & Sound Library...

En la siguiente parte del proyecto Tornado's Quest, me queda escoger que engine de física y el engine de sonido que utilizaré para el juego. En la fabricación de animaciones, no me interesa mucho que los restos de los aviones choquen con otros objetos, pero si encuentro una forma de dar ese efecto de realismo con facilidad, podría implementarlo. Este proyecto tengo planeado dedicarle lo más que pueda, y he estado recibiendo bastante ayuda estos últimos días. Incluso, tengo la posibilidad de conseguirme un elenco para interpretar las voces de todos los personajes del mundo de Sonic, pero eso todavía no lo he decidido. Para el caso del Sonido, me interesa algo que sea fácil de sincronizar con elementos sonoros y efectos especiales, al igual que cambiar fácilmente de música. En estos momentos, tengo cuatro grandes opciones, que creo, sería conveniente revisar cuidadosamente, porque una vez escogido uno, no creo que se me seá fácil cambiar de opinion.


El primer engine que he revisado es ODE (Open Dynamic Engine). La gran ventaja que ofrece este engine, es que viene incorporado con Ogre, como un plug-in, lo cual solo hace falta incluir una biblioteca en el proyecto y listo. Aunque no he visto del todo el potencial de este motor, lo veo asi de lejos como muy básico, y unicamente se basa en bounding-box simples para hacer las colisiones (estilo FPS, o plataforma). Dependiendo de las capacidades que ofrezca esto, es si lo escogo o no. Aunque por lo que he visto, no creo que sea de mucho potencial este. Este proyecto tiene licencia BSD, lo que no dispone de ninguna restricción para su implementación. Me enteré que juegos como Call of Juarez y BloodRayne utilizaron esta herramienta. Link: http://www.ode.org/


Otro engine que he revisado, y que he encontrado con buena aceptación, es Newton Game Dynamics. Este engine lo encuentro bastante poderoso, he revisado las demos, pero no he instalado aún el SDK ni revisado muy a fondo la documentación. Lo más interesante aquí es que permite manejar elementos dinámicos directamente de archivos 3DS, lo que es una ventaja bastante buena. Permite colision con animaciones, y no utiliza una lógica iterativa, como se piensa, sinó más bien es un solucionador determinista, como bien explican en su página. Esta es una de las mejores alternativas que tengo en mente. La licencia de este SDK es un poco restringida, aunque libre, en el sentido de que es una propia, y no como ODE, que utiliza la BSD. No he probado aún como es el SDK a nivel de código, pero no he recibido ningún punto negativo al respecto. Link: http://newtondynamics.com/


Este engine ofrece un gran potencial, al igual que Newton. Tokamak tambien esta interesante. El SDK es bastante simple de implementar y podría ofrecer el potencial que necesito para este juego. A diferencia de Newton Dynamics, este cumple con los requisitos que estoy buscando. La instalación es bastante sencilla y la documentación esta bastante clara, además de encontrarme con varios tutoriales al respecto. El único contra que le veo, por lo menos que me preocupa un poco, es que la página no está actualizada desde el año 2005, y el foro esta completamente invadido por spam, lo que me haría pensar que este engine esta un poco olvidado. Lo único que me enteré es que este año pasó a tener licencia libre BSD, pero de ahí, nada nuevo. Este engine me llama bastante la atención, y creo que será de los primeros que pruebe, ya que la configuración con CodeBlocks es bastante simple y no requiere de leseos extras, como es frecuente. Link: http://www.tokamakphysics.com/


Este engine es bastante bueno, aunque la instalación es bastante complicada, porque hay que recompilar el código fuente con el proyecto. Ya he tenido experiencia con este engine, y del potencial que ofrece, porque es el engine que está implementado en el Game Engine del Blender, con el que se pueden hacer simulaciones físicas, tanto para juegos como para hacer renders de videos. Tiene Licencia ZLib, y tiene integración con Blender y Collada. Entre lo que ofrecen, son una serie de demos, y exclusiva libertad para hacer juegos, inclusive para Playstation 3. Link: http://www.bulletphysics.com/

Y ahí sería una revisión rápida a los engines de Física. Ahora para los Engines de Sonidos, tengo tres opciones principales, de las cuales consideraré dos.


Este engine de sonic es realmente espectacular. Ofrece soporte para casi todos los formatos de audio existentes. Posee unas herramientas de sincronización bastante buena, y se ve bien documentado. Lo malo, es que si quisiera utilizar este SDK, tendría que ser con la "Non-Commercial License", porque ofrece licencia pagada para los demás. No he probado otros puntos como instalación e implementación, porque, en realidad, no me interesa este engine, sin embargo, lo encontré y sería bueno por lo menos haberle hechado una mirada. Link: http://www.fmod.org/




OpenAL es un SDK de plataforma crusada, libre para algunas. Según la misma página, es un SDK bastante poderoso para la fabricación de videojuegos 3D y 2D. Tiene soporte para varios sistemas, como Linux, Windows, Mac, entre otras. Se ha usado en un sinfin de videojuegos, como Battlefield 2142, Doom 3, Unreal Tournament 2003/2004, Lineage 2, entre otros. Este parece una muy buena opcion para trabajar, lo que me hace obligación instalarlo y ver su potencial. Este SDK es OpenSource. Link: http://www.openal.org/

Audiere

Este engine esta bastante simple, ofrece las características más simples para la incorporación de sonido en los juegos. Cosa que hasta ahora lo veo super bien, y necesario. Uno se las puede ingeniar bastante bien para lograr las sincronizaciones que se desean para hacer juegos con sonido, y con esto veo que es una buena opcion para trabajar. La licencia de este SDK es completamente libre, tiene licencia LGPL y la instalación y configuración es muy trivial, ya que utiliza una sola biblioteca dll. Además, la documentación esta bastante completa y la implementación es muy simple. Link: http://audiere.sourceforge.net/

En la página de Ogre hay varios engines más, entre los que más recomiendan es el engine de PhysX que tiene una implementación para el Unreal Engine, y que es de los más fáciles de implementar. La lista completa de engines se puede ver en el Wiki de Ogre. Pronto colocaré otro post, cuando vaya avanzando más en el proyecto para decidir por una biblioteca de Inteligencia Artificial, de interfaz gráfica GUI, de entrada, Input, entre otras. Por ahora mi principal preocupación es escoger bien, y continuar la documentación actual.

No hay comentarios.:

Publicar un comentario

Nota: sólo los miembros de este blog pueden publicar comentarios.