8-bit graphics

hi, i’m wanting to make something with 8 bit graphics, but i need to know 2 things.

1-what colors are considered 8 bit? is is all of the web safe colors or is there less colors than that.

2-how big are 8-bit pixles, are they twise 3x the size of normal pixles in a 72 ppi image, or smaller or bigger?

thats all i need to know, i know how 8-bit music works, but i’m limited on visual knowlage.:o

  1. 256 Colors (2^8) - which ones doesnt matter, it depends on the palette used.
  2. a pixel is a pixel. They are 1 pixel in width and 1 pixel in height. (Only on the Commodore64 Pixels for color sprites where 1px/2px)

There might be some constraints though regarding maximum size of an image or what palettes to use, you got to look up in the 8bit gfx scene not to produce any “nuked” work.

I belive 8-bit graphics use no more than four colors in any one image. That includes the background color as well.

It depends if by “8-bit” you mean on-screen colors selected from a larger palette or if the actual bits describe the color. In either case you can only have up to 256 colors on-screen.

And I don’t believe a pixel has a defined size.

4 colors = 2^2 = 2 bit = CGA grayscale

I feel the need to clarify this rather confusing (but true) statement:

A color is (usually) described by 3 byte = 38 bit = 3(0-255) = R/G/B

b’00000000 = dec’0
b’11111111 = dec’255

4 byte would be RGBA

The question is if 8-bit graphics stated by the OP use indexed 8 Bit color or direct 8 Bit color.

If the 8 bit would describe the actual color it would be indexed color.
Indexed color was used when limited video memory was available. The color information is not stored in the pixel as RGB which would use 3 byte per pixel.
The palette of 256 colors was either stored in the Hardware directly, or if you needed different colors, in a Palette file.
The pixel itself contained no color information, but only 1 byte (8 bit) pointing at the right color in the palette, hence -> color index -> indexed color. So rather than filling the video memory with useless data like 10 times the same red with 3 byte, it filled the memory with 10 times 1 byte, pointing at the same red.

Direct Color on the other hand, stores the pixels color information directly, resutlting in an images pixel using 3 or 4 bytes depending if its stores an alpha value as well - which is todays practice. Take 512mb video memory, you can store (51210241024) / 4 RGBA-Pixels and if thats not enough, you can redirect it to the systems memory, or a swap file, which was impossible in the birthdays of homecomputing.
My first computer was a Schneider in ~1985, it had so few system memory, which was shared with the video memory, that I could only write on half the screen, then the memory was filled up :slight_smile:

IMO to pay tribute to 8bit and keep it “true” for 8bit art you should use one of the old indexed hardware palettes.

Here´s a start:


8-bit color used a hardware Color Look-Up Table (CLUT) with 256 entries in it. You could use the operating system default palette, or change it and really screw-up the system’s display for everyone.

I don’t miss those days any more than I miss “segment registers.” Building elaborate data structures in memory because I couldn’t work with more than 32K at a time.

oh, come on! Hardly would even 16-bit SNES provide 256 colors on screen.

Typical 8-bit graphics would have 8 colors on screen in a 320-240 resolution. Have you kids not even tried some emulator?

Well… every image you see on your monitor is 8-bit. Think back to all of those Linear workflow/gamma tutorials you’ve read through (or will eventually read through if you stick with 3D long enough). Monitors can only display 8-bit images. The extra dynamic range captured by 16-bit RAW formats or the full 32-bit images generated by our 3D apps still display as 8-bit. The extra info is just for post-processing/tone mapping.

EDIT: (assuming of course it’s implied 8-bits per channel/RGB)