CoMiGo's Palette Generator
Another color scheme generator? HuUuH?!
Nope, it ain't your regular triad/complimentary color generator, it is a palette generator, and it is backed up by science™️. Actually, there is so much science that you should really try hard to fully comprehend it. Even I haven't fully done it. But, here is the thing:
- This generator creates a grid of colors, allowing you to make a full palette for your art pieces. For a pixel-art animation, for a still image, for a game. It also aims for stylized color sets.
- The coloring algorithms here differ from regular color wheels and number crunching. Instead of using direct arithmetic formulas, it works based on how humans see.
- For example, almost every color scheme generator with a complimentary color scheme will return bright yellow for dark blue, when they are so different! This generator will make sure the colors are of the same perceivable lightness — a complimentary color for a yellow is sky blue.
- The generator also works for HDR graphics, and is not bound by sRGB.
And all that for free, for commercial and whatever projects, with no strings attached. 😱👏
So what about the science™️?
In short, it uses the LCH color model with the aid of Lab for mixing tints and shadows. LCH is Luma-Chroma-Hue, and works on perceived lightness, perceived saturation, and regular hue. (Kinda regular.) This is different from RGB (red, green, blue) and HSL/HSV models (hue, saturation, lightness/value) in its math, and thus is more smooth, more uniform, and predictive.
I use the Lab/LCH tools from W3C and a good amount of code from the LCH color picker made by Lea Verou and Chris Lilley. Lea Verou also has a good article on LCH and why it is needed in the web.
Usually, your colors are bounded by sRGB space — the one that all the browsers are currently using everywhere, and the one that is commonly used in tools like Photoshop and Aseprite/Libresprite. But our monitors — well, at least the modern ones — can produce a much wider spectrum of colors (btw it is called "gamut"). This also is often loosely named as HDR. LCH does operate on HDR colors.
BUT if your monitor, or your software, your game engine don't support linear RGB (or p3 colors, or LCH model) directly, YOU'RE SCREWED, your palette will probably be shown as a toned down mess. Can you imagine? Even game engines limit what colors you can use!
Thankfully, the palette generator can highlight those problematic colors that overflow the sRGB gamut. You can even notice them by yourself...
And if we turn the problem checker on:
Thankfully, the generator tries its best to make balanced palettes that fit in sRGB by tuning saturation. At least that's what it said to me, but I trust my creations.
You can click the color to pick its p3, HCL and linear RGB variants for engines that do support such colors, as well as other formats. I personally know that Unreal Engine does support linear RGB.
A note on accessibility 🔍
The generator keeps luminosity equally distributed, and people with color perception problems will have a really hard time distinguishing the colors. Can you easily differ the colors in this desaturated palette? Me neither. And people with Monochromacy live in such world.
In games, make sure that you provide additional stuff that allow to differ gameplay elements of different hue. For example, don't create a new enemy just by changing its hue and tweaking stats. Add horns or something, come on.
(btw this applies to any games and any palette, not just generated here)
Do you like the tool? I have MORE 🤣
Check out my other tools:
- Ct.js, a game engine with its beautiful IDE, which is easy to use yet powerful.
- Cosmic Everyday, a personal digital organizer.
- JSONBabel, a simple, online solution for translating games and software, for developers and their users.
I also make games 👀
Want to give more than just "thanks"?
Rumors say that donations heal developers' depression, existential crisis, and acne 🤫
Or don't. I'm not your mother.