Recoloring tiles

It would be nice if you could use a recolored version of the same tile without having to fill the image file with all the recolors. Does Tiled do this at all? If not, this would be nice to have.

Tiled currently does not do any image editing. So at least right now it is not possible :smile:

Generally this use case sounds pretty engine specific to me and probalby would be better implemented as some kind of plugin (which is not possible currently either :smile:)

I agree. Maybe a custom property is enough to change hand picked variations of tiles. But in general that is not the workflow of Tiled as the name suggests it is based on a set of tiles.

After doing a bit of recollecting, the way recoloring was done back in the day was by modifying the look-up-tables for the tiles. So I guess I am asking for a tool to apply a different look-up-table to the selected tiles.

There’s many ways of coloring graphics:

  • Multiplying each pixel with a certain color. This is cheap and easy to do at runtime on today’s hardware. However, it is visually not often useful.

  • Modifying the palette. Of course, this applies only to 8-bit graphics where each byte indexes a color palette. Support for rendering sprites with various different palettes was common on old console hardware like the NES. It would of course be possible to emulate this with a shader on modern hardware.

  • Replacing special colors at various levels of brightness with some other color or gradient. This is often used for representing team colors on unit models or simply to create more variation based on a single texture. It is commonly implemented using a custom shader.

There are probably more ways, but the many different approaches make me hesitant to support any specific method in Tiled. Instead, I’d like to work towards support for custom shaders, which would cover all these cases and most other methods people come up with.

I bumped into desperately wanting this recently.

I started working on a “ascii” tile based game. The tileset is obviously quite simple, so colors are essential to make things pop out. Would be great to be able to set a specific tile’s color and be able to preview it in Tiled.

I’m doing it with a custom property at the moment, but as you can imagine… very tedious doing it this way.

Not sure exactly how ‘ascii’ you mean, since you put that in quotes, but have you considered REXPaint? It supports 24bit color, layering, and redefineable fonts, among other things. It was used to make all the ascii-art for CogMind, for example.

Graphic tiles that are basically just ascii characters.

REXPaint works quite well up to a point for my case. Unfortunately it doesn’t have some of the more game related features, like tile properties/collision/animation etc. which Tiled is quite good at.