Tileset creation order, how to make a good tileset overview?

Hi!

TL:DR

  • How to go about structuring and building you tilesets to keep a clean overview?

  • Using an editable grid, can a program be created to make individual tiles.

  • Can the above grid-cutting program also create a coordinate “tileset map”-file?

  • Can a tileset editor be written using coordinates for individual tiles to compile a tilset?

  • Can the tileset editor use something like hash-values to identify tiles regardless of names (given by the user or when exported).

  • hash values would be used to keep files from being overwritten or be duplicated.

So I’m having issues with making a good tileset “overview”.
As the game we’re making is a wip I am constantly finding more tiles to add. Both for new types of tiles, but also for breaking the monotony of some much used tiles.

One of the issues is the inflexibility of the tilset image.

  • How to add tiles to a set without messing up the entire map order?

I’ve tried dividing our tiles into categories like floor, roof, wall, background, doors doodads etc.
But even so I often find myself running out of space when wanting to add to a specific set of tiles.

Ideally there would be some kind of program which would identify tiles so that you could move them around. But how would you do that?
What I’m thinking is this, but feel free to improve upon this idea:

1: Image cutter.
A picture of a tileset would be placed inside a program which would cut the image by a grid defined by the user.
The grid would be displayed pretty much the same way as in tiled or any image program. But before cutting the picture you would be able to cancel out walls in the grid.
This would make it so larger individual tiles could be created (or tiles would be linked to eachother and treated as groups).

After you were done you’d export the tileset picture and the cutter would create single files of all of the tiles created by the grid.
This would be the base of their identification.
At the same time the cutter would create a file with coordinates of all of these tiles.

2: Tileset editor.
So now you have a bunch of tiles and pretty much a “map-file”.
The thing is, now, insted of loading the fixed png file you load this file as your tileset.
You can draw with the tiles and select everything the same way as before, just that whenever you want you can change the order of each and every tile.
Adding tiles as single image to a “tile folder” would also just import those files into the editor (maybe with a note displayed of detecting new tiles?)
And you could then move them with a tool in the editor to which ever place you wanted.

*If you’re like me you will probably add new tiles quite often, and not just one at a time. And here it gets a bit more tricky. Somehow you want a way to either merge multiple images or use something like drag and drop, perhaps even replace.

But how?
One way would be to save the “tileset map” as an image, draw new tiles in which ever image editor you used and repeat the hole cutting process. This would make you vulnerable to accidentally deleting tiles because you used an old tileset map or you might end up with a lot of single image tiles.
Another would be to somehow check for new tiles automatically. But the way I imagine this seems quite elaborate.
Checking the tiles for some value independent of their filename. Using some sort of CRC, Checksum, MD5deep, hash-value to either add to the tile roster or keep you from saving over otherwise similarly named tiles when exporting.

Thanks for reading.

Thanks for the elaborate idea. Actually something like this has been suggested before, since the problem is indeed universal.

First of all, note that you can always add tiles to the bottom of a tileset without messing up any map, since that doesn’t cause existing tile IDs to change. Adding tiles to the right side is more complicated, but Tiled does try to deal with remapping the tile IDs. Finally, rearranging tiles will always mess up the map due to tile IDs no longer referring to the same tile.

Given that, it would already be possible to create a map as “tile palette” where you freely place the tiles from your tilesets, in order to capture them from there to place them on the map that you’re currently working on. It wouldn’t matter that you can only extend tilesets at the bottom, because you can place the tiles wherever you want in the tile palette map (and you could choose to use an image collection tileset, if you prefer to store the tiles as individual images).

One problem of course, is that you’d currently have to switch between this tile palette map and the map you’re working on all the time, since Tiled can display only one map at a time. So we’d need to make this palette more easily accessible, possibly displaying it in the Tilesets view.

Would this approach also solve your use-case?