the method that i describe involves creating a tileset whose only role is to provide properties for a set of cells on a map.
this is useful for properties that are not tied to a cells view.
in my game I create a 4 by 4 tileset with each tile having a visual representation of the properties it contains.
Take the case of spawn locations, each tile in my spawn_locations tileset presents a view that is representative of the NPC type I would like to spawn. in photoshop i create the tileset with each having a unique label “npc 1”, “npc 2”, “npc 3” etc.
In tiled I edit each tile in my spawn_locations tileset to include a property called npc_type. for the tile representing npc 1: its npc_type property equals 1.
Now I create a separate layer in tiled. Its job is to hold configuration tiles from my spawn_locations tileset. I don’t want these tiles visible outside of tiled but I want to be able to see them in tiled so that I can visualise the map layout. i.e which entities are spawning from where.
When the map is loaded by mte i now use the noDraw property to ensure that display objects are not created for the tiles placed in the map originating from the spawn_locations tileset.
Although these tiles are not drawn I can still query the cell, and get a list of properties defined in it. including those from the invisible spawn_locations tileset/layer.
the same can be achieved with tiled objects but with objects you don’t get the benefit of being able to see unique properties on a tile without opening the properties dialog.
on a separate layer/layers I place tiles that I want to represent the visual aspect of the map like grass tiles or road tiles. these tiles can have their own generic properties (i.e for grass tiles you may want to put an identifier so you know that the player is walking on grass … etc etc). Obviously this tying of view to property is not great for spawn locations as not every grass tile is a spawn location. Plus I may want spawn locations on road tiles or bridge tiles… ad googleplexion