Как оценивается попытка

Каждая попытка в Color Hunch оценивается по тому, насколько ваш цвет далёк от настоящего — не в ползунках, которые вы двигали, а в том, насколько разными эти два цвета кажутся человеческому глазу. Мера — CIEDE2000, и эта страница объясняет, что это значит и почему различие важно.

Оно важно, потому что очевидная альтернатива ошибается так, что игрок это чувствует.

Почему расстояние ползунка — неверная мера

Простой способ оценить попытку — сравнить положения ползунков: насколько ваш тон далёк от целевого, ваша насыщенность от его. Это одна строка кода, и она даёт игру, которой люди молча перестают доверять.

Причина в том, что равные движения ползунка — не равные изменения для глаза. Десять градусов тона кричат в зелёных и почти незаметны в глубоких синих. Сдвиньте светлоту чуть-чуть в светлом цвете — увидят все; сдвиньте так же в тёмном — почти никто. Оценка по расстоянию ползунка наказывает за подход не с той стороны тона и вознаграждает попадание, которое явно выглядит неверно.

Что на самом деле такое разница цветов

Разницу цветов измеряют, помещая оба цвета в пространство, построенное так, чтобы расстояние в нём соответствовало разнице для глаза, и затем измеряя отрезок между ними. Это число называется ΔE — дельта E, где E от Empfindung, по-немецки «ощущение».

Первая такая формула, CIE76, была прямой между двумя точками в пространстве Lab. Она была настоящим шагом вперёд и имела известные слабости: преувеличивала различия в насыщенных цветах и занижала их в синих. CIEDE2000 — это исправление: добавлены весовые члены для светлоты, цветности и тона, плюс член взаимодействия для синей области, где прежняя формула работала хуже всего.

Что с этим делает Color Hunch

Когда вы отправляете попытку, подобранный вами цвет и цвет, который там должен быть, переводятся из sRGB в Lab, и CIEDE2000 даёт расстояние между ними. Это расстояние становится очками раунда, а звёзды уровня складываются из очков его раундов.

Число, которое вы видите, — процент близости, а не сам ΔE. Это осознанный выбор: ΔE 4,2 не говорит вам ничего, на что можно опереться, тогда как «Близость 87» говорит то же самое в виде, сравнимом с вашей прошлой попыткой. ΔE остаётся там, где ему место — в подсчёте.

Почему одна и та же формула работает везде

Приложение, игровой сервер и этот сайт считают одной и той же реализацией, сверенной по одним и тем же эталонным значениям. Попытка, дающая 87 в браузере, даёт 87 в приложении.

Звучит очевидно и легко ломается: три кодовые базы на трёх языках расходятся, если их ничто не держит вместе. Здесь это тест с фиксированными парами входов и ожидаемыми выходами — если порт расходится с эталоном, падает сборка, а не таблица лидеров тихо теряет смысл.

Что значат значения ΔE

Как грубый ориентир — так выглядит данная разница цветов для человека с нормальным цветовым зрением при приличном свете:

ΔEЧто вы бы заметили
Меньше 1Глазом не различить. Оба читаются как один и тот же цвет.
От 1 до 2Видно натренированному глазу при близком рассмотрении, обычно рядом.
От 2 до 10Заметно с первого взгляда. Большинство назовёт это двумя оттенками одного цвета.
От 11 до 49Явно разные, но родственные цвета — красный и слегка оранжевый красный.
50 и вышеСовершенно разные цвета. Никто бы их не спутал.

Эти диапазоны — соглашение, а не спецификация: так о числах говорят в отрасли, и разные источники проводят границы чуть по-разному. Считайте их способом читать оценку, а не стандартом.

CIEDE2000 определена CIE (Commission Internationale de l'Éclairage) в CIE 142-2001. Реализация здесь следует работе Sharma, Wu и Dalal (2005) «The CIEDE2000 Color-Difference Formula» — статье, по которой сверяют большинство реализаций и в которой описаны использованные для сверки тестовые данные.

Угадай ЦветКак играть