Libraries and Frameworks ======================== There are many libraries available for reading and/or writing Tiled maps (either stored in the :doc:`tmx-map-format` or the :doc:`json-map-format`) as well as many development frameworks that include support for Tiled maps. This list is divided into two sections: - `Support by Language <#support-by-language>`__ - `Support by Framework <#support-by-framework>`__ The first list is for developers who plan on implementing their own renderer. The second list is for developers already using (or considering) a particular game engine / graphics library who would rather pass on having to write their own tile map renderer. .. note:: For updates to this page please open a pull request or issue `on GitHub `__, thanks! Support by Language ------------------- These libraries typically include only a TMX parser, but no rendering support. They can be used universally and should not require a specific game engine or graphics library. C ~ - `cute tiled `__ - JSON map loader with examples (zlib/Public Domain). - `TMX `__ - TMX map loader with Allegro5 and SDL2 examples (BSD). C++ ~~~ - `C++/TinyXML based tmxparser `__ (BSD) - C++/Qt based libtiled, used by Tiled itself and included at `src/libtiled `__ (BSD) - `C++11x/TinyXml2 libtmx-parser `__ by halsafar. (zlib/tinyxml2) - `C++11/TinyXml2 libtmx `__ by jube, for reading only (ISC licence). See `documentation `__. - `TMXParser `__ General \*.tmx tileset data loader. Intended to be used with TSXParser for external tileset loading. (No internal tileset support) - `TSXParser `__ General \*.tsx tileset data loader. Intended to be used with TMXParser. - `TMXLoader `__ based on `RapidXml `__. Limited functionality (check the `website `__ for details). - `tmxlite `__ C++14 map parser with compressed map support but no external linking required. Includes examples for SFML and SDL2 rendering. Currently has full tmx support up to 0.16. (Zlib/libpng) - `Tileson `__ - A Tiled JSON parser for modern C++ (C++17) by Robin Berg Pettersen (BSD) C#/.NET ~~~~~~~ - `TiledCS `__: A dotnet library for loading Tiled tilesets and maps (TMX/TSX or JSON). - `MonoGame.Extended `__ has a Tiled map loader and renderer that works with MonoGame on all platforms that support portable class libraries. - The following projects appear to be no longer maintained, but might still be useful: `TiledSharp `__, `NTiled `__, `tmx-mapper-pcl `__, `tiled-xna `__ and `TmxCSharp `__. Clojure ~~~~~~~ - `tile-soup `__: Parses and validates a TMX file into a map. Automatically decodes Base64 and CSV formatted data and coerces numbers when necessary. Works on both the JVM and in browsers via ClojureScript. D ~ - `tiledMap.d `__ simple single-layer and single-tileset example to load a map and its tileset in `D language `__. It also contains basic rendering logic using `DSFML `__ - `dtiled `__ can load JSON-formatted Tiled maps. It also provides general tilemap-related functions and algorithms. Go ~~ - `github.com/lafriks/go-tiled `__ - `github.com/salviati/go-tmx/tmx `__ Haskell ~~~~~~~ - `htiled `__ (TMX) by `Christian Rødli Amble `__. - `aeson-tiled `__ (JSON) by `Schell Scivally `__. Java ~~~~ - A library for loading TMX files is included with Tiled at `util/java/libtiled-java `__. - `TiledReader `__ is a simple TMX reader that conveys the information in Tiled files via a hand-crafted class structure, but does not load image data. - Android-Specific: - `AndroidTMXLoader `__ loads TMX data into an object and renders to an Android Bitmap (limited functionality) - `libtiled-java port `__ is a port of the libtiled-java to be used on Android phones. PHP ~~~ - `PHP TMX Viewer `__ by sebbu : render the map as an image (allow some modifications as well) Pike ~~~~ - `TMX parser `__: a simple loader for TMX maps (CSV format only). Processing ~~~~~~~~~~ - `linux-man/ptmx `__: Add Tiled maps to your Processing sketch. Python ~~~~~~ - `pytiled-parser `__: Python parser for JSON maps(No support for TMX format as of v1.0.0) - `Arcade `__: 2D game library that uses pytiled-parser for easy loading of JSON maps into a game.(No support for TMX format as of v2.6.0) `Arcade Tiled Examples `_ - `pytmxlib `__: library for programmatic manipulation of TMX maps - `python-tmx `__: a simple library for reading and writing TMX files. Ruby ~~~~ - `tmx gem `__ by erisdiscord Vala ~~~~ - `librpg `__ A library to load and handle spritesets (own format) and orthogonal TMX maps. Support by Framework -------------------- Following entries are integrated solutions for specific game engines. They are typically of little to no use if you're not using said game engine. AndEngine ~~~~~~~~~ - `AndEngine `__ by Nicolas Gramlich supports `rendering TMX maps `__ Allegro ~~~~~~~ - `allegro\_tiled `__ integrates Tiled support with `Allegro 5 `__. Castle Game Engine (Object Pascal) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - `Castle Game Engine `__ has native support for Tiled maps (see the `CastleTiledMap unit `__) Cell2D ~~~~~~ - The Java library `Cell2D `__ supports Tiled maps via a pipeline that starts with `TiledReader `__, but currently has more built-in support for orthogonal maps than for other orientations. cocos2d ~~~~~~~ - `cocos2d (Python) `__ supports loading `Tiled maps `__ through its ``cocos.tiles`` module. - `cocos2d-x (C++) `__ supports loading TMX maps through the `CCTMXTiledMap `__ class. - `cocos2d-objc (Objective-C, Swift) `__ (previously known as: cocos2d-iphone, cocos2d-swift, cocos2d-spritebuilder) supports loading TMX maps through `CCTiledMap `__ - `TilemapKit `__ is a tilemapping framework for Cocos2D. It supports all TMX tilemap types, including staggered iso and all hex variations. No longer in development. Construct 2 - Scirra ~~~~~~~~~~~~~~~~~~~~ - `Construct 2 `__, since the Beta Release 149, officially supports TMX maps, and importing it by simple dragging the file inside the editor. `Official Note `__ Flixel ~~~~~~ - Lithander demonstrated his `Flash TMX parser combined with Flixel rendering `__ Game Maker ~~~~~~~~~~ - Tiled ships with plugins for exporting to :ref:`GameMaker: Studio 1.4 ` and :ref:`GameMaker Studio 2.3 ` room files. - `Tiled2GM Converter `__ by Dmi7ry Godot ~~~~~ - `Tiled Map Importer `__ imports each map as Godot scene which can be instanced or inherited (`forum announcement `__). - `Tiled To Godot Export `__ is a Tiled :doc:`JavaScript extension ` for exporting Tilemaps and Tilesets in Godot 3.2 format (`forum announcement `__). Grid Engine ~~~~~~~~~~~ - Planimeter's `Grid Engine `__ supports Tiled Lua-exported maps. Haxe ~~~~ - `HaxePunk `__ Tiled Loader for HaxePunk - `HaxeFlixel `__ - `OpenFL `__ "openfl-tiled" is a library, which gives OpenFL developers the ability to use the Tiled Map Editor. - `OpenFL + Tiled + Flixel `__ Experimental glue to use "openfl-tiled" with HaxeFlixel HTML5 (multiple engines) ~~~~~~~~~~~~~~~~~~~~~~~~ - `Canvas Engine `__ A framework to create video games in HTML5 Canvas - `chem-tmx `__ Plugin for `chem `__ game engine. - `chesterGL `__ A simple WebGL/canvas game library - `Crafty `__ JavaScript HTML5 Game Engine; supports loading Tiled maps through an external component `TiledMapBuilder `__. - `GameJs `__ JavaScript library for game programming; a thin wrapper to draw on HTML5 canvas and other useful modules for game development - `KineticJs-Ext `__ A multi-canvas based game rendering library - `melonJS `__ A lightweight HTML5 game engine - `Panda 2 `__, a HTML5 Game Development Platform for Mac, Windows and Linux. Has `a plugin for rendering Tiled `__ maps, both orthogonal and isometric. - `Phaser `__ A fast, free and fun open source framework supporting both JavaScript and TypeScript (`Tiled tutorial `__) - `linux-man/p5.tiledmap `__ adds Tiled maps to `p5.js `__. - `Platypus Engine `__ A robust orthogonal tile game engine with game entity library. - `sprite.js `__ A game framework for image sprites. - `TMXjs `__ A JavaScript, jQuery and RequireJS-based TMX (Tile Map XML) parser and renderer. - `glazeJS `__ A high performance 2D game engine built in Typescript. It supports the TMX format, rendering tile layers on the GPU via WebGL (`demo `__). indielib-crossplatform ~~~~~~~~~~~~~~~~~~~~~~ - `indielib cross-platform `__ supports loading TMX maps through the `C++/TinyXML based tmx-parser `__ by KonoM (BSD) LibGDX ~~~~~~ - `libgdx `__, a Java-based Android/desktop/HTML5 game library, `provides `__ a packer, loader and renderer for TMX maps LITIengine ~~~~~~~~~~ - `LITIengine `__ is a 2D Java Game Engine that supports loading, saving and rendering maps in the .tmx format. LÖVE ~~~~ - `Simple Tiled Implementation `__ Lua loader for the LÖVE (Love2d) game framework. MOAI SDK ~~~~~~~~ - `Hanappe `__ Framework for MOAI SDK. - `Rapanui `__ Framework for MOAI SDK. Monkey X ~~~~~~~~ - `bit.tiled `__ Loads TMX file as objects. Aims to be fully compatible with native TMX files. - `Diddy `__ is an extensive framework for Monkey X that contains a module for loading and rendering TMX files. Supports orthogonal and isometric maps as both CSV and Base64 (uncompressed). Node.js ~~~~~~~ - `node-tmx-parser `__ - loads the TMX file into a JavaScript object Oak Nut Engine (onut) ~~~~~~~~~~~~~~~~~~~~~ - `Oak Nut Engine `__ supports Tiled maps through Javascript and C++. (see TiledMap `Javascript `__ or `C++ `__ samples) Orx Portable Game Engine ~~~~~~~~~~~~~~~~~~~~~~~~ - `TMX to ORX Converter `__ Tutorial and converter download for Orx. Pygame ~~~~~~ - `Pygame map loader `__ by dr0id - `PyTMX `__ by Leif Theden (bitcraft) - `tmx.py `__ by Richard Jones, from his `2012 PyCon 'Introduction to Game Development' talk `__. - `TMX `__, a fork of tmx.py and a port to Python3. A demo called pylletTown can be found `here `__. Pyglet ~~~~~~ - `JSON map loader/renderer for pyglet `__ by Juan J. Martínez (reidrac) - `PyTMX `__ by Leif Theden (bitcraft) PySDL2 ~~~~~~ - `PyTMX `__ by Leif Theden (bitcraft) RPG Maker MV ~~~~~~~~~~~~ - `Tiled Plugin for RPG Maker MV `__ by `Dr.Yami `__ & Archeia, from `RPG Maker Web `__ SDL ~~~ - `C++/TinyXML/SDL based loader `__ example by Rohin Knight (limited functionality) SFML ~~~~ - `STP `__ (SFML TMX Parser) by edoren - `C++/SFML Tiled map loader `__ by fallahn. (Zlib/libpng) - `C++/SfTileEngine `__ by Tresky (currently limited functionality) Slick2D ~~~~~~~ - `Slick2D `__ supports loading TMX maps through `TiledMap `__. Solar2D (formerly Corona SDK) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - `ponytiled `__ is a simple Tiled Map Loader for Solar2D (`forum announcement `__) - `Dusk Engine `__ is a fully featured Tiled map game engine for Solar2D (no longer maintained, but may still be useful) - `Berry `__ is a simple Tiled Map Loader for Solar2D. - `Qiso `__ is an isometric engine for Solar2D that supports loading Tiled maps, and also handles things like path-finding for you. Sprite Kit Framework ~~~~~~~~~~~~~~~~~~~~ - `SKTilemap `__ is built from the ground up in Swift. It's up to date, full of features and easy to integrate into any Sprite Kit project. Supports iOS and OSX. - `SKTiled `__ - A Swift framework for working with Tiled assets in SpriteKit. - `JSTileMap `__ is a lightweight SpriteKit implementation of the TMX format supporting iOS 7 and OS X 10.9 and above. TERRA Engine (Delphi/Pascal) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - `TERRA Engine `__ supports loading and rendering of TMX maps. Unity ~~~~~ - `SuperTiled2Unity `__ is a collection of C# Unity scripts that can automatically import Tiled map editor files directly into your Unity projects. - `Tiled TMX Importer `__, imports into Unity 2017.2's new native Tilemap system. - `Tiled to Unity `__ is a 3D pipeline for Tiled maps. It uses prefabs as tiles, and can place decorations dynamically on tiles. Supports multiple layers (including object layers). - `Tuesday `__: A generic C# serializer and deserializer plus a set of Unity editor scripts that allow you to drag and drop TMX files into your scene, make edits, and save back out as TMX files. MIT license. - `UniTiled `__, a native TMX importer for Unity. - `X-UniTMX `__ supports almost all Tiled 0.11 features. Imports TMX/XML files into Sprite Objects or Meshes. - `Orthello Pro `__ (2D framework) offers `Tiled map support `__. Unreal Engine 4 ~~~~~~~~~~~~~~~ - `Paper2D `__ provides built-in support for tile maps and tile sets, importing JSON exported from Tiled. Urho3D ~~~~~~ - `Urho3D `__ natively supports loading Tiled maps as part of the `Urho2D `__ sublibrary (`Documentation `__, `HTML5 example `__). XNA ~~~ - `FlatRedBall `__ Glue tool ships with a `Tiled plugin `__ that loads TMX maps into the FlatRedBall engine, providing rich integration with its features. - `XTiled `__ by Michael C. Neel and Dylan Wolf, XNA library for loading and rendering TMX maps - `XNA map loader `__ by Kevin Gadd, extended by Stephen Belanger and Zach Musgrave