← Toate noutățile

Un joc tactic de cărți cu gamepad: cum funcționează controlul în Ancient Duel

Un joc tactic de cărți cu gamepad: cum funcționează controlul în Ancient Duel

Suportul de controller ține de obicei de jocuri despre mișcare și ochire. Ancient Duel n-are niciuna. E un joc de cărți: te uiți la o tablă, te gândești o vreme, apoi faci o singură alegere.

Exact de-asta i se potrivește un gamepad. Orice acțiune dintr-un duel se reduce la aceeași listă scurtă. Ce carte. Ce poziție. Ce țintă. Confirmă. Înapoi. Ăsta e vocabularul nativ al unui controller, și e o potrivire proastă pentru un dispozitiv al cărui talent principal e să arate spre pixeli oarecare.

Un controller nu trebuie să se dea drept mouse

Scurtătura tentantă e să lași stick-ul să împingă un cursor pe ecran. E rapid de construit și neplăcut de folosit: ajungi să plimbi un pointer peste pâslă goală, făcând muncă analogică pentru o alegere digitală.

Ancient Duel mută în schimb selecția. Stick-ul sau crucea trec de la un lucru care înseamnă ceva la altul — o carte din mână, o unitate de pe teren, o țintă, un buton, un tab — iar Confirmă activează ce e selectat în clipa aia. Nu țintești niciodată. Spui „cartea următoare", „aia", „da".

Tot stratul de input respectă o regulă pe care am fixat-o devreme și n-am încălcat-o: nu reimplementează niciodată o acțiune de joc. Mută focusul și lasă butonul care era deja acolo să-și facă treaba. Jocul era operabil de la tastatură încă din aprilie, de la niște lucrări de accesibilitate, deci suportul de controller n-a cerut deloc atingerea logicii de joc. E adevărat și reciproc: ce nu poate fi atins de la tastatură nu poate fi atins nici de la gamepad. Să faci ceva navigabil înseamnă să-l faci punct de focus, nu să scrii cod nou de input.

Tabla era deja o grilă

Aici un joc de cărți ajută într-un fel în care o lume 3D nu poate. Câmpul de luptă din Ancient Duel e o structură fixă și finită: patru poziții de unități de fiecare parte, un slot de Comandant la mijloc, un rând de strategie, o mână, două cimitire, o zonă de teren. Nu există spațiu continuu de traversat.

Așa că așezarea vizuală poate pur și simplu să devină navigația. Stânga și dreapta merg de-a lungul unui rând, sus și jos trec între mână și teren, iar butoanele de umăr sar zone întregi deodată, în loc să te plimbe prin tot ce e între. Stick-ul drept derulează, iar Start deschide setările de controller.

Focusul e cursorul

Cu mouse-ul, jucătorul știe mereu spre ce arată, pentru că mâna lui face arătarea. Scoate pointer-ul și interfața trebuie să răspundă permanent la trei întrebări: ce e selectat, ce va face Confirmă cu lucrul ăla și ce va anula Înapoi.

Sună evident, și acolo s-a dus cea mai mare parte din munca migăloasă. Un dialog care se deschide cu selecția pe butonul de închidere e navigabil tehnic și inutil practic: jocul tocmai a întrebat ce carte arunci, iar evidențierea stă pe ✕. Dialogurile se deschid acum pe prima alegere reală, iar modurile de țintire pun selecția pe prima țintă eligibilă, în loc să le evidențieze doar pe toate — ceea ce era în regulă cu un pointer și însemna vânătoare fără el.

Suportul bun de controller nu e starea în care fiecare buton poate fi atins. E starea în care încetezi să te mai gândești cum ajungi la el.

Nu te încrede niciodată în indexul unui buton

Asta e partea pe care am subestimat-o grav.

Un controller de PC poate raporta că folosește aranjamentul standard și apoi să-și enumere butoanele cum are chef firmware-ul lui. Padul pe care testez face exact asta și, ca să fie mai rău, are tipărit 1 / 2 / 3 / 4 în sensul acelor de ceas, pornind de sus, în loc de A/B/X/Y. Deci în spatele fiecărei apăsări se ascund trei lucruri diferite, iar doar primul e cu adevărat cunoscut: inputul brut, poziția fizică a butonului pe plastic și eticheta tipărită lângă el. Un joc care leagă „confirmă" de „butonul 0" ghicește două din trei.

De-aia Ancient Duel are un expert de calibrare care nu deduce niciodată nimic dintr-un index. Învață poziția fizică din mâinile tale și eticheta tipărită din ce îi spui tu că scrie pe dispozitiv. Etichetele se aleg dintr-o listă, nu se tastează, pentru că un controller n-are litere pe el — și nu sunt decorative: dacă îi spui jocului că butonul de jos are scris „B" iar cel din dreapta „A", ai în mână hardware cu convenție Nintendo, orice ar crede browserul, iar confirmă și anulează se inversează corespunzător.

Un control pe care îl sari rămâne mut. Nu există revenire la un index ghicit, pentru că un buton de umăr care confirmă o predare e exact eșecul pentru care există calibrarea.

O calibrare care nu poate cere un mouse

În toate astea e îngropat un paradox. Jucătorul al cărui controller e mapat greșit e exact cel care are nevoie de ecranul de calibrare și exact cel care nu poate naviga un meniu obișnuit ca să ajungă la el.

Așa că regula pe care o urmează tot designul e că trebuie să poți calibra, eticheta, salva, redeschide și repara un controller fără mouse și fără tastatură. Alea merg pe desktop ca o comoditate; nimic nu are voie să le ceară.

În practică asta înseamnă că expertul se deschide cu „apasă orice buton ca să începi" și acceptă orice buton brut de pe orice pad conectat, iar apăsarea aia decide și care controller deține sesiunea. Urmează confirmă și anulează, singurele care nu pot fi sărite. Din a treia întrebare încolo, butonul pe care tocmai l-ai numit drept butonul din dreapta te duce înapoi cu un pas, deci apăsându-l de destule ori ieși din expert — singura ieșire care nu cere un pointer. Fiecare pas de captură avansează singur, pentru că un jucător căruia tocmai i s-a spus să apese butonul de jos n-are cum să apese și „Următorul".

De ce nu întreabă niciodată despre stick

Opt întrebări, și fiecare e un buton. Nimic direcțional nu e întrebat.

Parțial pentru că direcțiile sunt partea sigură: pe un controller cu mapare standard, stick-ul stâng ajunge pe primele două axe, ceea ce face inputul direcțional mult mai previzibil decât butoanele pe care un producător le-a numerotat cum i-a convenit. Mai ales însă din ceva ce am înțeles abia după ce l-am văzut eșuând. Un buton ori e apăsat, ori nu. O axă n-are o stare de repaus care să însemne ceva — un stick uzat rătăcește, o cruce stă la 3,29, un trigger se așază la −1 — și oricare dintre astea poate răspunde la o întrebare pe care n-a pus-o nimeni, sau poate refuza să lase un pas să se încheie dintr-un motiv pe care nimic de pe ecran nu-l explică. Neîntrebând, a dispărut o categorie întreagă de comportament inexplicabil.

Ținerea unei direcții se repetă, la o viteză pe care o poți seta, la fel ca zona moartă, dacă stick-ul tău are derivă.

Cum scrii fără litere

Apoi dai peste un câmp de text, iar un controller n-are ce oferi. Autentificarea, numele unui pachet, căutarea în pool-ul de cărți: toate cer caractere pe care niciun gamepad nu le are.

Așa că Confirmă pe un câmp de text deschide o tastatură QWERTY completă pe ecran. Sunt butoane obișnuite într-un strat obișnuit, deci aceeași navigare se plimbă prin ea, iar Înapoi o închide ca pe orice altceva. Un jucător care are tastatură reală n-o vede niciodată.

Un detaliu la care nu mă așteptam să conteze: aranjamentul folosește decalajul fizic real, aceleași offseturi de un sfert de unitate pe care le are o tastatură ANSI. Navigarea citește geometria randată ca să decidă unde duce „sus", deci decalajul e cel care pune W deasupra spațiului dintre A și S. Cifrele mai rotunde chiar eșuează: un decalaj de exact jumătate de unitate lasă fiecare tastă la distanță egală față de cele două de dedesubt, iar egalitatea se rezolvă după ordinea din markup.

Ce a găsit controllerul în restul jocului

Cel mai util lucru din munca asta e ce a scos la iveală. Mouse-ul îi permite jucătorului să treacă peste problemele de interfață arătând direct spre ce vrea. Un controller nu poate, deci interfața trebuie să facă relațiile alea explicite — iar câteva locuri nu le făceau.

Pachetele salvate nu erau puncte de focus, ceea ce însemna că un pachet nu putea fi deschis deloc fără mouse. Cimitirele și terenul, la fel. Constructorul de pachete își reconstruia ambele coloane când adăugai o carte, distrugând butonul pe care tocmai îl apăsaseși și pierzându-ți locul; acum reține cartea și acțiunea și le regăsește. Dialogurile proprii ale browserului stau complet în afara modelului de focus al aplicației, așa că au fost înlocuite cu unele din pagină, care se deschid pe răspunsul sigur.

Niciuna nu e o problemă de controller. Sunt probleme de interfață pe care un pointer le compensa discret, iar rezolvarea lor a făcut jocul mai bun și pentru cine n-o să atingă niciodată un gamepad.

Steam, canapele și Deck-ul

Același cod rulează în browser, în build-ul de Windows folosit pentru Steam și în cel de macOS, iar toate trei folosesc același sistem de controller și aceeași logică de configurare — deși setările în sine se păstrează pe dispozitiv, nu pe cont.

Ce câștigi e simplu: un PC încetează să fie doar un birou. Același build merge pe un laptop, pe o mașină legată la televizor și de pe o canapea, cu un pad. Un joc de cărți se potrivește cu asta mai bine decât majoritatea genurilor, pentru că postura naturală pentru Ancient Duel e să stai pe spate și să te gândești, nu să te apleci înainte și să dai clic.

Pentru dispozitive portabile ca Steam Deck, poziția onestă e că temelia e făcută, testarea nu. Steam Input poate expune inputul controllerului printr-o mapare standard, compatibilă XInput, deci modelul deja existent e o bază utilă în principiu, iar un joc care nu presupune niciodată un mouse e o precondiție importantă pentru clasa aia de dispozitive. Nu l-am verificat pe hardware-ul respectiv, deci nu voi susține că funcționează acolo. Mai există și un mod TV care adaugă o margine sigură, pentru că unele configurații de televizor încă aplică overscan și taie o parte din marginile imaginii — destul cât să scoată butonul de predare de pe ecran.

Același raționament se aplică oricărei platforme viitoare. O versiune de consolă ar cere mult mai mult decât muncă de input: SDK-uri, certificare, servicii de platformă, împachetare, aprobare în magazin. Dar o barieră poate fi înlăturată devreme, și e cea care atinge fiecare ecran — jocul n-ar trebui să presupună că există un mouse. Asta nu face nimic pregătit pentru consolă. Ține deschisă o ușă care e scumpă de redeschis mai târziu.

Mouse-ul n-a plecat nicăieri

Nimic din toate astea nu înlocuiește ceva. Mouse-ul și tastatura funcționează exact ca înainte și, pe desktop, sunt în continuare mai rapide. Ideea n-a fost niciodată să aleg eu dispozitivul de input în locul jucătorului.

Un duel jucat cu un controller nu e alt duel. Se selectează aceeași carte, se alege aceeași țintă, se ia și se suportă aceeași decizie. Se schimbă doar felul în care alegerea ajunge la joc — iar cu cât Ancient Duel presupune mai puține despre ce ai în mâini, cu atât în mai multe locuri poate fi jucat același duel.

Daniel Rusu
Creator și dezvoltator al Ancient Duel

Distribuie Facebook X

Toate noutățile