2010-05-15 15 views
6

Ha pasado un tiempo desde que realicé cualquier programación de juego en C#, pero he tenido un error reciente para volver a entrar en él, y quería algunas opiniones sobre qué configuración debería usar.C# 2D Gráficos vectoriales Juego usando DirectX u OpenGL?

Quería usar C# ya que eso es lo que uso para el trabajo, y me he familiarizado con él. He trabajado con DirectX y OpenGL en el pasado, pero principalmente en 3D, pero ahora estoy interesado en escribir un juego en 2D con todos los gráficos vectoriales, algo que se asemeja al aspecto de Geometry Wars o al antiguo juego de arcade Star Wars.

Puntos clave Estoy interesado en:
• Facilidad de uso/implementación.
• Fácil en la memoria. (Planeo tener mucho que hacer a la vez)
• Se ve bien, no quiero que la curva parezca pixelada.
• Tal vez algunos buenos efectos como brillo o partículas.

Estoy abierto a cualquier y todas las sugerencias, tal vez incluso algo que no he pensado en ...

Gracias de antemano!

Respuesta

11

Si recién está empezando y ya tiene un fondo C#, ¿por qué no prueba XNA? Que sin duda será capaz de aprovechar sus habilidades de C# aquí

http://creators.xna.com http://creators.xna.com/en-US/downloads

+0

+1. XNA tiene un amplio soporte y una gran cantidad de libros para ofrecer más soporte. –

+0

Y, además, si usa XNA, inmediatamente tendrá un lugar donde ponerlo para que la gente lo intente con solo un mínimo esfuerzo adicional: XBox Live Indie. A diferencia de otros métodos de publicación, requiere una cantidad muy mínima de pautas funcionales a seguir, y a cambio, tocas a toneladas de personas potenciales para probarlo (¡si te interesa lograr que la gente lo intente!) También tiene acceso a mucho más que solo API de gráficos con XNA. obtienes sonido, entrada, acceso a archivos ... todo lo que necesitas pensar al hacer juegos. – EdgarVerona

1

TBH que en realidad no importa lo que se utiliza. OpenGL, SlimDX o XNA. Todos serán tan complejos (o no según el caso) como el uno al otro.

1

Puede considerar el uso del motor Axiom, que es un puerto C# de Ogre3D. Es suficiente nivel más alto que puede hacer que rinda sus gráficos a través de XNA u OpenGL con poco o ningún cambio en su código. También puede manejar entradas de teclado y mouse (que normalmente están separadas, por ejemplo, a través de DirectInput en Windows o SDL en Linux).

+0

Axiom ya no está en desarrollo. –

1

También puede considerar el uso de TAO Framework que es basado en OpenGL y bastante agradable. Pero tienes que escribir el motor 2D solo tú solo. ¡También funciona en Mono!

+1

Esto ha sido reemplazado por OpenTK, afaik. –

3

Uso SlimDX para la programación de gráficos C# y lo prefiero a XNA.

http://slimdx.org/

+0

+1 esp. con XNA ya no obtiene desarrollo activo SlimDX parece una muy buena alternativa de OpenSource – Seph

1

Creo mi motor de OpenGL con un envoltorio de C# porque me gusta C# mucho también. Los lenguajes tristemente administrados son muy lentos cuando se trata de gráficos, y es por eso que siempre hago que mi parte de OpenGL en C++, la compilo como una DLL y la obtengo de C# usando interoperabilidad. Si por alguna razón no le gusta DirectX, le sugiero que se mantenga alejado de XNA. Todo el mundo que conozco está muy decepcionado y volvió a C++ (OpenGL) + C#.

1

Como ya sabes C# usaría XNA o Unity. Si bien hay idiomas y middleware más rápidos, es probable que sean lo suficientemente rápidos. Ambos marcos tendrían las características necesarias que necesita.