Palette Swapping

The Nintendo Entertainment System was, for its time, very powerful. This was a relative term, however, and the console has some limitations that, by modern standards, are absolutely suffocating. It’s little wonder, then, the variety of creative solutions employed to work around these limits and create the games that made the Nintendo the console that restored hope to the electronic games market.

PPU Sprite Sheet from Mario
PPU Sprite Sheet from Mario

Back in the bad old days of console programming, everything had to be done by hand. Since there were no external tools or development software suites, now-trivial tasks like developing pixel art and sound were time consuming and expensive. This was complicated by the fact that the NES only had limited space for storing graphics (2k broken up into 64 sprite chunks) in its PPU (picture processing unit), meaning showing a large variety of images on the screen at the same time was impossible.

One of the innovations employed to work around these limitations is “palette swapping”: the practice of making a color-shifted version of the same sprite. “Palette” in computer programming means much the same as it does for painter – a source of colors that can be applied to create the desired image. The palette on the NES supported 16 simultaneous colors. Combined with the PPU, this allowed for a lot of hypothetical variation. There were other programming limitations on how colors could be used, but we don’t need to touch on all of those (NES programming is another topic entirely, and there are numerous guides for both modern and assembly language methods). The basic gist is that you can apply different colors to the same graphics to get different results.

Palette with coin color animation
Overworld color scheme for Super Mario Bros. The cycling color animates the color change for coins
The green ones are dumb, the red ones are a more different dumb.
The green ones are dumb, the red ones are a more different dumb.

Palette swapping has been around since the Atari days, where games like Adventure and Air-Sea Battle employed the technique primarily for variety’s sake. In these cases the palette swapped item -be it terrain, a monster or a player- is identical or near identical to the original, differentiated only by its color. This practice carried over to the Nintendo and other later-gen consoles. The bundled games Super Mario Bros. and Duck Hunt both feature extensive use of palette swapping for both enemies (or whatever you call defenseless ducks that you blast out of the air) and terrain / background elements.

A now-infamous example from Super Mario Bros.
A now-infamous example from Super Mario Bros.

Palette swapping enemies in meaningful ways was a concept that did exist on the Atari (Demon Attack comes readily to mind), and was typically used to put a new spin on an old baddie or to simply communicate that a baddie was more powerful than previous incarnations. In most cases, the attack patterns of the palette swapped enemies were similar or identical to those of the original, which would give the player an opportunity to refine their previous tactics against a more challenging opponent.

Some of the most famous pallet swapping.
Some of the most famous palette swapping.

Some games, like the Legend of Zelda, were very consistent in their color scheming, with blue variants being the (nearly) universal “this monster is harder” version (Wizzrobe being an exception to the rule). A lot of games copied this theme to double, triple or otherwise compound the efficiency of their graphic designers, but in many cases (Deadly Towers, for example) the execution didn’t come anywhere close to the elegance of The Legend of Zelda or Super Mario Bros.

A few examples
A few examples

One excellent example of a game that made extensive use of palette swapping is the famous Final Fantasy series, starting with the very first Final Fantasy game and continuing up to even the most recent games. Unlike many games, Final Fantasy did (and does) not follow a single color convention with their enemy progressions. This allows Frost Giants, for example, to be more powerful than (ordinary) green Giants, while Wolves came in the typical orange and grey, but also the advanced green for Werewolves. The T-Rex series progressed from red to cyan, while the Sahag series progressed from cyan to red. There was no consistency, save that you had doubtless encountered the earlier version, and would recognize the new version as being more dangerous by dint of repetition. This allowed thematic progressions of enemies, with similar enemies having, in most cases, similar powers and AI achieving the goal of giving the player something different yet familiar.

Modern games still use palette swapping as a means of differentiating similar enemies, especially in games meant to mimic the retro style of early pixelated games. The indie game Crypt of the Necrodancer keeps with the tradition, palette swapping enemies that have similar attack patterns, giving a visual cue that the enemies are related but have different movement or health rules. Meanwhile, as previously mentioned, even the current Final Fantasy games, although very far removed now from pixel graphics, still have enemies that use identical or near-identical models with only minor differences to differentiate the power levels of enemies. Multiplayer games like Team Fortress, meanwhile, use color to differentiate teams, even when the appearance of the character is otherwise identical.

The practice of palette swapping may be increasingly passé by modern standards, but as long as vintage and 2d games resonate with players, the practice will live on in those. Also, as long as graphics departments think they can get away with it, palette swapping will live on as an economic way of avoiding making a completely different model for a similar enemy. Of course, you won’t see anything so simple in real life. We don’t palette swap reality after all.

The blue ones are stronger.
The blue ones are stronger.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.