Ciao a tutti,
Molti giochi per CPC sono fantastici, eppure una buona fetta di giocatori non riesce a giocarci comodamente. Non per via del gioco in sé, ma per via dei tasti che utilizza. Ne ho parlato in Why make such great games if most people can’t play them properly?, e vorrei andare oltre: descrivere i problemi e proporre una soluzione.
L’obiettivo: il comfort del giocatore
Ogni giocatore ha le sue abitudini, e un gioco è comodo quando vi si adatta. Per esempio:
- mano sinistra per sinistra/destra e mano destra per su/giù, o il contrario;
- una disposizione a diamante sotto una mano;
- i tasti freccia;
- un joystick;
- il tasto di sparo vicino al pollice, o sotto il mignolo.
Un gioco che accetta una sola di queste abitudini costringe tutti gli altri a rieducare le proprie mani o a rinunciare. Un gioco che le accetta tutte contemporaneamente non ha bisogno di alcuna ridefinizione dei tasti: ogni giocatore gioca semplicemente nel modo in cui è già abituato.
Cosa va storto
Anche un gioco che offre un’ottima configurazione di tasti può risultare inutilizzabile sulla configurazione di un altro utente.
Lettere che si spostano. WASD, QAOP e simili presuppongono una tastiera QWERTY. Su AZERTY (CPC francesi, PC francesi), A e Q si scambiano di posto, così come Z e W, e la M si sposta. Su QWERTZ (PC tedeschi), Y e Z si scambiano. Un gioco che si gioca con QAOP diventa un rompicapo su una tastiera francese ancora prima di iniziare.
Tasti che un emulatore deve posizionare da qualche parte. COPY, CLR e i tasti da f0 a f9 del tastierino numerico non hanno un posto ovvio su una tastiera PC, e ancora meno su un laptop. Oggi ho provato My Roland, un lavoro in corso, dove il salto è assegnato a COPY. A seconda dell’emulatore, COPY finisce su Alt o su Ins. Non sono nemmeno sicuro di potergli dare la sufficienza in quanto a giocabilità.
I livelli intermedi. Tra il dito del giocatore e il tuo gioco possono esserci: il layout di tastiera dell’host, il sistema operativo, un browser, il mapping dell’emulatore (per posizione o per simbolo, che Arnoldemu chiama “tradotto”), a volte un desktop remoto. Ogni livello può spostare un tasto. Leggere le posizioni fisiche dei tasti risolverebbe in parte il problema, in un ambiente normale; in molte configurazioni l’interfaccia semplicemente non le fornisce, e il programma legge solo quale simbolo è stato digitato.
In un browser la situazione può peggiorare. Con l’impostazione “resist fingerprinting” di Firefox, alla pagina viene detto che la tastiera è standard (probabilmente US) a prescindere da quale sia quella reale. Ho provato un emulatore CPC integrato nella pagina in questo modo da una tastiera francese: tutte le lettere andavano bene, ma i tasti numerici davano caratteri sbagliati o niente del tutto, e non riuscivo nemmeno a digitare virgolette " (dettagli).
Il risultato: un gioco funziona perfettamente sulla configurazione del suo autore, ed è scomodo o injocabile su quella di qualcun altro.
Una proposta di soluzione: i tasti universali (any-setup keys)
Li chiamo tasti universali (any-setup keys): un set di tasti che si adatta a ogni giocatore, indipendentemente dalle sue abitudini e dalla sua configurazione: CPC reale di qualsiasi lingua, emulatore desktop, emulatore web. Due regole, la prima sopra ogni cosa:
- Usa solo lettere che rimangono al loro posto. Queste si trovano nello stesso punto su QWERTY, AZERTY e QWERTZ:
B C D E F G H I J K L N O P R S T U V X. EvitaA Z Q W M(si spostano su AZERTY) eY(si scambia conZsu QWERTZ). Una lettera da questo elenco viene trovata sia che l’emulatore mappi per posizione che per simbolo. - Assegna a ogni funzione importante diversi tasti, inclusi tasti presenti su ogni tastiera. Azione su sparo, barra spaziatrice,
RETURN,ENTEReCOPY. Menu o pausa suESC, secondo tasto di sparo, ePper compatibilità con il GX-4000.
Come scegliere questi diversi tasti: soddisfare ogni abitudine contemporaneamente. Joystick, tasti freccia, una mano per asse in entrambe le direzioni, disposizione a diamante, i gruppi di tasti che i giocatori conoscono già; sparo sotto un pollice e sotto un mignolo. Nessuno deve ridefinire nulla: avvii e giochi.
Nessuna routine di ridefinizione tasti da scrivere. I giocatori non hanno bisogno di ridefinire nulla, quindi non devi scrivere, testare e trovare memoria per un menu di ridefinizione, e i giocatori non devono passarci prima di giocare. Nulla ti impedisce di offrirne uno comunque, ma nessun giocatore dovrebbe averne bisogno.
Esempio: il set di tasti di Just Get 9
Ecco cosa accetta Just Get 9, tutto contemporaneamente:
- Movimento, qualunque sia la combinazione più comoda per le tue mani:
- tasti freccia
- joystick 1 o joystick 2
- una mano per asse, in entrambi i sensi: mano sinistra su
V/Bper sinistra/destra con mano destra suO/Kper su/giù, oppure mano sinistra suD/Cper su/giù con mano destra suH/Jper sinistra/destra - un diamante sotto la mano destra:
Usu,Ngiù,Hsinistra,Jdestra - una riga in stile ZX:
4sinistra,5giù,6su,7destra (i tasti5678dello ZX Spectrum spostati di un tasto a sinistra, così5e6mantengono il loro significato da joystick 2) - i tasti per il joystick 2 dell’Amstrad:
6su,5giù,Rsinistra,Tdestra
- Azione: sotto il pollice (barra spaziatrice,
COPY,ENTER), sotto il mignolo destro (RETURN), sotto l’indice (G,Yper “yes”), oppure sparo - Menu: secondo tasto di sparo,
ESC,P(il tasto pausa del GX-4000),F(secondo tasto di sparo del joystick 2)
Dove due schemi condividono un tasto, gli danno lo stesso significato, così mischiarli non crea mai sorprese. Disegnato sulla tastiera di un CPC6128 (● azione, □ menu):
┏━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━━┓
┃ □ ┃ ┃ ┃ ┃ ← ┃ ↓ ┃ ↑ ┃ → ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
┣━━━┻━┳━┻━┳━┻━┳━┻━┳━┻━┳━┻━┳━┻━┳━┻━┳━┻━┳━┻━┳━┻━┳━┻━┳━┻━┳━┻━━━╋━━━╋━━━╋━━━┫
┃ ┃ ┃ ┃ ┃ ← ┃ → ┃ ● ┃ ↑ ┃ ┃ ↑ ┃ □ ┃ ┃ ┃ ┃ ┃ ┃ ┃
┣━━━━━┻┳━━┻┳━━┻┳━━┻┳━━┻┳━━┻┳━━┻┳━━┻┳━━┻┳━━┻┳━━┻┳━━┻┳━━┻┓ ● ┣━━━╋━━━╋━━━┫
┃ ┃ ┃ ┃ ↑ ┃ □ ┃ ● ┃ ← ┃ → ┃ ↓ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
┣━━━━━━┻━┳━┻━┳━┻━┳━┻━┳━┻━┳━┻━┳━┻━┳━┻━┳━┻━┳━┻━┳━┻━┳━┻━┳━┻━━━━╋━━━╋━━━╋━━━┫
┃ ┃ ┃ ┃ ↓ ┃ ← ┃ → ┃ ↓ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ↑ ┃ ┃
┣━━━━━━━━╋━━━┻━━┳┻━━━┻━━━┻━━━┻━━━┻━━━┻━━━┻━━━┻━━┳┻━━━┻━━━━━━╋━━━╋━━━╋━━━┫
┃ ┃ ● ┃ ● ┃ ● ┃ ← ┃ ↓ ┃ → ┃
┗━━━━━━━━┻━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━┻━━━┻━━━┻━━━┛
Ci sono due eccezioni trasparenti in questo set. La Y infrange la regola 1: su QWERTZ semplicemente non fa nulla, e ci sono altri sei tasti per l’azione. I tasti numerici richiedono Maiusc su una tastiera AZERTY: va bene su un CPC reale e con il mapping posizionale, ma possono fallire in un emulatore web, come nel caso del “resist fingerprinting” sopra. Ecco perché non sono mai l’unico modo per muoversi.
C’è bisogno di spiegare tutto questo ai giocatori? Just Get 9 non lo menziona nemmeno nel gioco; il file README nel download contiene l’elenco e lo schema qui sopra, e nessuno si è mai lamentato. I giocatori che hanno abitudini specifiche esplorano la tastiera e trovano qualcosa che funziona per loro.
A voi la parola
- Se scrivete giochi: prendete in considerazione un set di tasti universale. Quello di Just Get 9 è un esempio; il vostro può differire, purché segua le due regole.
- Se giocate: quali giochi vi hanno dato problemi con la vostra configurazione (lingua della tastiera, emulatore, emulatore web)? Quali invece funzionano senza problemi? Mi piacerebbe raccogliere queste informazioni e magari trasformare il risultato in una pagina della CPCWiki.
- Se scrivete emulatori: questo è un argomento correlato ma distinto, ovvero il mapping dei tasti basato sui simboli. Ne ho scritto in Introducing in-page emulator on wiki pages.
Grazie per la lettura, e buon divertimento (universale)!

