Tiled maps missing features and limitations

All things HTML5 or text based engines, or really any web based engines.
Post Reply
seltar
Posts: 8
Joined: Wed Oct 09, 2013 1:29 pm

Tiled maps missing features and limitations

Post by seltar »

Currently there are some limitations to the Tiled map support.

A loaded map returns a bunch of layers instead of one map class with data like dimensions, layers, tilesets etc.
Can't get layer widths / heights easily without hacking the engine.
It only supports tilesets with the same tilesize as the map tilesize. So, 128x128 tiles that act as a 128x64 is a no-go. (https://github.com/coolbloke1324/ige/issues/354)
Have to hardcode the tilesizes, since IGE and Tiled uses different isometric calculations.
It doesn't seem to support proper collisons or objects. At least I haven't figured it out yet.

And many more small annoyances that I uncover as I work with it.

Are there any other known limitations to Tiled maps?
User avatar
coolbloke1324
Posts: 181
Joined: Mon Jan 23, 2012 5:20 pm

Re: Tiled maps missing features and limitations

Post by coolbloke1324 »

seltar wrote:Currently there are some limitations to the Tiled map support.

A loaded map returns a bunch of layers instead of one map class with data like dimensions, layers, tilesets etc.
Can't get layer widths / heights easily without hacking the engine.
It only supports tilesets with the same tilesize as the map tilesize. So, 128x128 tiles that act as a 128x64 is a no-go. (https://github.com/coolbloke1324/ige/issues/354)
Have to hardcode the tilesizes, since IGE and Tiled uses different isometric calculations.
It doesn't seem to support proper collisons or objects. At least I haven't figured it out yet.

And many more small annoyances that I uncover as I work with it.

Are there any other known limitations to Tiled maps?
Hey ya,

The Tiled component is a map data importer, it isn't meant to do anything more than that. The component class itself can be extended to provide extra functionality that is specific to your game / project.
A loaded map returns a bunch of layers instead of one map class with data like dimensions, layers, tilesets etc
The map class you are taking about already exists in the raw json map data. If you don't want the data to be converted to layers with tile-based data on it, just access the json directly.

Think about a situation where you want to create a collision map in Tiled... you wouldn't want to render anything or automatically create entities from that data, you'd just want the raw data. The point of the component is to allow the developer the basic data import tool and let them do what they want with the data in question.
It doesn't seem to support proper collisons or objects
Can you elaborate? AFAIK the component will load in all layer data so that you can interact with it, or create any objects you want from it. When you say "collisions" what do you mean - I didn't think that Tiled had physics support.

Basically what I am trying to say is that the component is not broken or malfunctioning, or in fact limited. It's just that you are expecting it to do something it wasn't designed to do. Are there specific scenarios that you are having issues achieving?

One thing I know needs a video tutorial is this component because it is sorely misunderstood. For instance, many devs assume that it will automatically load and create all their isometric entities from Tiled objects but the engine cannot possibly *know* what entity classes to instantiate from a particular Tiled object, so instead the data is made available for the developer to loop and generate themselves.
CEO & Lead Developer
Irrelon Software Limited
http://www.isogenicengine.com
seltar
Posts: 8
Joined: Wed Oct 09, 2013 1:29 pm

Re: Tiled maps missing features and limitations

Post by seltar »

Hey,

Yeah, that's how I'm using it now; as a component that fetches data. And I understand the benefits :)
I had to add the raw data to the callback inside the IgeTiledComponent so that I could access it, though.
And I modified the loadJson function so that it supports the json files straight out of Tiled.

Regarding proper collisions and objects.
I was under the impression that the collisions were defined in Tiled in an object layer using the geometric shapes available.
I understand now that you'll have to define a tile layer and draw your collision tiles there.
And if I need the polygons from the object layer, I'll have access to that in the raw data now, so that shouldn't be a problem.

And yes, a video tutorial and a little more documentation on the subject would definitely help people understanding the component better :)
User avatar
coolbloke1324
Posts: 181
Joined: Mon Jan 23, 2012 5:20 pm

Re: Tiled maps missing features and limitations

Post by coolbloke1324 »

seltar wrote:Hey,

Yeah, that's how I'm using it now; as a component that fetches data. And I understand the benefits :)
I had to add the raw data to the callback inside the IgeTiledComponent so that I could access it, though.
And I modified the loadJson function so that it supports the json files straight out of Tiled.

Regarding proper collisions and objects.
I was under the impression that the collisions were defined in Tiled in an object layer using the geometric shapes available.
I understand now that you'll have to define a tile layer and draw your collision tiles there.
And if I need the polygons from the object layer, I'll have access to that in the raw data now, so that shouldn't be a problem.

And yes, a video tutorial and a little more documentation on the subject would definitely help people understanding the component better :)
:) totally!

Please also feel free to post your updated component if you think it will benefit others, and if you think it is a better version you are also welcome to post a push request to the engine repo. The only consideration when doing so is to make sure that your changes are not breaking changes for other users. As a community we can all benefit when someone has a great idea and makes it happen :):)
CEO & Lead Developer
Irrelon Software Limited
http://www.isogenicengine.com
Demotis
Posts: 3
Joined: Mon Oct 07, 2013 1:57 am

Re: Tiled maps missing features and limitations

Post by Demotis »

If you put together some docs or a vid on this, please include the way to calculate the Tiled tile size to Isogenic tile size. It's was strange at first how Tiled wanted a square tile size when the tiles were isometric. Then when I went to import the test map into Isogenic figuring out the correct size was a little hard at first.
seltar
Posts: 8
Joined: Wed Oct 09, 2013 1:29 pm

Re: Tiled maps missing features and limitations

Post by seltar »

I'll look into commiting some changes sometime this week, but I'll need to test a bit to see if it's breaking anything else first :)
robaldred
Posts: 64
Joined: Tue Aug 27, 2013 5:54 pm

Re: Tiled maps missing features and limitations

Post by robaldred »

Tiled exports have changed in recent commits, there have been some interesting additions to the application.

I've been working on a subclass of the TiledComponent to support some of those changes important to my games.
They include additional support for static objects:
* Automatic object creation
* Scaling & Rotation
* Image collection tilesets (this is different to a terrain tileset)

I'm still making it stable, I'll also post it up in a branch or a gist when I'm happy if anyone is interested.
seltar
Posts: 8
Joined: Wed Oct 09, 2013 1:29 pm

Re: Tiled maps missing features and limitations

Post by seltar »

robaldred:
I'd be really interested in that actually :)
Post Reply

Return to “HTML5/Web Engines”