Eventually, a usable TMX map loader that works with Gosu and doesn't care whether you're using Chingu or some home-grown game engine of your own devising.
I like Chingu and a TMX loader already exists for it, but it's just not the right tool for what I want to do. Hopefully others will find this useful as well. :)
Here's what's not: so far, map data is loaded and layers, object groups and tile sets are created. The map (and each individual layer) is capable of drawing itself. TileCache is no longer being used for now, but it might come back; tile sets are flattened into one to avoid having to check which one to use.
Validating the XML document to its DTD would be nice too, but I'll be buggered if I can get Nokogiri to actually load the DTD. There is inadequate or no documentation on this topic. Probably we'll just have mysterious failures on unsupported or erroneous TMX files, which is not ideal.
Possible consideration for the future: move the dependency on Gosu into a separate, mixable, matchable module. Maybe add explicit Chingu support too. Handle tile set creation and drawing ops the same way we do object creation: define a callback hook and let the user take care of it. Awesome.
Help is welcome, obviously.
Don't do it yet. The API is so unstable it does not have a half life but a quarter life.
- ruby >= 1.9.1 (probably)
- nokogiri
- gosu
This software is available under the terms of the GNU Affero General Public License. See LICENSE for details.
- Eris eris.discord@gmail.com
- your name here!
- Gosu, a 2D game development library for Ruby and C++
- Chingu, a higher level game library built on top of Gosu
- Chipmunk, a 2D rigid body physics engine in C
- chipmunk-ffi, more up-to-date Ruby bindings for Chipmunk
- Tiled, a flexible tile map editor and the origin of the TMX format (I think).