Sunday, December 11, 2011

Tiled Qt 0.8.0 released

If all you wanted for Christmas was a new Tiled release, it's time to start thinking about a new present!

This release adds some major new features like polygon objects, JSON import and export, tile rotation and drawing offset. Many smaller changes and additions were made as well, so there should be something for everybody. The full list of changes:

  • Added support for polygon and polyline objects (sponsored by Zipline Games)
  • Added support for tile rotation (by Wade Brainerd)
  • Added support for defining the color of custom object types (sponsored by Zipline Games)
  • Added a Delete action to delete selected tiles or objects (by Stefan Beller)
  • Added random mode to the stamp brush (by Stefan Beller)
  • Added Flare export plugin (by Stefan Beller and Clint Bellanger)
  • Added JSON plugin that supports both reading and writing (by Porfírio Ribeiro)
  • Added ability to rename tilesets (by Maus)
  • Added a mode in which the current layer is highlighted
  • Added support for specifying a tile drawing offset (sponsored by Clint Bellanger)
  • Added a shortcut (Alt+C) to copy the current tile position to clipboard (by Stefan Beller)
  • Added a command line option to disable OpenGL
  • Allow custom properties on tilesets
  • Many automapping improvements (by Stefan Beller)
  • Improved tileset dock to handle a large amount of tilesets better (by Maus)
  • Made the 'Show Grid' option in the tileset view persistent
  • Raised the tile size limit in the New Tileset dialog from 999 to 9999
  • Correctly handle changes in the width of a tileset image (by Adam Rippon)
  • Worked around a long standing crash bug
  • Added Russian translation (by Alex Vega)
  • Updated the German, Japanese, Spanish, Chinese, Czech, Dutch, French and Brazilian Portuguese translations (thanks to all translators!)

As the above list shows, many of the new features were either sponsored or developed by contributors, thanks a lot to all who've helped shape this release!

Tuesday, September 27, 2011

Tiled Qt 0.7.1 released

Work is well underway on a future 0.8.0 release, but meanwhile also some bugs have been fixed that made it worth releasing 0.7.1. This release also updates the Czech translation and changes the way maps are exported to Lua so that they no longer rely on a global "map" variable.

  • Select stamp tool when selecting tiles in tileset view (by Stefan Beller)
  • Enable anti-aliasing in OpenGL mode
  • Small improvement to the Lua export plugin (incompatible!)
  • Fixed a bug in the Create Object tool that could lead to a crash
  • Fixed reading of maps without tilesets but with a tile layer
  • Fixed position of tile objects to center on the mouse on insertion
  • Updated the Czech translation (by Petr Viktorin)

Sunday, July 24, 2011

Tiled Qt 0.7.0 released

Tiled currently seems to be on a biannual release schedule regarding its new feature releases, though this is entirely unintentional. The important part is that quite some nice features have been developed again!

It's now finally possible to select multiple objects and copy/paste them. A bunch of other productivity enhancements were also made like cropping to selection, shortcuts to change layer, improved hand scrolling with spacebar, toggling visibility of other layers, etc.

A new feature was added that required changing the map format a little as well. Tiled is now able to flip tiles horizontally and vertically (using the 'x' and 'y' keys repectively). This information is stored in the highest two bits of the global tile IDs, so that tile layer data remains compatible if you don't use this feature.

The full list of changes:

  • Added support for horizontal and vertical flipping of tiles (sponsored by Zipline Games)
  • Added copy/paste support for objects
  • Added merge layer down action
  • Added Show or Hide all Other Layers action (by Christophe Conceicao)
  • Added actions to select the previous/next layer
  • Added Crop to Selection action
  • Added a Lua export plugin (sponsored by Zipline Games)
  • Added Droidcraft plugin to read and export the map files (by seeseekey)
  • Added option to turn off grid in the tileset view (by Gregory Nickonov)
  • Added hand scrolling while holding the spacebar
  • Made the object context menu available in all object tools
  • Display tile coordinates also when using object tools
  • Various improvements to running external commands (by Jeff Bland)
  • Automapping stability and memory consumption improvements (by Stefan Beller)
  • Objects that fall outside of the map on resize are now removed (by Stefan Beller)
  • Fixed problems with watching tilesets multiple times
  • Fixed several issues related to restoring previously opened files (by Stefan Beller)
  • Updated Brazilian Portuguese, Chinese, German, Spanish, Japanese, Hebrew, Portuguese, Dutch and French translations (thanks to all translators!)

Lastly I want to say, Tiled is shaped by your feedback and those who help improve it. If you have an itch or a suggestion, please do report an issue. Or better yet, fork Tiled on github and work with us on the next release!

Friday, July 22, 2011

melonJS: Tiled based games in HTML5

Earlier this month I was made aware of the first public release of melonJS. It is a lightweight HTML5 game engine, with very close integration with Tiled.

I'm a complete newbie regarding new-fangled HTML5 and its opportunities for games. JavaScript still reminds me of some horrible experiences back in 2000, when it was slow and incompatible. However, I know the world has changed since then and melonJS basically confirms my suspicions. For small games there is little reason left to compile them to native machine code, and I wonder how many will still know what it means in a few years. The rendering, input and also audio support in modern browsers will suffice for a wide range of games, and deployment couldn't be easier.

As it stands melonJS is not finished yet, and at first sight it seems to be only good for creating the specific kind of platform game that its extensive tutorial takes you through. At least, there is a certain amount of convenience API available that is meant to do just that. However, behind that API lies a promising and well documented game engine with resource management, sprite animation and direct support for Tiled's TMX map format. Including some cool features like support for custom map objects that are directly linked to JavaScript-defined classes and parallax image layers.

How did I get to know all this? After one evening of fiddling around with the engine with the help from the tutorial, I had laid the basics for an HTML5 version of The Mana World, which I called TMW.js. It's lacking a few details, but I daresay it's possible to fill in the blanks!

Update 2013-05: While there is no longer a live version of TMW.js, the code of this demo is still available at, including some experimental multiplayer functionality.

Sunday, May 8, 2011

Tiled Qt 0.6.2 released

This release fixes a few minor bugs reported by users. Since it didn't seem likely that much more fixes would accumulate, it was time to get them out there. The changes are:

  • Fixed object layers losing their color when resizing the map
  • Fixed the tabs in the Tilesets dock to use scroll buttons on MacOS X
  • Fixed window title to update when saving a map with a different name

The 0.7.0 release is expected to be still quite a bit off, but meanwhile you can already compile Tiled yourself from the git master branch to try out some of the new features. These include merging layers, copy & paste support for objects and various improvements to the support for running external commands. Maybe you could even try adding your own favorite feature to the list!

Thursday, May 5, 2011

Show or edit your maps on the go, with iTileMaps

iTileMaps, TMX tile map editor for iPad

A few days ago, Vsevolod Klementjev (KleMiX) released iTileMaps for iPad. Since quite a few of Tiled users are developing for iOS, this will be of interest to some of you.

iTileMaps allows you to view and edit your tile maps on your iPad. Even though it's just the initial release, it already supports most features of the TMX map format, including editing of object layers and properties (see its website for a list of features as well as current limitations).

The developer allowed me to try it out, and the main thing I noticed is that it runs very smooth. Also the interface looks pretty good. It's certainly not more efficient than editing the maps in Tiled (yet), but I think it has a good potential once there has been more time to learn what works and what doesn't for a touch based tile map editor.

If you find this interesting, don't hesitate to support KleMiX by getting your copy. He's also very open to feedback (just like me), so let him know how you think he could improve iTileMaps!

Sunday, April 3, 2011

Tiled Qt 0.6.1 released

I'm happy to announce the immediate availability of the 0.6.1 bugfix release! Quite a few fixes have accumulated since the last release, so it was about time to get them out there.

Of special note is that from this release on, there will be a Windows installer rather than a zip archive, thanks to Mohammad Mehdi Salem Naraghi. Since this is the first release with a Windows installer, there may still be issues. It should make installing Tiled on Windows quite a bit more pleasant.

Many fixes were made to the automatic mapping feature by Stefan Beller. Petr Viktorin and Ben Longbons allowed Tiled to open multiple files at once. The full list of changes:

  • Added ability to open multiple files at once through the file dialog and command line
  • Added Ctrl+PageUp/PageDown shortcuts to switch documents
  • Added an example to show how automatic mapping works
  • Fixed bugs, crashes and leaks in the automatic mapping feature
  • Fixed starting point for circles to be the click position
  • Fixed a memory leak when using lines or circles
  • Fixed layer opacity to be taken into account when saving as image
  • Fixed endless loop when tile size is set to 0
  • Fixed crash when passing an empty string as command line parameter
  • Fixed problems with the tileset view after switching documents
  • Fixed tile objects to be removed when their tileset is removed

Monday, March 21, 2011

Two chapters about Tiled in cocos2d iPhone book

This book by Steffen Itterheim focuses on iPhone/iPad game development using the cocos2d-iphone library. However, it includes two full chapters about using tile maps and how to create them with Tiled, the second going in detail about isometric maps.

Learn iPhone and iPad cocos2d Game Development

Since cocos2d-iphone has built-in support for the TMX map format, the map parsing business is skipped and instead the book talks about how to use Tiled and the cocos2d-iphone API to get the map on the screen and how to obtain information from your map. This includes things like setting up your OpenGL projection matrix, scrolling the map, getting your player to walk behind tiles and finding out whether a tile collides with the player.

Again I had the pleasure to review these chapters before the book was published, and I can wholly recommend it. The problems that are discussed are things that most game developers will encounter eventually, and the solutions are nice and well explained.

If you're interested in buying the book, please use the provided links, thanks! Also, I read from the reviews that the eBook version is in bad shape, so better get the paper version.

Wednesday, January 26, 2011

Tiled Qt 0.6.0 released

It's been more than half a year after the last major release, but meanwhile development of Tiled has continued as usual, as is evident by the many new features in this release. The improvements include support for multiple documents, initial support for object selection, support for placing tiles as objects and centering the map when it's smaller than the view.

Of note is also the enhanced integration with MacOS X. The tmx file type is now recognised and associated with Tiled, allowing them to be opened from the Finder or by dragging them to the Tiled icon on the dock.

There was a license change of the core classes of Tiled (those in libtiled), which are now BSD licensed. This should be convenient for those who wish to use those classes in their (Qt/C++) project. For Java projects, Tiled now ships with a libtiled-java, which is a somewhat cleaned up version of the core classes from Tiled Java. For both libraries there are simple tmx viewer applications that show how to use them.

Full summary of the changes:

  • Added support for opening multiple maps in one session
  • Added support for placing tiles as objects
  • Added automatic mapping feature, allowing placing of tiles based on rules
  • Added ability to save/restore up to 9 stamps with Ctrl+[number]
  • Added an object selection tool, allowing moving/deleting multiple objects
  • Added ability to run external commands
  • Added support for drawing lines and ellipses with the stamp brush
  • Added icons to distinguish tile layers from object layers
  • Added "Move To Layer" submenu to the context menu of objects
  • Added option to use hardware rendering based on OpenGL
  • Added a T-Engine4 map export plugin
  • Added a simple TMX viewer application (BSD licensed)
  • Added a New Layer dropdown menu to the layers dock
  • Added a checkbox that enables snap to grid permanently
  • Added an initial version of libtiled-java (LGPL licensed)
  • Added Chinese and Hebrew translations
  • Allowed dragging an image onto Tiled to add a tileset
  • Center the map when it is smaller than the map view
  • Remember the selected layer across restarts
  • Changed the default layer data format to use zlib rather than gzip
  • Store the tileset image width and height in the map file
  • Compile fixes related to linking zlib
  • Fixed the current stamp to get updated when switching tilesets
  • Fixed the maximum sizes of the resize map dialog
  • Fixed build issues when an older version of libtiled is installed
  • Fixed saving of property when clicking OK while editing on MacOS X
  • Allow Backspace to delete properties to make it easier on a MacBook
  • Associate tmx files with Tiled on MacOS X
  • Changed the license of libtiled from GPL to BSD
  • Updated Czech, Spanish, German, Brazilian Portuguese, Dutch and French translations

Finally I want to thank everybody who contributed to this release! Significant work was done by Stefan Beller on the multi-document support, improvements to the stamp tool, the quick stamps and the new automatic mapping feature. Jeff Bland helped to improve Tiled for MacOS X and added support for running arbitrary commands from Tiled. Bin Wu and Zhao Sting provided a Chinese translation and Tamir Atias translated Tiled to Hebrew (its first right-to-left language). Also thanks to all the translators who updated their translation!

Warning: This version of Tiled changes the default compression method for layer data from gzip to zlib. The latter is more suitable for in-memory compression while gzip was meant for files. In most environments, zlib is easier to deal with (especially in C/C++, but also in Python). If your map reader does not support zlib, you can still tell Tiled to use gzip in the preferences.