I've been working on a tile map library of my own, with a focus on the TMX format. It is, appropriately, called gosu-tmx
and I'm hosting it over at github. Licensing is the same as Gosu itself. It only supports the orthogonal projection and that will probably remain the case forever since that's all I'm interested in.
* Uses autoload so stuff isn't loaded till it's used.
* Loads all layers, object groups and tile sets and caches the tiles for faster rendering.
* There is a hook for creating objects so your own code has total control over that (you aren't forced to use Chingu or something else).
* Tile data is decoded in a way that is hopefully extensible (in case Tiled adds bzip2 compression or uuencoding or something crazy like that).
Future hopes, dreams and plans (which may or may not change):
* Might add a subclass that automatically creates Chingu objects in the future.
* I'd like to abstract the Gosu requirement into a subclass or module also, with user callbacks for tile map loading.
* Runtime modification of maps. For now that business is a bit hairy.
* Support for other map formats, which will make the name misleading.
* Support for defining tile geometry and generating convex polygons from tiles for Chipmunk.
* Make it a gem once I feel the API is stable enough to subject the rest of the world to it.
Actually, I don't recommend using this in production code yet, but if you'd like to check out the source and give it a try, maybe give me some feedback about what I could do better, please do! Fork me on github if you think you have something to contribute.