Damian Walker

Personal Web Pages

Some Background on CGA

Ossuary, now with a shirt for the hero

Saturday, 22nd August 2020

Part 4 of a blog series about CGA Palettes.

Black is a very useful colour, and artists don't give it up lightly. But CGA can give you some great rewards if you're willing to sacrifice that default black background colour. Suddenly a lot of interesting choices open up. Frogger II is an early example that led the way: it used the red, cyan and white foreground palette I mentioned in the previous article, but swapped out black for the dark green. Suddenly you expand further into a full RGB spectrum of colours.

A more common way to achieve the same end in early games was to choose the red, green and yellow palette, and swap out the black for dark blue. This gave you shades of red, green and blue, with yellow as a useful accent colour. This colour scheme looked a bit more gaudy and less naturalistic than the Frogger II one, but was used to good effect in a number of games. Some went the same way using the darker red, green and brown scheme, but without careful colour placement the lack of contrast could create a muddy display that was hard to read.

Don't take my opinion as a non-artist for objective fact, but it seems common sense to me that the best combinations come from putting a dark background colour together with a light palette. Blue and red both go nicely with all three bright colour palettes, and I've had some success with brown backgrounds too. The two-tone combination of dark red with the light red in two of the foreground palettes can look particularly effective, but you have to bear in mind that the contrast can range from poor to nonexistent on some early third-party colour monitors. For this reason I've taken to offering a command line option in my games to play in monochrome, or to leave the palette at its default.

Lately I've been experimenting with the opposite combination: a light background with one of the dark palettes. This can give really interesting results, if somewhat bright for some people's tastes. I created a parchment-like effect good for a fantasy game by using the dark red, green and brown palette on a yellow background. The combination of the same foreground palette on a light cyan background brings to mind two diverse settings: a Mario-style platformer with dirt/grass platforms and a cyan sky, and a modern war game on a map with both land and water.

In Ossuary, the recent DOS port of my old ZX Spectrum dungeon crawler, I opted to abuse a bright background colour. The "foreground" palette is dark cyan, red and grey, with a yellow "background". But I've filled most of the screen with red, so it appears as if red is the background colour. Someone mentioned that it took him a while to work out which CGA palette I'd used. You need to use some care with this technique, though. On real CGA hardware or an accurate emulator, the "background" colour will fill the over-scan border. This can look ugly if you don't create some kind of visible transition from your chosen background colour to the official one in the border.

It was to explore all these colour combinations that I created my CGA colour chart some years ago. You really need some imagination though to envisage how the coloured blocks will appear on a real display. I'd recommend choosing a palette that you think will work for your game, then mocking up some graphics before making the final choice.

In the final article I'll give you some musings on a matter that's occupied my idle thoughts for three decades: with the choice of colours available, why did so many developers stick with the default black, cyan, magenta and white?