Estoy a punto de detener mi proyecto de juego en XNA porque, por lo que puedo deducir, su desarrollo está llegando a su fin (y ya está detrás de la tecnología actual). Por lo tanto, necesito adoptar un nuevo marco o API.
Acabo de pasar 2 días mirando C ++ y decidí que realmente no es para mí, sin embargo, encuentro el acceso en bruto a DirectX atractivo. SharpDX parece un buen lugar para comenzar, pero no tiene documentación ni comentarios de código. Siento que no está listo para usar.
Me interesan las opiniones de las personas que han utilizado uno o ambos de estos marcos, para ayudarme a decidir con certeza cuál debo aprender. Gracias por cualquier consejo
Respuestas:
Soy el autor de SharpDX, por lo que mi consejo será parcial, pero al menos me gustaría responder sobre algunas de sus inquietudes.
Acerca de la documentación de SharpDX, el estado actual es muy limitado, ya que he estado trabajando hasta ahora para que toda la API de DirectX sea accesible desde .NET y el nuevo sistema operativo Win8. Como estoy cerrado para terminar de este lado, estoy trabajando para proporcionar un sitio web completo y algunos artículos para explicar los conceptos clave de SharpDX y cómo puede obtener lo mejor de él. Además, tenga en cuenta que este proyecto es principalmente para llevar DirectX a .NET, por lo que sigue siendo una API de bajo nivel. Por lo tanto, requiere profundizar un poco en el comportamiento de la API de C ++ para comprender cómo funciona. Afortunadamente, casi todos los métodos en SharpDX se asignan a un solo método en la API de DirectX, por lo que es fácil verificar cómo usar un método verificando la API de DirectX. El sistema de documentación que estará disponible con SharpDX 2.
¿SharpDX está listo para ser usado para desarrollar un juego? En resumen, sí.
En primer lugar, una empresa japonesa me contrató para participar en el desarrollo de un nuevo motor 3D en C #, y estamos utilizando SharpDX para el backend de renderizado en Windows.
En segundo lugar, he recibido muchos correos privados de desarrolladores de compañías que utilizan SharpDX para desarrollar aplicaciones multimedia (que van desde juegos, editor de niveles, publicación de fotos en línea ... etc.). Algunos de estos clientes son bastante grandes (desafortunadamente, no puedo citarlos).
Por último, algunos proyectos públicos de código abierto están utilizando (o van a utilizar) SharpDX para su representación principal de back-end. Por ejemplo, Delta Engine ya está utilizando SharpDX para su representación Direct3D11 (que también estará disponible para Win8). El próximo proyecto ANX (un sucesor XNA de código abierto) también está utilizando SharpDX para el renderizado, gamepads y gestión de audio.
Pero SharpDX es solo un paso en el camino para construir un motor de juego, y luego un juego. Debido a que la API es de bajo nivel, no puede esperar tener el mismo tipo de características de alto nivel a las que estaba acostumbrado con un marco como XNA. Pero con un marco mínimo, podrías hacer muchas cosas.
Además, podría considerar usar un producto bien establecido como Unity para desarrollar juegos portátiles en C #.
fuente