Come viene valutato un tentativo
Ogni tentativo in Color Hunch è valutato sulla distanza fra il tuo colore e quello vero — non nei cursori che hai mosso, ma in quanto diversi appaiono i due a un occhio umano. La misura è CIEDE2000, e questa pagina spiega cosa significa e perché la distinzione conta.
Conta perché l'alternativa ovvia sbaglia in un modo che i giocatori percepiscono.
Perché la distanza del cursore è la misura sbagliata
Il modo semplice di valutare un tentativo è confrontare le posizioni dei cursori: quanto dista la tua tonalità da quella bersaglio, la tua saturazione dalla sua. È una riga di codice e produce un gioco di cui le persone smettono silenziosamente di fidarsi.
Il motivo: spostamenti uguali di un cursore non sono cambiamenti uguali per l'occhio. Dieci gradi di tonalità gridano nei verdi e sono quasi invisibili nei blu profondi. Muovi un po' la luminosità in un colore chiaro e lo vedono tutti; muovila altrettanto in uno scuro e quasi nessuno. Valutare sulla distanza del cursore punisce l'avvicinarsi dal lato sbagliato di una tonalità e premia un esito che si vede chiaramente sbagliato.
Che cos'è davvero una differenza di colore
La differenza di colore si misura mettendo entrambi i colori in uno spazio costruito perché la distanza al suo interno corrisponda alla differenza percepita, e misurando poi quella distanza. Quel numero si chiama ΔE — delta E, dove la E viene da Empfindung, «sensazione» in tedesco.
La prima formula di questo tipo, CIE76, era una linea retta fra due punti nello spazio Lab. Fu un progresso reale e aveva difetti noti: esagerava le differenze nei colori saturi e le sottostimava nei blu. CIEDE2000 è la correzione: aggiunge termini di peso per luminosità, croma e tonalità, più un termine di interazione per la zona blu, dove la formula precedente faceva peggio.
Cosa ne fa Color Hunch
Quando invii un tentativo, il colore che hai impostato e quello che spetta all'immagine vengono convertiti da sRGB a Lab, e CIEDE2000 dà la distanza fra i due. Quella distanza diventa il punteggio del round, e le stelle del livello nascono dai punteggi dei suoi round.
Il numero che vedi è una percentuale di vicinanza, non il ΔE. È una scelta voluta: un ΔE di 4,2 non ti dice nulla su cui agire, mentre «Vicinanza 87» dice la stessa cosa in una forma confrontabile con il tuo tentativo precedente. Il ΔE resta dove deve stare, nel punteggio.
Perché la stessa formula gira ovunque
L'app, il server di gioco e questo sito valutano con la stessa implementazione, verificata sugli stessi valori di riferimento. Un tentativo che fa 87 nel browser fa 87 nell'app.
Sembra ovvio ed è facile sbagliarlo: tre basi di codice in tre linguaggi divergono se non c'è nulla a tenerle insieme. Qui c'è un test con coppie di input fisse e output attesi — se un port si discosta dal riferimento fallisce la build, invece che la classifica diventi silenziosamente priva di senso.
Cosa significano i valori di ΔE
Come guida approssimativa, ecco come appare una certa differenza a chi ha una visione dei colori normale, con luce decente:
| ΔE | Cosa noteresti |
|---|---|
| Sotto 1 | Indistinguibile a occhio. I due si leggono come lo stesso colore. |
| Da 1 a 2 | Visibile a un occhio allenato guardando da vicino, di solito affiancati. |
| Da 2 a 10 | Percepibile a colpo d'occhio. I più parlerebbero di due tonalità dello stesso colore. |
| Da 11 a 49 | Colori chiaramente diversi ma imparentati — un rosso e un rosso un po' arancio. |
| 50 e oltre | Colori del tutto diversi. Nessuno li confonderebbe. |
Queste fasce sono una convenzione, non una specifica: è così che il settore parla di questi numeri, e fonti diverse tracciano i confini in punti leggermente diversi. Prendile come modo per leggere un punteggio, non come uno standard.
CIEDE2000 è definita dalla CIE (Commission Internationale de l'Éclairage) in CIE 142-2001. L'implementazione qui segue Sharma, Wu e Dalal (2005), «The CIEDE2000 Color-Difference Formula», l'articolo su cui viene verificata la maggior parte delle implementazioni e che documenta i dati di test usati per la verifica.