Tiled map support in xygine
To expand the list of features of xygine (and because I needed it for a project I was working on) I have added support for Tiled tmx maps to xygine. xygine is, of course, my SFML based 2D framework which collects together all the boilerplate code required to create an entity component based scene graph, and tmx support is a handy addition. Unlike the SFML tmx loader of old xygine completely separates the parsing of tmx XML files and the rendering of maps. This means that while xygine has complete parsing support for all current (as of time of writing) tmx features, it is renderer agnostic, and drawing a specific map type can be implemented independently. Currently xygine features a component for rendering orthogonal maps, which is the most common usage, using a special shader to render the tiles *without* tearing. It also has a set of utility functions which can be used to convert map objects into xygine's physics components, so loading collision data and dynamic objects is quick and easy. The example project contained in the xygine repository now has a tilemap state which demonstrates loading a simple platform style map. As the parser is completely independent to the renderer it is also easy for any user to create a custom set (or subset) of rendering components for any map style, including the hexagonal, isometric and staggered maps. Here's a short video of a project I've been working on using xygine, which is now open source:
I've also recently updated the minimum requirements of xygine to meet the newest 2.4 release of SFML. To read more about tmx support in xygine, check out the wiki page as well as the example application. If anybody wants to submit a custom renderer to xygine pull requests are welcome!
I've also recently updated the minimum requirements of xygine to meet the newest 2.4 release of SFML. To read more about tmx support in xygine, check out the wiki page as well as the example application. If anybody wants to submit a custom renderer to xygine pull requests are welcome!
Comments
Post a Comment