I wanna make a sokoban puzzle game and I’m interested in trying to use Tiled as a level editor for it. I want to be able to make fused blocks, where a contiguous area of blocks can be connected together, but not all blocks that touch get connected.
Here’s what the thing I want to do might look like:
I was having difficulty achieving this via terrains, but I’m not sure if automapping is what I want to use, given I want to have easy control over whether two adjacent blocks are connected or not.
However, to place a single 1x1 block cannot be done using the terrain tool this way. It can only be done by placing that tile using the stamp brush tool.
I can live with that, but for future reference, is there a way I can make both 1x1s and connected blocks using the same tool in Tiled?
Normally, for automating 1x1 tiles, I’d recommend Automapping, either replacing Terrains (placing all the appropriate tiles for you) or working in tandem with them (replacing just isolated tiles with the 1x1 tile), but because you want control over whether adjacent tiles are connected and thus need essentially sub-tile control, Automapping won’t do, since it works only on whole tiles. You’d have to still use Terrains for the bulk of it, and switch to another tool (Stamp Brush or Eraser) to give Automapping an isolated tile to replace with the 1x1, but even that might not be what you want since it won’t let you place 1x1 tiles immediately next to other tiles.
The only way to have a single tool in Tiled that can give you both 1x1 tiles and control over connections between adjacent tiles is to script your own that works similarly to the Terrain Brush (Terrain logic is available to scripting, so you don’t have to reimplement it), but which lets you click in the middle of a tile or click with a modifier key to place the 1x1 tile instead of doing Terrains.
That’s probably overkill, so I would suggest using hotkeys to quickly swap between Terrains and the Stamp Brush. You can also hotkey the 1x1 tile so you don’t have to look for it in your tileset.