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 http://github.com/bjorn/mana.js, including some experimental multiplayer functionality.