Goo Color Wheel

No need to apologize! I just wanted to make sure! The color mixing is also weird! I’m hoping to be able to do some tests on that soon!

A good test would be to see if black converts to Luminous Yellow easy (assuming the wheel loops), since they’d only be one step away.

Yellow = 123, 123, 34
Red = 232, 35, 35
Average = 177.5, 79, 34.5
Orange = 183, 95, 34
I am not seeing another color on the list closer than that.

BUT
Blue = 101, 101, 240
Yellow = 123, 123, 34
Average(2b1y) = 108.3, 108.3, 171.3
Stale Lilac = 143, 104, 166

Warm Blue = 111, 111, 191
This has a smaller delta (3+3+20 < 35+4+5) and also falls into a similar color family. Not sure how it works.

Stale likac is the 2nd closest color however using this method, so I’m perplexed.

3 Likes

my understanding is that the game uses HSLuv color and uses subtractive color mixing.

1 Like

Ye @FlippityFloop I just googled the 255 table in algorithms too. Its weird o_o need the values for the colors ingame like what is blue? 0,0,255 or something else etc

Welp, idk how to convert hex or RGB to HSL in Excel or Sheets so that will be a fun project for the weekend. Then I can see if I can work out a tool that predicts the correct color from the available list.

Block color by world has the color values list! It’s in useful resources thread.

2 Likes

Thanks, if you wanna make a guide so I dont have to here is a converter that might help ^^ https://www.rapidtables.com/convert/color/rgb-to-hsl.html

1 Like

The colours are processed in CIELAB space for both mixing and mutating.
Colours are mixed as if they were light rather than paint. (Paint mixing is v. complicated and often ends in brown.)

18 Likes

Ah, in that case we need blue and green to make yellow! This is good info!

Thanks @james!
This is for both mutating and mixing?

Any chance of getting a table of L a b values for the 255 available colors? Before I strain my brain trying to convert the RGB/hex values that I have :laughing:

1 Like

http://colormine.org/convert/rgb-to-lab :3

I am 100% sure I will make at least one error if I manually punch all 765 color codes into that tool, then transfer all of them back into my sheet. But hey, I will give it a shot after work

So I plotted all the 255 colors on a grid based on Lab coloration. I made layers to group together colors with similar L values. It helps to illustrate some of the space you have to traverse.Luminous yellow is out there, so it makes sense that it’s harder to mutate. I bet it’s impossible to mix. The best you could manage would be to mix it with some of the colors close to it and double up on the yellow. As long as you don’t crowd out the yellow. Same with all the extreme pointy ends.

14 Likes

for the goo mutation step, a graph has been generated that links all the colours together in a somewhat sensible way, and it steps through that graph to whichever neighbour is closest to the target than the current colour is; the random mutation then kicks in to sometimes also step it 1 neighbour in any direction.

the graph is generated by starting from each of the 255 colours, and evaluating for all the other 254 colours which of the 254 remaining colours in closest to the current colour, whilst also being closer to that other colour than the current colour is, and adding a link between those colours to the graph. Basically ensuring that no matter which colour it is morphing towards in the goo mutation (aka the 255 gleam colours) there is always a step you can take in the graph that brings you closer to the target than the current colour is and that those steps are somewhat minimal in distance.

Distance here, is measured using the CIEDE2000 colour distance metric.


Colour mixing is a linear combination of the colours in the Lab color space, and then the result is mapped to the closest in the palette, again with the CIEDE2000 colour distance metric.

11 Likes

This is great information! Thanks @lucadeltodecso!

1 Like

So, if we ignore L (the unseen third dimension in this graph) then we could expect mutation between the two colors in the left image to step through along a path somewhat like what is shown in the second (depending on whether there is a bias to step distance increments or not). While mixing equal amounts of the two colors of pigment would likely return the color in the magenta circle, since it’s roughly equidistant between the two initial colors.

image image

I’m curious how mixing would work between two colors with no other colors reasonably between them. For example, if we mix the two colors shown below in equal parts, which color spray will we get? Do we break ties based on stack order in the mixer? As in most left pigment wins?

image

Trust that I will do some testing :stuck_out_tongue: :heart:

4 Likes

you wouldnt get the magenta circled one most likely, it is taking the weighted average of the colours, then picking the “nearest” colour, which is going to be one of those two extra that you circled in white instead.

In the bottom case with no colours closer than the two inputs, you would never be able to get anything other than one of those two colours as output. the “breaking ties” case if the inputs were equal in count is likely just going to be whichever has the smallest color-index

3 Likes

Yeah, after I posted that, I realized it was more likely to go along the grey line. That’s what I get for summarizing complex color theory while at work!

I hadn’t thought of color index!

Thanks! :heart:

1 Like

So I did a bunch of work using this article: https://en.wikipedia.org/wiki/Color_difference and I put together a Google Sheets doc that attempts to calculate color difference between two colors. The hope being that I can move this in to something that would allow me to predict mix results as well as plan mutation strategies a bit better.

https://docs.google.com/spreadsheets/d/1V2jhSLnXfFDhTh_szHy0ebOTLjmj9CEe1W3D9EH97z0/edit?usp=sharing

However, when I calculate the difference between Vivid Green and Turquoise using my sheet, I get a difference of 30.02, but when I use the calculator here http://brucelindbloom.com/index.html?ColorDifferenceCalc.html, which I trust much more than my own work, I get a result of 31.41. Further, I KNOW that mixing Vivid Green and Turquoise in equal parts should return Mint, and I’m seeing that Warm Viridian is closer to each of them.

My suspicion is that I’ve messed up when it comes to the kC and kH variables, which I assumed would be 1 like kL. But maybe even kL isn’t 1.

I’d love some help from my fellow mathers! Apologies for the mess in the file, I splayed everything out to try and understand each part better.

3 Likes