Skip to content

Latest commit

 

History

History
482 lines (382 loc) · 17.9 KB

support-for-tmx-maps.rst

File metadata and controls

482 lines (382 loc) · 17.9 KB

Libraries and Frameworks

There are many libraries available for reading and/or writing Tiled maps (either stored in the tmx-map-format or the json-map-format) as well as many development frameworks that include support for Tiled maps. This list is divided into two sections:

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

  • TMX - TMX map loader with Allegro5 and SDL2 examples (BSD).

C++

  • C++/Boost by Tomas Andrle (limited functionality, single cpp file)
  • 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)

C#/.NET

  • MonoGame.Extended has a Tiled map loader and renderer that works with MonoGame on all platforms that support portable class libraries.
  • XNA map loader by Kevin Gadd, extended by Stephen Belanger and Zach Musgrave (has dependency on XNA but supposedly can be turned into a standalone parser easily)
  • TiledSharp: Yet another C# TMX importer library, with Tiled 0.11 support. TiledSharp is a generic parser which can be used in any framework, but it cannot be used to render the maps. Available via NuGet.
  • NTiled: Generic parser for 0.9.1 tiled maps. Available via NuGet.
  • TmxCSharp: Useful for multi-layer orthographic tile engines. No framework dependencies, used with a custom OpenTK tile engine soon to be open source, tested with Tiled 0.8.1 (multiple output formats). MIT license.
  • tmx-mapper-pcl: PCL library for parsing Tiled map TMX files. This library could be used with MonoGame and Windows Runtime Universal apps.

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

Haskell

Java

  • A library for loading TMX files is included with Tiled at util/java/libtiled-java.
  • 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

Python

  • pytmxlib: library for programmatic manipulation of TMX maps
  • python-tmx: a simple library for reading and writing TMX files.

Ruby

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

Allegro

cocos2d

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

Corona SDK

Flixel

Game Maker

  • Tiled ships with a plug-in that can export a map to a GameMaker: Studio 1.4 room file <gamemaker-export>
  • Tiled2GM Converter by Dmi7ry

Godot

Haxe

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.

indielib-crossplatform

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

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

Oak Nut Engine (onut)

Orx Portable Game Engine

Pygame

Pyglet

PySDL2

  • PyTMX by Leif Theden (bitcraft)

RPG Maker MV

SDL

SFML

Slick2D

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.
  • TilemapKit is a tilemapping framework for Sprite Kit. It supports all TMX tilemap types, including staggered iso and all hex variations. No longer in development.
  • JSTileMap is a lightweight SpriteKit implementation of the TMX format supporting iOS 7 and OS X 10.9 and above.

TERRA Engine (Delphi/Pascal)

Unity 3D

  • Orthello Pro (2D framework) offers Tiled map support.
  • 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).
  • Tiled2Unity exports TMX files to Unity with support for (non-simple) collisions.
  • UniTMX imports TMX files into a mesh.
  • X-UniTMX supports almost all Tiled 0.11 features. Imports TMX/XML files into Sprite Objects or Meshes.
  • Tiled TMX Importer, imports into Unity 2017.2's new native Tilemap system.

Unreal Engine 4

  • Paper2D provides built-in support for tile maps and tile sets, importing JSON exported from Tiled.

Urho3D

XNA

  • FlatRedBall Engine TMXGlue tool by Domenic Datti loads TMX maps into the FlatRedBall engine, complete with node networks, pathfinding, and shapecollection support via object layers.
  • TiledMax by Aimee Bailey, a .NET library for parsing TMX maps without dependencies on Windows or XNA
  • 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