Jak oceniany jest strzał

Każdy strzał w Color Hunch oceniany jest po tym, jak daleko twój kolor leży od prawdziwego — nie w suwakach, które przesunąłeś, lecz w tym, jak różne wydają się oba ludzkiemu oku. Miarą jest CIEDE2000, a ta strona wyjaśnia, co to znaczy i dlaczego rozróżnienie ma znaczenie.

Ma znaczenie, bo oczywista alternatywa myli się w sposób, który gracze czują.

Dlaczego odległość suwaka to zła miara

Prosty sposób oceny strzału to porównanie położeń suwaków: jak daleko twój odcień od docelowego, twoje nasycenie od jego. To jedna linia kodu i daje grę, do której ludzie po cichu tracą zaufanie.

Powód: równe ruchy suwaka nie są równymi zmianami dla oka. Dziesięć stopni odcienia krzyczy w zieleniach i jest niemal niewidoczne w głębokich błękitach. Przesuń jasność odrobinę w jasnym kolorze i widzą to wszyscy; przesuń tyle samo w ciemnym i prawie nikt. Ocena po odległości suwaka karze za podejście od złej strony odcienia i nagradza wynik, który wyraźnie wygląda źle.

Czym naprawdę jest różnica kolorów

Różnicę kolorów mierzy się, umieszczając oba kolory w przestrzeni zbudowanej tak, by odległość w niej odpowiadała różnicy dla oka, a potem mierząc dystans między nimi. Ta liczba nazywa się ΔE — delta E, gdzie E pochodzi od Empfindung, po niemiecku «wrażenie».

Pierwsza taka formuła, CIE76, była prostą linią między dwoma punktami w przestrzeni Lab. Była realnym postępem i miała znane słabości: wyolbrzymiała różnice w kolorach nasyconych i zaniżała je w błękitach. CIEDE2000 to poprawka, dodająca człony wagowe dla jasności, chromy i odcienia oraz człon interakcji dla obszaru niebieskiego, gdzie starsza formuła radziła sobie najgorzej.

Co Color Hunch z tym robi

Gdy wysyłasz strzał, ustawiony przez ciebie kolor i kolor, który tam należy, są przeliczane z sRGB na Lab, a CIEDE2000 podaje odległość między nimi. Ta odległość staje się wynikiem rundy, a gwiazdki poziomu biorą się z wyników jego rund.

Liczba, którą widzisz, to procent bliskości, a nie samo ΔE. To wybór celowy: ΔE równe 4,2 nie mówi ci nic, na co możesz zareagować, a «Bliskość 87» mówi to samo w formie porównywalnej z poprzednią próbą. ΔE zostaje tam, gdzie jego miejsce — w punktacji.

Dlaczego wszędzie działa ta sama formuła

Aplikacja, serwer gry i ta strona oceniają tą samą implementacją, sprawdzoną wobec tych samych wartości odniesienia. Strzał, który daje 87 w przeglądarce, daje 87 w aplikacji.

Brzmi oczywiście i łatwo o pomyłkę: trzy bazy kodu w trzech językach rozjeżdżają się, jeśli nic ich nie trzyma razem. Tutaj trzyma je test ze stałymi parami wejściowymi i oczekiwanymi wyjściami — jeśli port odbiega od odniesienia, build pada, zamiast żeby ranking po cichu stracił sens.

Co znaczą wartości ΔE

Z grubsza: tak wygląda dana różnica kolorów dla kogoś z normalnym widzeniem barw, przy przyzwoitym świetle:

ΔECo byś zauważył
Poniżej 1Nie do rozróżnienia okiem. Oba czyta się jako ten sam kolor.
1 do 2Widoczna dla wprawnego oka z bliska, zwykle obok siebie.
2 do 10Zauważalna na pierwszy rzut oka. Większość nazwie to dwoma odcieniami tego samego koloru.
11 do 49Wyraźnie różne, ale spokrewnione kolory — czerwień i czerwień lekko pomarańczowa.
50 i więcejZupełnie różne kolory. Nikt by ich nie pomylił.

Te przedziały to konwencja, nie specyfikacja: tak dziedzina mówi o tych liczbach, a różne źródła kreślą granice nieco inaczej. Traktuj je jako sposób czytania wyniku, nie jako standard.

CIEDE2000 jest zdefiniowana przez CIE (Commission Internationale de l'Éclairage) w CIE 142-2001. Implementacja tutaj idzie za pracą Sharmy, Wu i Dalala (2005), »The CIEDE2000 Color-Difference Formula« — artykułem, wobec którego sprawdza się większość implementacji i który dokumentuje użyte do tego dane testowe.

Zgadnij KolorJak grać