mapeditor / tiled

Flexible level editor
https://www.mapeditor.org/
Other
11.17k stars 1.76k forks source link

Map-like display of isometric tilesets #3228

Open user72356 opened 2 years ago

user72356 commented 2 years ago

I would like to make a feature request regarding isometric tilesets.

Currently tilesets are arranged in a 2D square grid that is well suited for top-down tiles. However, this is not ideal when working with isometric tilesets. It can get tricky to select multi-tiled objects, because each tile is surrounded by a great deal of space, and making a multiple selection might result in the tiles getting pasted in the wrong order.

Ideally an isometric tileset would display a grid the same way as a map, with each tile occupying a cell of the grid and with the option to select one of more tiles to be pasted onto the map. The tileset creator would arrange the tiles in the most logical layout for easy viewing and selection. Tiles would not necessarily have to be displayed consecutively, and could be arranged by the creator with empty cells between them to separate the objects more logically.

Now I'm aware that this is only possible with collections of images, but isometric tilesets tend to do better as collections anyway, so I don't think it's a big deal not to be able to use this feature with tileset images.

Thank you for your attention!

eishiya commented 2 years ago

I don't think it is "only possible with collections of images", all tiles are fundamentally the same after they've been loaded by Tiled. A "based on image" tileset can be displayed as a staggered or even non-staggered isometric "map" just as well as an image collection.

Rearranging tiles is already possible in Tiled, although adding empty spaces is not, unless you use a bunch of empty tiles. Adding empty space would be convenient in general, but that's a separate feature request from this. Bjorn has mentioned possibly adding a scratch area in addition to the tilesets panel, this would allow custom arrangements of tiles (possibly from multiple tilesets) with all the empty spaces you could want. Perhaps such a feature would obviate the need for this one too?

If this is added, it should be opt-in, as it only works well for those tilesets where the tiles have only a small amount of depth at most. Tilesets with a lot of depth variation (e.g. ones featuring tall props) will be confusing to use like this, leading to a lot of mis-selections and outright obscured tiles.

In addition, this view setting should ideally be tied to the tileset (not as part of the tileset file, though), since its usefulness will vary across tilesets within a project, e.g. one may want this for a flat terrain tileset, but not for a props tileset.

bjorn commented 2 years ago

Bjorn has mentioned possibly adding a scratch area in addition to the tilesets panel, this would allow custom arrangements of tiles (possibly from multiple tilesets) with all the empty spaces you could want. Perhaps such a feature would obviate the need for this one too?

Exactly what I wanted to mention as well. I think this is pretty much exactly what we need in this case.

user72356 commented 2 years ago

Yes a dedicated panel that would allow custom placement of tiles as if on a map would work just fine (if I understood correctly). But would that be distributed a part of a map file, a tileset file or a new tile type? I think it should be made shareable amongst multiple maps just like a tileset and not tied to specific maps.

eishiya commented 2 years ago

The feature hasn't been planned out in detail AFAIK, but I'm pretty sure the idea is for it to be shared across maps, not as a per-map thing. I hope it'll just be a regular map file that you can set to display in the panel, and which map is displayed would be saved as part of the project. That way, people can have a scratch pad map, or some other map as a reference, or anything else they find useful.

user72356 commented 2 years ago

Yes a map file would definitely work. In my opinion: