views:

207

answers:

5

A picture for reference of the current state of the game: http://h.imagehost.org/0524/td.jpg

I'm developing a simple 2D hobby (personal) game in C# that uses GDI+ for rendering since I decided that I would focus mostly on the gameplay, and not so much the immersion and graphics/UI. Now, however, I got most of the gameplay ready, and I would like to improve the graphics and UI which are extremely ugly and non-userfriendly at their current state.

So, I am looking for advice on how to improve the visual impression of the game. Currently there are no animations on the screen at all except for images moving around the screen (bullets/mobs).

It should be noted that I'm a total failure with graphics, and for the most parts I won't be able to create them myself. I'm currently reusing textures from currently existing games and freely available online texturse.

There are various things that I would like to improve, but not quite know how to do so:

  1. Animations: Like arrows/bullets rotating the way they're facing, mobs having a die animation and so on.
  2. Texture Blending: Instead of having the whole game so tile based, a bit of blending between different kind of terrain would properly be a nice touch.
  3. Perhaps adding transparency to the game.

What are your suggestions to improving the graphic element in the game and UI? And would you suggest that I continue using GDI+ or should I step up and use a more "capable" library for rendering?

Edit: I'm not particularly looking for a new rendering library (Although im looking into XNA), but more effects and stuff that will improve the over all look such as: "You can find awesome free animations/textures on www.somesite.com", or "use theme based backgrounds on the UI and that sort of stuff".

+1  A: 

For a game like this I would check out XNA. It could help you simplify a lot of these aspects.

Charlie
I've very very little experience with XNA, I, however, have used DirectX pretty much, mainly for 3D stuff though. What I found was that I had to build up for myself the whole GUI mechanism instead of just being able to reuse window forms control which was quite a bit of work.I will take a look at it though.
Qua
XNA is built on top of the .NET framework so I believe you can use a lot of the existing forms controls. You also get the content pipeline and a number of other helpful tools. It won't turn you into a graphics designer, but it will ease the process of coding things like animation, textures, etc.
Charlie
+1  A: 

The Torque Engine has an indie license for around $100. You can try out a free demo. It's a full game engine, so you may find that, if you've designed your project properly, you can swap it in very easily and get productive results right away. As a bonus, you can even make Wii or iPhone games with it!

Chris McCall
I think that's a bit overkill for his purposes.
DShook
Is it that $100 too much money or that the resulting games look too good?
Chris McCall
Depends on how much $100 is for you
peterchen
+1  A: 

Ah shoot. I just wrote the whole below answer, and then went back to re-read the question and you say you use GDI+. Well... If you ever decide to use OpenGL instead, then check this out:


Yay texture blending! I just went through a couple-week-long journey into learning texture combining in OpenGL. Here are some questions that I had, in chronological order, and you can check out the answers and comments of mine to see where I went with it:

The final result works amazing. I don't have any screenshots yet because it's actually ugly, since I'm randomly generating the terrain and have crappy example textures at the moment, but trust me on this, it's the best way to go. :)

Ricket
Also here is my compilation of all the online resources I used to learn about OpenGL texture combining/splatting: http://docs.google.com/View?id=ajk9hxnz95qm_107fndcp6c8
Ricket
+1  A: 

First, if you're sticking with GDI+ for your game, realize that performance almost certainly will be a concern unless you have a very static (ie turn based) game. Make sure you are prepared to use dirty rects and similar philosophy to eliminate repainting as much as possible.

If you want to get blending in, just use a color matrix when drawing your bitmaps. Theres a pretty decent code sample for this here. Using alpha blending you can implement your terrain blending and some pretty nice effects just by overlaying alpha blended sprites (such as explosions or particle effects). GDI+ supports PNGs with alpha channels so I would recommend using those to create your sprites.

Ron Warholic
+1  A: 

A huge part of what makes commercial videogames so attractive is their use of transitions; check out what happens when you change menu screens in a commercial game, for instance. It took me a long time to figure this part out.

You probably also want to vary your tile graphics; replacing that rigid, square path with a bunch of different tiles, including those with "soft corners" will make things look better. Humans don't like geometric angles, or at least not ninety-degree turns. Here is an extreme example of what you can do; download this set and take a look at how the different tiles are stitched together to make a scene.

I do recommend moving on from GDI+ since it's rather slow; I use OpenGL myself.

ravuya