Como los juegos se basan en muchos subsistemas diferentes, como gráficos (DirectX, OpenGL, ...), sonido (OpenAL, Ogg Vorbis, ...) o física (colisiones, ...), ¿qué bibliotecas sabes que son útiles? para el desarrollo de juegos en C # y qué beneficios ofrecen?
58
Obviamente, hay XNA de Microsoft: http://creators.xna.com/en-US/ Los juegos hechos con XNA funcionan en Windows y (a través del club de creadores) en Xbox360. Creo que esto es perfecto para mojarse los pies en el desarrollo rápido del juego. Todavía no tengo los pies mojados en XNA correctamente, por lo que aún no puedo juzgarlo. Pero, mirando desde el costado, parece lo mejor desde el pan rebanado. Claro, no puedes hacer todo con él. Pero puedes hacer prototipos rápidos y juegos de trabajo de calidad independiente y más.
Otra biblioteca es SlimDX - http://slimdx.org/ que algunos podrían decir que está más cerca del metal / realidad si no quieres trabajar con XNA. Por lo tanto, es excelente para crear prototipos rápidamente, especialmente si el desarrollo principal de tu juego es C o C ++. Además, excelente para hacer herramientas.
fuente
También hay un puerto de C Library SDL a .NET, SDL.NET . Yo personalmente usaría XNA en C # porque es una biblioteca bien organizada, muy personalizable y también amigable para principiantes.
fuente
Descargo de responsabilidad: la siguiente recomendación puede o no estar sesgada debido a mi participación personal en el desarrollo de este motor.
Duality es un motor de juego 2D extensible que viene con un sistema editor WYSIWYG. Vista rápida:
En caso de que desee probarlo, puede descargar directamente la última versión binaria o compilarlo usted mismo utilizando el código fuente de GitHub . Para obtener más información, una visita al sitio web de información y a los foros de la comunidad podría ser rentable. Simplemente siga los enlaces del sitio web de información que he incluido anteriormente.
fuente
BulletX es un puerto 100% C # de Bullet Physics, que se puede usar con XNA.
fuente
Del lado de las herramientas, una biblioteca increíblemente útil es el " Marco de Extensibilidad Administrada ", que ahora forma parte de .Net 4.0. Le permite crear complementos o el descubrimiento automático de instancias de clases ridículamente fácil, lo cual es muy útil para sus herramientas.
fuente
El más grande (y más probado) hasta el día de hoy es el marco XNA. Incluso puede aprovechar XNA para construir sus conjuntos de herramientas. La ventaja es que tiene un marco que incluye las bibliotecas que necesita (física, sonido, gráficos) en un solo paquete y la gran ventaja es que si hace algo realmente bien, puede intentar bombearlo a XBLA.
fuente
XNA es una biblioteca bastante grande para PC / Xbox360, que maneja sus gráficos, sonido, entrada, etc.
fuente
El Tao Framework (utilizado en este libro que he encontrado muy útil: Programación C # Juego para la creación de juego serio ), que envuelve OpenGL y muchas otras características de programación de juegos de utilidad (accesible a través de C #) es digno de una mirada. Sin embargo, ha sido reemplazado por la Open Toolkit Library (OpenTK), que se mencionó en otra respuesta. Me resulta extraño que el libro use el Marco Tao en lugar de OpenTK, teniendo en cuenta que Tao ha estado inactivo durante aproximadamente 2 años (y el libro es completamente nuevo). Aún así, un marco útil que vale la pena echarle un vistazo.
fuente
No es exactamente lo que pediste, pero Unity es un motor de juego que admite secuencias de comandos en C #
fuente
AngelXNA (http://www.jeffongames.com/2009/05/angelxna-v10/) es una buena biblioteca / motor orientado a prototipos construido en XNA, si está buscando algo más de alto nivel.
fuente
Considero que SFML.Net es una excelente opción, y es lo que yo personalmente uso. Sin embargo, tenga cuidado, no use los archivos binarios proporcionados en el sitio, sino que obtenga lo último de SVN. La versión del sitio está muy desactualizada.
fuente
Eche un vistazo al motor Ploobs: ahora es compatible con XNA 4, su código abierto y tiene muchas características interesantes:
fuente