Possible alternate colorspaces for video game palettes.

A place for your artistic side. Discuss techniques and tools for pixel art on the NES, GBC, or similar platforms.

Moderator: Moderators

tepples
Posts: 22705
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Possible alternate colorspaces for video game palettes.

Post by tepples »

zzo38 wrote:I thought of a different kind of colorspace: 3-bits high-voltage, 3-bits low-voltage, 3-bits phase. The phase only covers half, because you can get the rest of the phases by inverting it which is done by switching the voltage. If high-voltage and low-voltage is same then the picture will be gray.
That'd be HSL-ish, sort of like NES except including more desaturated midtones. It'd be simple to implement a composite output circuit for (assuming an 8*CB crystal), but I can't so easily show the parrot for this one because it has 8*8*8-8*7 = 456 colors, and GIMP won't quantize to palettes with more than 256 colors.

Sik's suggestion to subtract the intensity instead of adding it would be mathematically equivalent to the purely additive RGBI if defined as follows:

Red: #300, #700, #B00, #F00
Green (add): #030, #070, #0B0, #0F0
Blue (add): #003, #007, #00B, #00F
Intensity (subtract): #333, #222, #111, #000
Sik
Posts: 1589
Joined: Thu Aug 12, 2010 3:43 am

Re: Possible alternate colorspaces for video game palettes.

Post by Sik »

Really the only difference is that the order of the colors has changed, but the available colors are pretty much the same. May as well just go with additive at that point and make everybody's lives easier.

Somebody should go and glue two EGAs together...
Sik
Posts: 1589
Joined: Thu Aug 12, 2010 3:43 am

Re: Possible alternate colorspaces for video game palettes.

Post by Sik »

Something I remembered: I know some LCDs work by shifting hues instead of shifting luminance. What about a colorspace where you layer both kind of LCDs on top of each other? Would it have been a reliable way to get color on early handhelds without eating battery like hell? Biggest problem (aside from the obvious blurring) is that saturation would be always at max. Still, would be a fun experiment to think about.
lidnariq
Posts: 11429
Joined: Sun Apr 13, 2008 11:12 am

Re: Possible alternate colorspaces for video game palettes.

Post by lidnariq »

So-called "Electronically Controlled Birefringence" Displays are achievable (scroll down to "COF LCD module"). They have a rather peculiar color palette, though.

There was a Pokemon-themed pedometer that used it. (video)
Sik
Posts: 1589
Joined: Thu Aug 12, 2010 3:43 am

Re: Possible alternate colorspaces for video game palettes.

Post by Sik »

So wait, their range can be stretched to do more than just a hue shift? Because that actually seems more useful. (my original idea was to use that for hue and then another display on top that was monochrome for luminance)
Sik
Posts: 1589
Joined: Thu Aug 12, 2010 3:43 am

Re: Possible alternate colorspaces for video game palettes.

Post by Sik »

Here's another idea: HSL 4.2.2
  • When bits 7-4 are 0000, the color is grayscale and bits 3-0 are the luminance.
  • Otherwise, bits 7-4 specify hue (in steps of 24º), bits 3-2 the saturation (25%,50%,75%,100%) and bits 1-0 the luminance (20%,40%,60%,80%).
EDIT: fixed my HSL algorithm and ditched the old image

Image

Still leaves a lot to be desired.
User avatar
tokumaru
Posts: 12427
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Re: Possible alternate colorspaces for video game palettes.

Post by tokumaru »

Sik wrote:Image
I like the colors, but fading in this color space looks complicated, especially since grays are treated differently.
Sik
Posts: 1589
Joined: Thu Aug 12, 2010 3:43 am

Re: Possible alternate colorspaces for video game palettes.

Post by Sik »

I think that fading is hell with most of the colorspaces mentioned here though =P Would make for a good default 256 colors palette though.

I'm not happy with how coarse luminance turns out to be, though =/
Rahsennor
Posts: 479
Joined: Thu Aug 20, 2015 3:09 am

Re: Possible alternate colorspaces for video game palettes.

Post by Rahsennor »

Why does the highest luminance level also lower saturation? Saturation increases perceptual brightness, so that seems counterproductive, not to mention redundant.
Sik
Posts: 1589
Joined: Thu Aug 12, 2010 3:43 am

Re: Possible alternate colorspaces for video game palettes.

Post by Sik »

That's how HSL works, maybe you were thinking on HSV instead?
Rahsennor
Posts: 479
Joined: Thu Aug 20, 2015 3:09 am

Re: Possible alternate colorspaces for video game palettes.

Post by Rahsennor »

I was thinking purely in terms of getting the most usable colors out of the palette. Now that you mention it though, HSV is probably what I was suggesting.
Sik
Posts: 1589
Joined: Thu Aug 12, 2010 3:43 am

Re: Possible alternate colorspaces for video game palettes.

Post by Sik »

OK giving a try to HSV (same format otherwise), assuming I got the calculation right (was expecting this to be harder):

Image
User avatar
tokumaru
Posts: 12427
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Re: Possible alternate colorspaces for video game palettes.

Post by tokumaru »

So, in order to fade to black you'd alternate between decreasing V and increasing S, and to fade to white you'd alternate between decreasing S and increasing V?
JRoatch
Formerly 43110
Posts: 422
Joined: Wed Feb 05, 2014 7:01 am
Contact:

Re: Possible alternate colorspaces for video game palettes.

Post by JRoatch »

Last time I tried making an 8-bit color space with a good luminance range I ended up with this quite arbitrary palette:

Image

I found that the RGBI palette that tepples posted earlier could be rearranged to emphasize grayscales but still have all the same colors.
2016-03-27_2bit-BRGI.png
2016-03-27_2bit-BRGI.png (948 Bytes) Viewed 5824 times

Code: Select all

Index: bbrrgggg
R = gggg + rr00
G = gggg
B = gggg + bb00
This would be the palette I would use if I was designing another Uzebox or something. Maybe replace the additions with XORs to simplify circuit design.
lidnariq
Posts: 11429
Joined: Sun Apr 13, 2008 11:12 am

Re: Possible alternate colorspaces for video game palettes.

Post by lidnariq »

JRoatch wrote:Index: bbrrgggg
R = gggg + rr00
G = gggg
B = gggg + bb00
If the digital values are just converted linearly there's no greens at all:
bbrrgggg_addition.png
bbrrgggg_addition.png (1.24 KiB) Viewed 5787 times
If you normalize green so it's the same range (i.e. scale up from 0-15 up to R and B's 0-27), it's ... ok?
bbrrgggg_addition_normalized.png
bbrrgggg_addition_normalized.png (1.32 KiB) Viewed 5787 times
replace the additions with XORs
That produces an interesting set of colors:
bbrrgggg_xor.png
bbrrgggg_xor.png (1.35 KiB) Viewed 5787 times
Post Reply