Color Palettes to work around Self-Imposed Constraints

I recently decided to put some constraints on my pixel art: I only will use the NES color palette. You can see the result in my previous post with my test tilemap. Now, the NES has other technical limitations but I chose to ignore them for Codename: Firesaga.

Imposing this constraint on myself was actually liberating, because the 256x256x256x256 RGBA color space is HUGE. This also includes transparency, which makes the issue even worse. It’s really easy for me to get lost in the colors. The NES palette is limited to something like 55 colors, which makes things way more manageable.

At first this seemed to me like a constraint that is barely limiting at all. It isn’t that hard for me to choose substitute colors from the NES palettes, and it necessarily forces me into higher-contrast, more colorful designs.

The first major problem I ran into with this limitation is how to deal with transparent overlays. Turn-based strategy games that play on a grid often make used of see-through overlays (that kind of mimic tainted glass) to show useful information on the map such as unit movement and attack range. Without the color constraint I imposed on myself, this is trivial problem: just implement some kind of transparent texture and SDL (my game “engine”) takes care of the rendering. This is unacceptable: I only want to show the NES palette colors.

This is an interesting issue: How can I simulate transparent overlays using a limited color palette? The solution I found is to construct different color palettes using only the NES palette. I created a Shadow palette, that makes all colors darker:

I also created a palette for Red, Blue and Green filters:

Essentially, Codename:Firesaga will not use transparent layers but instead swap color palettes. Creating the color palettes was actually pretty fun too! People told me that it is limitations that encourage creativity. This is so true that I encourage everyone to do it!

One thought on “Color Palettes to work around Self-Imposed Constraints

Leave a comment