Layer Modes Do Not Respect Indexed Color Palette

Hopefully I’m missing something simple and I’ll feel dumb after this post. I’m trying to stick to a strict color palette while also making smart use of tools available to me. I love alpha-compositing. I’ve been using it recently for shading but it’s strictly tied to a layer. If I want to turn shadows on/off I have to cut and paste them into their own layer. Each shadow is unique so I can’t just move them around if I move an object.

I was really hoping that the different modes for layers, particularly Darken, could be used in place of this but what I’ve found is that those modes will create new colors outside of the index. It doesn’t seem like it should work this way when using the indexed color mode. Can anyone tell me if I’m missing something?

You’re not missing anything, and the mode is working as intended, although it’s not ideal for your use case.

Indexed mode in Aseprite is essentially just a data representation, not a whole new way of working. The pixel data in each later is indexed, but blending can create new colours. This is how it worked on retro hardware, too.

If you merge your layers while in indexed mode, then the blended pixels will be forced to the nearest matching palette entries. Perhaps this can be an option for you, if not in the midst of working, then as a pre-export step?

If you want to limit your whole piece to a specific palette while working non-destructively, it’s not indexed mode you want, but rather some sort of palettizer mode. Unfortunately Aseprite doesn’t have anything like this.
I’d love to see a “force palette colours” checkbox for layers that will force each calculated pixel to be one of the palette colours when that layer is composited with whatever is below it. It would allow some really neat, nondestructive workflows with palettes even in RGB mode.

Thank you so much for the info! I’ll play around with merging layers. That did not cross my mind but I think it might be very helpful.