Eclips Lab · Case study 05

Scoreboard e TAB: una sola verità

Quando due interfacce mostrano numeri, nomi o stati diversi, il giocatore non vede “due plugin”: vede un server incoerente. Questo caso racconta come abbiamo impostato l’allineamento tra scoreboard, TAB, lobby e dati della modalità.

01 · Sintomo

Un numero sbagliato è quasi sempre un problema di architettura

Durante la messa a punto di SkyWars abbiamo visto una situazione semplice da descrivere ma importante da interpretare: una superficie indicava un numero massimo di giocatori e un’altra ne mostrava uno diverso. Correggere il testo a mano sarebbe stato veloce, ma avrebbe lasciato intatto il problema. Se la stessa informazione è copiata in più configurazioni, prima o poi una delle copie resta indietro.

La stessa cosa vale per vittorie, morti, livello, ping, nome della mappa e stato della partita. TAB, scoreboard e menu non dovrebbero inventare dati propri: dovrebbero rappresentare la stessa realtà con livelli di dettaglio differenti. Il nostro obiettivo è quindi identificare per ogni valore una sorgente responsabile e ridurre al minimo i numeri duplicati scritti a mano.

02 · Dati

Prima di scegliere il placeholder, scegli chi possiede il dato

Un placeholder è soltanto il modo con cui un’interfaccia legge un valore. Non risolve il problema di sapere quale plugin o configurazione sia autorevole. Per la capienza di un’arena, ad esempio, il dato dovrebbe derivare dalla configurazione effettiva della modalità. Per il ping, dal giocatore collegato. Per le statistiche, dal sistema che le persiste. Per il nome pubblico della mappa, da una mappatura controllata che non obblighi a rinominare cartelle e mondi.

Questa distinzione evita una catena fragile in cui la scoreboard contiene un numero, il menu un altro e il plugin della partita un terzo. Quando una modifica cambia la capacità dell’arena, l’interfaccia deve aggiornarsi perché legge la nuova sorgente, non perché qualcuno si ricorda di cambiare tre file.

Regola EclipsMCUn dato importante deve avere una sorgente identificabile; le interfacce lo presentano, non lo reinventano.
03 · Linguaggio

skywars_1 è utile al server, non al giocatore

Gli identificatori tecnici sono preziosi perché devono essere stabili, semplici e prevedibili. Ma proprio per questo spesso sono brutti da leggere. Mostrare in scoreboard il nome della cartella del mondo significa esporre un dettaglio di implementazione al posto di un’informazione pensata per l’utente.

Abbiamo quindi separato l’identificatore tecnico dal nome pubblico. Il primo continua a essere usato da configurazioni e automazioni; il secondo può essere “Aurora”, “Nebula” o qualunque nome scelto per la mappa. Così una modifica editoriale non richiede di spostare cartelle sul disco e un report del giocatore rimane comprensibile anche se l’infrastruttura interna cambia.

04 · Design

Coerenza visiva senza trasformare tutto nello stesso pannello

TAB e scoreboard hanno funzioni diverse. Il TAB deve dare una lettura globale: identità del network, giocatori, informazioni essenziali e contesto. La scoreboard deve essere più locale: modalità, mappa, stato, statistiche pertinenti. Uniformare non significa copiare lo stesso contenuto in entrambi.

La coerenza nasce da una grammatica comune: palette EclipsMC, gerarchia dei titoli, uso costante dei separatori, numeri leggibili e label che non cambiano forma da una modalità all’altra. Anche dettagli piccoli, come usare “Vittorie:” e “Morti:” nello stesso modo, riducono l’impressione di componenti assemblati da fonti diverse.

Abbiamo inoltre evitato informazioni decorative che non aiutano una decisione. Se un dato non serve a capire dove sei, cosa sta succedendo o come stai andando, non deve occupare una delle poche righe disponibili.

05 · Contesto

Lobby, attesa e partita non hanno bisogno degli stessi dati

Una scoreboard utile cambia con il contesto. Nella lobby globale servono accesso rapido, stato del network e identità. Nella lobby SkyWars diventano più importanti modalità, mappa, giocatori e statistiche SkyWars. Durante la partita entrano in gioco vivi, team, timer o altri dati specifici. Riutilizzare una sola scoreboard universale produce inevitabilmente righe irrilevanti.

Per questo i test non si fermano a una schermata. Verifichiamo il passaggio tra stati: ingresso nel network, accesso alla lobby della modalità, countdown, partita, morte, fine e ritorno. Una scoreboard corretta al primo ingresso ma sbagliata dopo una partita è una regressione reale, non un dettaglio secondario.

06 · Verifica

La matrice che evita fix “a occhio”

  • Confrontare capienza e giocatori correnti tra modalità, TAB e scoreboard.
  • Verificare i nomi pubblici delle mappe in ogni stato della partita.
  • Provare con utente normale e con staff, perché i permessi possono cambiare placeholder e righe.
  • Controllare il risultato dopo riavvio, non soltanto dopo un reload della configurazione.
  • Controllare valori zero, assenti e non ancora inizializzati per evitare placeholder grezzi.
  • Verificare che una modifica estetica non nasconda un dato necessario su risoluzioni diverse.
07 · Lezione

Il giocatore non deve sapere quanti plugin ci sono dietro

Un network può avere decine di componenti, ma l’esperienza deve sembrare prodotta da un solo sistema. Se TAB, scoreboard, menu e chat usano parole, numeri e stati coerenti, l’infrastruttura scompare e resta il gioco. È questo il risultato che cerchiamo: non una scoreboard “bella” isolatamente, ma un’interfaccia che racconta la stessa verità del server.

IP copiato!