Take the 2-minute tour ×
Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

I'm looking for a 2d game engine for .NET (it can be XNA based) that will do sprites, tile maps, handle input, and optionally handles cameras. It can also be 2.5d.

share|improve this question

closed as off-topic by Sean Middleditch, eBusiness, Anko, Byte56 Jan 15 at 4:13

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions that are about "which tech to use" are outside the scope of the site. For more information, see this meta post" – Byte56
If this question can be reworded to fit the rules in the help center, please edit the question.

    
But, isn't XNA a Game Engine? Why would you want a game engine on top of another? –  Gustavo Maciel Mar 24 '12 at 1:31
5  
No its a framework not an engine. Either way it can do everything mentioned by the OP except "textured grids", what every they are (a tile map perhaps?). –  ClassicThunder Mar 24 '12 at 1:37
    
yeah a tile map would be a better term, I'll change that. –  Thraka Mar 24 '12 at 15:33

1 Answer 1

up vote 2 down vote accepted

In that case I would just use XNA with a few 3rd party libraries that make certain things very easy.

Sprites

Drawing sprites in a XNA is very simple. Also there are well documented samples on how to do all of the basic stuff.

Input

Input in XNA is a bit of a pain since it uses polling. However, you can either use the Mouse or Keyboard classes or use a window hook.

Tile Maps Editors and Rendering Engines

For tile maps there are 3 three editors I have experimented with in order of my personal preference.

tIDE is written using XNA and in my experience is the easiest to integrate. The documentation is pretty good and the examples XNA project is pretty easy to follow.

TileD is not as easy to integrate with XNA as tIDE, but is more capable. Fortunately Nick Gravelyn has done most of the work for you.

Glee2d Didn't like the UI so I didn't do too much with it. However, it supports arbitrary objects and there is a XNA renderer liked to in the site.

Cameras

2D Cameras are easy in XNA. If I remember correctly all you need is the below. Just modify the Location, Rotation, and Scale variables. BTW Rotation and Scale are floats but Location is a point. Sorry if this is wrong I'm stuck with a laptop that is not mine for the weekend so I can't test it.

var view = Matrix.CreateTranslation(
    new Vector3(-Location.X, -Location.Y, 0)) *
    Matrix.CreateRotationZ(Rotation) *
    Matrix.CreateScale(new Vector3(Scale, Scale, 1)) *
    Matrix.CreateTranslation(new Vector3(ViewportWidth * 0.5f, ViewportHeight * 0.5f, 0));
spriteBatch.Begin(
    SpriteSortMode.Deferred,
    BlendState.AlphaBlend,  
    null, null, null, null, 
    Camera.view);
share|improve this answer
    
I didn't know XNA used polling. ICK! Do you have a source for that? –  Jonathan Dickinson Mar 26 '12 at 8:56
    
    
Thanks a bunch for the quick references. I've looked at one or two of your links before but the other I had not. Thanks for the quick tutorial on the camera. –  Thraka Mar 27 '12 at 15:45

Not the answer you're looking for? Browse other questions tagged or ask your own question.