Saturday, August 3, 2013

Game Dev 1: Choosing a color palette

I've been playing around with some ideas for a 3D game, which has forced me to think about art style a little bit. Though I'm not sure what type of level of modeling/animation I what to do, I think I've decided on one initial goal:

I want to do 8-bit color.

Why 8-bit? What does 8-bit really mean? Will it be true color from a changeable palette?

The why: I'm no artist, which likely means that my modeling and animation will be primitive. Given that, I feel pushed in the direction to simplify everything. Using 8-bit color seems to lend itself well to establishing a consistent style. 32-bit color (even 16-bit for that matter) is not going to be terribly useful. Will I really need to differentiate between that many red things? I should be able to do that anyways via lighting and other shading.

As a side note, in many ways I feel the same way about textures. If I have a low poly model and stretch textures over it, that can turn out quite bad. Best case, my graphics look circa 1995. Worst case, it looks plain hideous. Using textures may turnout to be somewhat of a risk, especially when considering that I'll likely have to make them myself.

The what: 8-bit can be interpreted a number of ways. For example, for 8-bit true color we can have 2 bits per channel (red, green, blue, alpha) which results in 64 colors. or 3 bits red, 3 bits green, and 2 bits blue which results in 256 colors. These are the two standard ways of doing things.

As an alternative, I can switch to using palettes instead. What this means is that I can pick a set colors to use from the space of 32-bit. For example, I could choose a set of 256 purely red colors (i.e. no green or blue). Choosing a palette enables me to pick several different color schemes for different parts of the game. As an example, I can choose of 256 colors for player models, another set of 256 for terrain, and another set of 256 colors for items.

By now you're saying "Wow, 64 colors? How useful is that??". Let me respond with a huge grin and list off some old school consoles and how many colors they can display.

NES: 25 colors (picked from a possible 56 colors)
SNES: Up to 256 colors (From a possible 32768)
Sega Genesis: Up to 64 colors (From a possible 512)

I might be showing my age here, but I remember Sega Genesis games having amazing color... and they only have 64 on the screen at one time! Go watch games like Sonic the Hedgehog on Youtube if you don't believe me.

The plan:

I'm going to try to do 8-bit color with an alpha channel, for 64 total colors. There will be no palettes whatsoever. Pulling from the public domain, here is a picture of a parrot rendered with 64 colors, and the palette of 64 true colors I can support:


Take a look at the parrot and tell me that doesn't look great! 64 colors in all their glory!

And finally, here's a shot from the engine I'm working on for my game showing off 64 colors. Note that there is still some tweaking to be done:



So..... what do you think?

No comments:

Post a Comment