¿Me puede recomendar un buen motor de juego C # para el desarrollo multiplataforma (Win / Mac / Linux, no me importan las consolas)?
Tengo algo de experiencia con OpenGL sin formato y jugué con enlaces de Java y JMonkeyEngine. Sin embargo, estoy un poco decepcionado con esas soluciones y probé Ogre3D, que parecía realmente prometedor, pero preferiría no tener que desarrollar con el PITA que es C ++.
He echado un vistazo a esta lista, pero es bastante abrumadora. No estoy buscando una solución todo en uno, es decir, realmente no necesito soporte para redes, audio y todo ese jazz, pero no estaría de más si fuera compatible.
¿Tal vez también hay una solución Java increíble que no conozco?
c#
java
cross-platform
mono
Raoul
fuente
fuente
Respuestas:
En realidad, Unity está usando Mono en su back-end. Aunque muchos de sus tutoriales de scripting usan JavaScript, en realidad puedes programar Unity completamente en C # / Mono.
fuente
JMonkeyEngine es realmente el motor 3D más recomendado para Java. Xith3D a veces se recomienda como una alternativa, ya que también es un motor gráfico de estilo de escena.
Podrías usar LWJGL o JOGL, pero esos no son tanto motores como bibliotecas, y estarías escribiendo OpenGL en bruto.
Sin embargo, no recomiendo Java3D , creo que está casi abandonado.
Creo que LWJGL es lo mejor que obtendrás, pero de nuevo, es una biblioteca de juegos, no un motor gráfico. OGRE es un motor de gráficos de escenas como JMonkeyEngine; LWJGL es para Java lo SDL es para C ++. Proporciona funciones para OpenGL, audio y entrada, y se espera que se ejecute con eso. Personalmente me gusta ese tipo de poder.
fuente
Vería Ardor3D y volvería a ver JMonkeyEngine.
Ardor3D
Creado por los desarrolladores originales de JMonkeyEngine que decidieron que se requería un descanso limpio para poder comenzar de nuevo y usar toda la experiencia adquirida en el desarrollo para crear una mejor API y plataforma.
Las personas que conozco que han usado Ardor3D tienen cosas muy positivas que decir sobre su diseño y API. Está en desarrollo activo y tiene una buena comunidad y una buena documentación de API, aunque los tutoriales son un poco escasos y, en general, tendrá que estar familiarizado con los conceptos de programación 3D para poder recogerlo.
JMonkeyEngine
Una adquisición liderada por la comunidad del JMonkeyEngine que dejaron los desarrolladores de Ardor3D, se ha ido fortaleciendo desde el lanzamiento de JME3 que abordó una serie de deficiencias en el diseño de JME2.
Existe una amplia documentación que incluye tutoriales y muchos proyectos que lo utilizan. Si tuvo problemas con JMonkeyEngine 2 o anterior, vale la pena volver a ver la versión 3.
Otros
fuente
El Axiom 3D Engine se basa en un puerto C # de Ogre. Tiene renderizadores DirectX, OpenGL y XNA, por lo que es muy portátil, aunque algunas plataformas no se mantienen de manera muy activa.
fuente
Eche un vistazo a Ploobs Engine , ahora es compatible con XNA 4, es de código abierto y tiene muchas características interesantes:
fuente
Mire http://www.devmaster.net/engines/search.php y también revise el marco XNA.
fuente
SDL más el .NET Wrapper ?
fuente
OpenTK se está utilizando para MonoGame . Lamentablemente, MonoGame solo admite la API 2D de XNA en este momento, pero mencionó que tenía algo de experiencia con OpenGL, por lo que puede usar el contenedor OpenTK para hacer gráficos en 3D. Probablemente también pueda encontrar algunas bibliotecas de gráficos de escenas que se implementan en C # o en C ++ con envoltorios de C #.
Para audio, OpenTK envuelve OpenAL, o si quieres algo más robusto y planeas lanzar el juego como freeware, entonces FMOD no cuesta nada de usar. Se pone caro si quieres cobrar por tu juego. Una alternativa más barata sería BASS .
fuente