This free tool can convert Tiled maps (tile layers and object groups) to binary files for use in your games. I created this since I needed a good way to get Tiled maps to Gamemaker Studio but this tool can be used for any other game production environment that can read binary files.
Features
- Supports all map types (orthogonal, isometric, staggered isometric and hexagonal).
- Can read all compression types available to the tmx file format (uncompressed, csv, base64, zlib and gzip).
- All tile layers and object groups can be saved separately in their own binary files or multiple layers / groups can be combined in one binary file (tile layers and object groups can’t be combined).
- Run length encoding available for tile layers, this is a simple compression technique that can greatly reduce the file size of the binary files.
- All data (except flipping) for objects are saved (names and types optional). Custom properties are saved as 16-bit integers or strings depending on format.
- All object types are supported (tile, rectangle, ellipse, polygon and polyline).
- Save tile maps suitable for the extensions Tome and Turbo Plus for AMOS Professional on the Commodore Amiga. (v1.2)
Documentation
The binary file format is of course documented. Read the documentation here: Tiled to Binary Documentation. I will soon make a demo how to use this in Gamemaker Studio. The documentation for the Amiga AMOS Pro Tome (.map) and Turbo Plus (.scene) can be read here: Tiled To Binary AMOS documentation.
License etc.
You can use this tool for whatever project you want. It you use it for a game we would love to hear about it! 🙂 The tool is free but donations are always welcome, if there is interest in this tool I will continue to work on it and please also let me know about possible bugs.
Download
You can download the tool for Windows below. The tool needs .NET Framework 2.0 to work, but this should be installed on all Windows machines already. Download the documentation separately, I will keep updating that.
[Download not found]
Changelog
V1.3 (2016-09-26)
- Fixed a problem with localisation and float values.
- Support for CSV encoded maps.
V1.2 (2016-04-02)
- Can save maps suitable for the extensions Tome and Turbo Plus for AMOS Professional on the Commodore Amiga.
V1.1 (2016-01-28)
- Fixed a small bug with tile ids if they are flipped horizontally or vertically. Currently the converter doesn’t store this information.
v1.0 (2016-01-27)
- Initial release
got it to address my Tiled map but it simply doesn’t work
Debugging shows the following:
my map orientation = 232 ???
my map tile width = 0 ?????
my map tile height = 19200 ????
my map rel = 89 ?????
These values don’t make any sense at all its as if it is not really reading the map
When I try to load your binary file conversion of my Tiled map no matter what the saved format is my results are totally invalid! See comment above.
Hi! Are you willing to share your map so I can have a look what the problem might be?
Absolutely just tell me where to send it
You can send it to mick (a) gamephase.net
Ok I just sent it
DUDE!! Tnx so much.. this helped no end.. mainly because game maker is such a piece of shit.. it took 3 hours to work out how to read a bloody map files into game maker.. this tool was a god send.. please though.. i didnt notice an output for JUST 8bit values.. i had to ignore the first byte and only read the second.. as game maker only reads in bytes.. 🙁 perhaps you could add this to a later version?
Glad it is of use to you. Did you check the GMS example I made for reading maps? Can be found here: http://www.gamephase.net/using-files-created-with-tiled-to-binary-converter-in-gamemaker-studio/ . Anyway, there are functions there to read 16 or 24 bit values from a buffer with bit-shifting, like this:
///buffer_read_uint16(buffer)
// Read an unsigned 16-bit integer from a buffer
var buffer = argument0;
var byte1 = buffer_read(buffer, buffer_u8);
var byte2 = buffer_read(buffer, buffer_u8);
return (byte1 + (byte2 << 8));
This is a great tool!
I’m developing some 8-bit platform games and was wondering if you have any plans for some new features? I’d like to request an option to truncate the tile number from a uint16 to a uint8 to save memory on a machine with only 48KB of RAM.
Hi! You are actually in luck because there is already a newer version with the feature you are looking for. I have published it on itch.io. Here: https://gamephase.itch.io/tiled-to-binary-converter-2. I will add a link to itch.io on this page for future reference.