Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

C# 2D Vector Graphics Game using DirectX or OpenGL?

So it has been a while since I have done any game programming in C#, but I have had a recent bug to get back into it, and I wanted some opinions on what configuration I should use.

I wanted to use C# as that is what I use for work, and have become vary familiar with. I have worked with both DirectX and OpenGL in the past, but mostly in 3D, but now I am interested in writing a 2D game with all vector graphics, something that resembles the look of Geometry Wars or the old Star Wars arcade game.

Key points I am interested in:
• Ease of use/implementation.
• Easy on memory. (I plan on having a lot going on at once)
• Looks good, I don't want curve to look pixelated.
• Maybe some nice effects like glow or particle.

I am open to any and all suggestions, maybe even something I have not thought of...

Thanks in advance!

like image 438
Brian Avatar asked May 15 '10 06:05

Brian


4 Answers

If you're just starting out again and already have a C# background, why not try XNA? You'll definitely be able to leverage your C# skills here

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

like image 50
Josh OD Brown Avatar answered Nov 17 '22 23:11

Josh OD Brown


I use SlimDX for C# graphics programming and I prefer it to XNA.

http://slimdx.org/

like image 42
Ashley Davis Avatar answered Nov 18 '22 01:11

Ashley Davis


TBH it doesn't really matter what you use. OpenGL, SlimDX, or XNA. They'll all be about as complex (or not as the case may be) as each other.

like image 1
Goz Avatar answered Nov 17 '22 23:11

Goz


You might consider using the Axiom engine, which is a C# port of Ogre3D. It's enough higher level that you can have it render your graphics via XNA or OpenGL with little or no change to your code. It can also handle keyboard and mouse input (which are normally separate -- e.g., via DirectInput on Windows or SDL on Linux).

like image 1
Jerry Coffin Avatar answered Nov 18 '22 00:11

Jerry Coffin