Announcing XTiled – XNA Library for Tiled (TMX) Map

A few moments ago I posted the first binary release of XTiled, making it officially ready for use!

XTiled is an XNA library reading and rendering TMX maps created in Tiled Map Editor.  The library supports orthogonal and isometric map formats as well as all TMX 0.8.1 map features and has runtime components for PC and Xbox 360.

There are a few TMX libraries available, so why create another?  The main reason is Nick Gravelyn of TiledLib (the library I did use) announced going forward the project won’t provide the runtime components.  The XNA map loader project by Kevin Gadd doesn’t use the XNA content pipeline features and loads the maps at runtime.  I wanted to have runtime components and use the content pipeline.

Since we were looking at starting a new project, there were a few things I wanted to change in TiledLib.  I didn’t want object names to be required, since they are optional in the Tiled Map Editor, and I wanted access to all custom properties for all the supported types.  The big difference though is in my approach – I front load all the tile position calculations at build time and just use a lookup tables at runtime.  This hides a lot of the intricacies of the TMX map format from the game logic.

The work doesn’t stop here though.  Tiled is close to a 0.9.0 release that will add support for object property sheets making it easier to put metadata into a map.  We also want to expand on the runtime features with more helper methods.  Our isometric support is possibly not as helpful as it could be; I’ve never made a game that used isometric perspective, so I’m only guessing at what I think would be desirable.

We’ve setup a discussion list at Google Groups, have documentation in the Wiki, and will be using the Issues section of BitBucket to track bugs and features.  If you use XTiled, let us know how it worked for you and if you release a game using it tell us that too, I’ve love to keep a page on the Wiki of games released using XTiled!