← Tutte le novità

Giocare a un gioco di carte tattico con il controller: come funziona il supporto ai controller in Ancient Duel

Giocare a un gioco di carte tattico con il controller: come funziona il supporto ai controller in Ancient Duel

Il supporto ai controller di solito riguarda i giochi di movimento e di mira. Ancient Duel non ha né l’uno né l’altra. È un gioco di carte: guardi il tabellone, ci pensi un po’ e poi prendi una sola decisione, ben precisa.

Ed è proprio per questo che il controller si è rivelato così adatto. Ogni azione di un duello si riduce alla stessa breve lista. Quale carta. Quale posizione. Quale bersaglio. Conferma. Indietro. È la lingua naturale di un controller, e si sposa male con un dispositivo il cui grande talento è puntare un pixel qualsiasi.

Un controller non dovrebbe fingersi un mouse

La scorciatoia allettante è lasciare che la levetta spinga un cursore sullo schermo. Si programma in fretta ed è sgradevole da usare: finisci per guidare un puntatore sopra un tappetino vuoto, facendo un lavoro analogico per prendere una decisione digitale.

Ancient Duel sposta invece la selezione. La levetta o la croce direzionale saltano tra le cose che contano davvero (una carta in mano, un’unità sul campo di battaglia, un bersaglio, un pulsante, una scheda) e Conferma attiva ciò che è selezionato in quel momento. Non prendi mai la mira. Dici «carta successiva», «quella», «sì».

Tutto lo strato di input segue una regola che mi sono dato presto e che non ho mai infranto: non reimplementa mai un’azione di gioco. Sposta il focus e lascia che il pulsante già presente faccia il suo lavoro. Dal lavoro sull’accessibilità di aprile il gioco si poteva già usare interamente da tastiera, quindi il supporto ai controller non ha richiesto alcuna modifica alla logica di gioco. Vale anche il contrario: ciò che non si raggiunge con la tastiera non si raggiunge con il controller. Rendere navigabile qualcosa significa farne un punto di focus, non scrivere nuovo codice di input.

Il tabellone era già una griglia

Qui un gioco di carte aiuta in un modo che un mondo 3D non può. Il campo di battaglia di Ancient Duel è una struttura fissa e finita: quattro posizioni per le unità per lato, uno spazio per il Comandante al centro, una fila della strategia, una mano, due cimiteri, una zona del terreno. Non c’è nessuno spazio continuo da attraversare.

Così la disposizione visibile può semplicemente diventare la navigazione. Sinistra e destra scorrono lungo una fila, su e giù passano dalla mano al campo di battaglia, e i dorsali saltano intere zone in un colpo solo invece di attraversare tutto ciò che sta in mezzo. La levetta destra scorre la pagina e Start apre le impostazioni del controller.

Il focus è il cursore

Con un mouse sai sempre a cosa stai puntando, perché è la tua mano a puntare. Togli il puntatore e l’interfaccia deve rispondere in ogni momento a tre domande: che cosa è selezionato, che cosa ne farà Conferma e che cosa annullerà Indietro.

Sembra ovvio, ed è lì che è finita la maggior parte del lavoro di cesello. Una finestra di dialogo che si apre con la selezione sul pulsante di chiusura è tecnicamente navigabile e in pratica inutile: il gioco ti ha appena chiesto quale carta scartare e l’evidenziazione è sulla ✕. Ora le finestre di dialogo si aprono sulla prima scelta vera, e le modalità di scelta del bersaglio mettono la selezione sul primo bersaglio valido invece di limitarsi a evidenziarli tutti, cosa che con un puntatore funzionava e senza diventava una caccia al tesoro.

Un buon supporto ai controller non è quello in cui ogni pulsante è raggiungibile. È quello in cui smetti di pensare a come raggiungerli.

Non fidarti mai dell’indice di un pulsante

Questa è la parte che ho sottovalutato di gran lunga.

Un controller per PC può dichiarare di usare la disposizione standard e poi numerare i pulsanti come pare al suo firmware. Il controller con cui faccio i test fa esattamente questo e, per giunta, porta stampati 1 / 2 / 3 / 4 in senso orario partendo dall’alto, invece di A/B/X/Y. Dietro ogni pressione si nascondono quindi tre informazioni diverse, e solo la prima si può conoscere davvero: l’input grezzo, la posizione fisica di quel pulsante sulla plastica e l’etichetta stampata accanto. Un gioco che assegna Conferma al «pulsante 0» ne sta indovinando due su tre.

Per questo Ancient Duel ha una procedura di calibrazione, che non deduce mai nulla da un indice. Impara la posizione fisica dalle tue mani e l’etichetta da ciò che gli dici di leggere sul dispositivo. Le etichette si scelgono da un elenco invece di digitarle, perché un controller non ha lettere, e non sono decorative: se dici al gioco che il tuo pulsante in basso porta la «B» e quello a destra la «A», hai in mano un controller con la convenzione Nintendo, qualunque cosa ne pensi il browser, e Conferma e Indietro si scambiano di conseguenza.

Un comando che salti resta muto. Non si ripiega su un indice presunto, perché un dorsale che conferma una resa è proprio l’errore che la calibrazione esiste per evitare.

Una calibrazione che non può chiedere un mouse

C’è un paradosso nascosto. Chi ha un controller mappato male è proprio chi ha bisogno della schermata di calibrazione, ed è proprio chi non riesce ad arrivarci attraverso un normale menu.

Per questo tutto il progetto segue una regola: un controller deve poter essere calibrato, etichettato, salvato, riaperto e riparato senza mouse né tastiera. Su un computer funzionano entrambi per comodità; niente può dipendere da loro.

In pratica significa che la procedura si apre con «premi un pulsante qualsiasi per iniziare» e accetta qualsiasi pulsante grezzo di qualsiasi controller collegato, e quella pressione decide anche quale controller guida la sessione. Poi vengono conferma e annulla, che non si possono saltare. Dalla terza domanda in poi, il pulsante che hai appena indicato come pulsante frontale destro torna indietro di un passo, quindi premerlo abbastanza volte chiude la procedura: l’unica via d’uscita che non richiede un puntatore. Ogni passo di acquisizione avanza da solo, perché chi si è appena sentito dire di premere il pulsante frontale in basso non ha modo di premere anche «Avanti».

Perché non chiede mai della levetta

Otto domande, e riguardano tutte i pulsanti. Sulle direzioni non viene chiesto nulla.

In parte perché le direzioni sono la parte affidabile: su un controller con mappatura standard, la levetta sinistra arriva come i primi due assi, il che rende l’input direzionale molto più prevedibile di pulsanti che il produttore ha numerato a suo piacimento. Ma soprattutto per una cosa che ho capito solo dopo averla vista andare storta. Un pulsante o è premuto o non lo è. Un asse non ha un vero stato di rilascio: una levetta consumata va alla deriva, l’hat di una croce direzionale riposa a 3,29, un grilletto resta a −1, e ognuno di loro può rispondere a una domanda che nessuno ha fatto, o impedire a un passo di concludersi per un motivo che nulla sullo schermo può spiegare. Non chiedere ha eliminato un’intera categoria di comportamenti inspiegabili.

Tenere premuta una direzione la ripete, a una velocità che puoi regolare, e puoi regolare anche la zona morta se la tua levetta va alla deriva.

Scrivere senza lettere

Poi arrivi a un campo di testo e il controller non ha niente da offrire. Accedere, dare un nome a un mazzo, cercare nel catalogo delle carte: tutto questo richiede caratteri che nessun controller possiede.

Così Conferma su un campo di testo apre una tastiera QWERTY completa sullo schermo. Sono pulsanti normali su uno strato normale, quindi la stessa navigazione ci si muove sopra e Indietro la chiude come qualsiasi altra cosa. Chi ha una tastiera vera non la vede mai.

Un dettaglio che non mi aspettavo contasse: la disposizione usa il vero sfalsamento fisico delle file, gli stessi spostamenti di un quarto di tasto di una tastiera ANSI. La navigazione legge la geometria visualizzata per decidere dove porta «su», quindi è lo sfalsamento a mettere la W sopra lo spazio tra la A e la S. I numeri tondi falliscono davvero: con uno sfalsamento di esattamente mezzo tasto, ogni tasto è alla stessa distanza dai due che ha sotto, e il pareggio lo decide l’ordine in cui il markup li ha messi per caso.

Che cosa ha trovato il controller nel resto del gioco

La cosa più utile di questo lavoro è ciò che ha portato alla luce. Un mouse permette di aggirare i problemi dell’interfaccia puntando direttamente ciò che si vuole. Un controller non lo permette, quindi l’interfaccia deve rendere espliciti quei rapporti, e in diversi punti si è scoperto che non lo faceva.

I mazzi salvati non erano punti di focus, il che significava che senza mouse non si poteva aprire un mazzo in nessun modo. Lo stesso valeva per i cimiteri e il terreno. Il Costruttore di mazzi ricostruiva le sue due colonne a ogni carta aggiunta, distruggendo il pulsante che avevi appena premuto e facendoti perdere il segno; ora ricorda la carta e l’azione e le ritrova. Le finestre di conferma e di avviso proprie del browser restano completamente fuori dal modello di focus dell’app, quindi sono state sostituite da finestre di dialogo nella pagina che si aprono sulla risposta sicura.

Nessuno di questi è un bug del controller. Sono bug dell’interfaccia che un puntatore compensava in silenzio, e correggerli ha migliorato il gioco anche per chi non toccherà mai un controller.

Steam, divani e il Deck

Lo stesso codice gira nel browser, nella versione per Windows usata su Steam e nella versione per macOS, e tutte e tre usano lo stesso sistema per i controller e la stessa logica di configurazione, anche se le impostazioni vengono salvate sul dispositivo e non nel tuo account.

Quello che ne deriva è semplice: un PC non è più solo una scrivania. La stessa versione funziona su un portatile, su un computer collegato a un televisore e dal divano con un controller in mano. Un gioco di carte si presta a questo meglio della maggior parte dei generi, perché la postura naturale per Ancient Duel è stare appoggiati allo schienale a pensare, non chinarsi in avanti a cliccare.

Sui dispositivi portatili come lo Steam Deck, la verità è che le fondamenta sono pronte e i test no. Steam Input può esporre l’input del controller tramite una mappatura standard compatibile con XInput, quindi il modello esistente è in linea di principio una base utile, e un gioco che non dà mai per scontato un mouse soddisfa un requisito importante per quel tipo di dispositivo. Non ho verificato Ancient Duel sull’hardware stesso, quindi non affermerò che lì funzioni. C’è anche una modalità TV che aggiunge un margine di sicurezza, perché alcune impostazioni dei televisori applicano ancora l’overscan e tagliano parte dell’immagine sui bordi, abbastanza da far finire fuori dallo schermo il pulsante per arrendersi.

Lo stesso ragionamento vale per qualsiasi piattaforma futura. Una versione per console richiederebbe molto più del lavoro sull’input: SDK, certificazione, servizi della piattaforma, pacchettizzazione, approvazione dello store. Ma c’è un ostacolo che si può togliere presto, ed è quello che riguarda ogni schermo: il gioco non deve dare per scontato che esista un mouse. Questo non rende niente pronto per una console. Tiene aperta una porta che sarebbe costoso riaprire più avanti.

Il mouse non è andato da nessuna parte

Niente di tutto questo sostituisce qualcosa. Mouse e tastiera funzionano esattamente come prima e su un computer restano più veloci. L’idea non è mai stata scegliere un dispositivo di input al posto di chi gioca.

Un duello giocato con il controller non è un duello diverso. Si seleziona la stessa carta, si sceglie lo stesso bersaglio, si prende la stessa decisione e se ne accettano le conseguenze. Cambia solo il modo in cui la decisione arriva al gioco, e meno Ancient Duel presume su ciò che hai in mano, più sono i posti in cui si può giocare quello stesso duello.

Daniel Rusu
Creatore e sviluppatore di Ancient Duel

Condividi Facebook X

Tutte le novità

© 2026 TWS