Hallo zusammen,
viele CPC-Spiele sind großartig, und dennoch kann ein guter Teil der Spieler sie nicht komfortabel spielen. Nicht wegen des Spiels selbst, sondern wegen der Tasten, auf die es reagiert. Ich habe das Thema bereits in Why make such great games if most people can’t play them properly? angesprochen, und ich möchte noch weiter gehen: die Probleme beschreiben und eine Lösung vorschlagen.
Das Ziel: Spielerkomfort
Jeder Spieler bringt seine eigenen Gewohnheiten mit, und ein Spiel ist dann komfortabel, wenn es zu ihnen passt. Zum Beispiel:
- linke Hand für Links/Rechts und rechte Hand für Oben/Unten oder umgekehrt;
- eine Raute („Diamond“) unter einer Hand;
- die Pfeiltasten;
- ein Joystick;
- Feuer in der Nähe des Daumens oder unter dem kleinen Finger.
Ein Spiel, das nur eine dieser Gewohnheiten akzeptiert, zwingt alle anderen dazu, ihre Hände umzugewöhnen oder aufzugeben. Ein Spiel, das alle auf einmal akzeptiert, braucht keine Tastenneubelegung: Jeder spielt einfach so, wie er es gewohnt ist.
Was schiefgeht
Selbst ein Spiel, das gute Tasten bietet, kann diese auf dem Setup eines anderen Benutzers einbüßen.
Buchstaben, die den Platz wechseln. WASD, QAOP und Co. setzen eine QWERTY-Tastatur voraus. Auf AZERTY (französische CPCs, französische PCs) tauschen A und Q die Plätze, ebenso Z und W, und M wandert. Auf QWERTZ (deutschen PCs) tauschen Y und Z. Ein Spiel, das mit QAOP gespielt wird, wird auf einer französischen Tastatur zu einem Rätsel, noch bevor es überhaupt angefangen hat.
Tasten, die ein Emulator irgendwo unterbringen muss. COPY, CLR und die Tasten f0 bis f9 des Ziffernblocks haben keinen offensichtlichen Platz auf einer PC-Tastatur, erst recht nicht auf einem Laptop. Heute habe ich My Roland ausprobiert (ein Projekt in Arbeit), bei dem Springen auf COPY liegt. Je nach Emulator landet COPY auf Alt oder auf Einfg (Insert). Ich bin mir nicht einmal sicher, ob ich das überhaupt noch als „kaum spielbar“ bezeichnen würde.
Ebenen dazwischen. Zwischen dem Finger des Spielers und deinem Spiel können liegen: das Tastaturlayout des Hosts, das Betriebssystem, ein Browser, das Mapping des Emulators (nach Position oder nach Symbol, was Arnoldemu „translated“ nennt), manchmal ein Remote-Desktop. Jede Ebene kann eine Taste verschieben. Das Auslesen physischer Tastenpositionen würde in einer sauberen Umgebung einen Teil davon lösen; in vielen Setups stellt die Schnittstelle diese aber gar nicht erst zur Verfügung, und das Programm erfährt nur, welches Symbol getippt wurde.
In einem Browser kann es noch schlimmer werden. Mit Firefox’ Einstellung „Resist Fingerprinting“ wird der Seite mitgeteilt, dass die Tastatur eine Standardtastatur (wahrscheinlich US) ist, egal was sie wirklich ist. Ich habe auf diese Weise einen CPC-Emulator direkt auf der Seite mit einer französischen Tastatur ausprobiert: Alle Buchstaben waren in Ordnung, aber die Zifferntasten lieferten falsche Zeichen oder gar nichts, und ich konnte nicht einmal ein " eingeben (Details).
Das Ergebnis: Ein Spiel funktioniert auf dem Setup seines Autors perfekt und ist auf dem eines anderen umständlich oder unspielbar.
Ein Lösungsvorschlag: Any-Setup-Tasten
Ich nenne es Any-Setup-Tasten: ein Tastenset, das zu jedem Spieler passt, unabhängig von seinen Gewohnheiten und seinem Setup: echter CPC in jeder Sprache, Desktop-Emulator, Web-Emulator. Zwei Regeln, die erste steht über allem:
- Nutze nur Buchstaben, die am selben Platz bleiben. Diese befinden sich auf QWERTY, AZERTY und QWERTZ an der gleichen Stelle:
B C D E F G H I J K L N O P R S T U V X. VermeideA Z Q W M(sie wandern auf AZERTY) undY(tauscht mitZauf QWERTZ). Ein Buchstabe aus dieser Liste wird gefunden, egal ob der Emulator nach Position oder nach Symbol mappt. - Gib jeder wichtigen Funktion mehrere Tasten, darunter Tasten, die jede Tastatur hat. Aktion auf Feuer, Leertaste,
RETURN,ENTERundCOPY. Menü oder Pause aufESC, zweites Feuer undPfür Kompatibilität mit dem GX-4000.
Wie man diese mehreren Tasten auswählt: Decke alle Gewohnheiten gleichzeitig ab. Joystick, Pfeiltasten, eine Hand pro Achse in beide Richtungen, eine Raute, die Tastenblöcke, die Spieler bereits kennen; Feuer unter einem Daumen und unter einem kleinen Finger. Niemand muss irgendetwas umdefinieren: starten und spielen.
Keine Routine zur Tastenneubelegung nötig. Spieler müssen nichts umdefinieren, also musst du kein Menü zur Neubelegung schreiben, testen und Speicher dafür bereitstellen – und die Spieler müssen sich vor dem Spielen nicht durch eines quälen. Nichts hält dich davon ab, zusätzlich eines anzubieten, aber kein Spieler sollte es brauchen.
Beispiel: Das Tastenset von Just Get 9
Hier ist, was Just Get 9 akzeptiert, alles gleichzeitig:
- Bewegen, je nachdem, was deinen Händen liegt:
- Pfeiltasten
- Joystick 1 oder Joystick 2
- eine Hand pro Achse, in beide Richtungen: linke Hand auf
V/Bfür Links/Rechts mit rechter Hand aufO/Kfür Oben/Unten, oder linke Hand aufD/Cfür Oben/Unten mit rechter Hand aufH/Jfür Links/Rechts - eine Raute („Diamond“) unter der rechten Hand:
Uoben,Nunten,Hlinks,Jrechts - eine Zeile im ZX-Stil:
4links,5unten,6oben,7rechts (die5678des ZX Spectrum um eine Taste nach links verschoben, sodass5und6ihre Joystick-2-Bedeutung behalten) - Amstrads Joystick-2-Tasten:
6oben,5unten,Rlinks,Trechts
- Aktion: unter einem Daumen (Leertaste,
COPY,ENTER), unter dem rechten kleinen Finger (RETURN), unter einem Zeigefinger (G,Yfür „Yes“) oder Feuer - Menü: zweites Feuer,
ESC,P(die Pause-Taste des GX-4000),F(zweites Feuer für Joystick 2)
Wo sich zwei Schemata eine Taste teilen, geben sie ihr dieselbe Bedeutung, sodass dich das Mischen nie überrascht. Aufgezählt auf einer CPC6128-Tastatur (● Aktion, □ Menü):
┏━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━━┓
┃ □ ┃ ┃ ┃ ┃ ← ┃ ↓ ┃ ↑ ┃ → ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
┣━━━┻━┳━┻━┳━┻━┳━┻━┳━┻━┳━┻━┳━┻━┳━┻━┳━┻━┳━┻━┳━┻━┳━┻━┳━┻━┳━┻━━━╋━━━╋━━━╋━━━┫
┃ ┃ ┃ ┃ ┃ ← ┃ → ┃ ● ┃ ↑ ┃ ┃ ↑ ┃ □ ┃ ┃ ┃ ┃ ┃ ┃ ┃
┣━━━━━┻┳━━┻┳━━┻┳━━┻┳━━┻┳━━┻┳━━┻┳━━┻┳━━┻┳━━┻┳━━┻┳━━┻┳━━┻┓ ● ┣━━━╋━━━╋━━━⫫
┃ ┃ ┃ ┃ ↑ ┃ □ ┃ ● ┃ ← ┃ → ┃ ↓ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
┣━━━━━━┻━┳━┻━┳━┻━┳━┻━┳━┻━┳━┻━┳━┻━┳━┻━┳━┻━┳━┻━┳━┻━┳━┻━┳━┻━━━━╋━━━╋━━━╋━━━⫫
┃ ┃ ┃ ┃ ↓ ┃ ← ┃ → ┃ ↓ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ↑ ┃ ┃
┣━━━━━━━━╋━━━┻━━┳┻━━━┻━━━┻━━━┻━━━┻━━━┻━━━┻━━━┻━━┳┻━━━┻━━━━━━╋━━━╋━━━╋━━━⫫
┃ ┃ ● ┃ ● ┃ ● ┃ ← ┃ ↓ ┃ → ┃
┗━━━━━━━━┻━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━┻━━━┻━━━┻━━━┛
Zwei ehrliche Ausnahmen in diesem Set. Y bricht Regel 1: Auf QWERTZ tut es einfach nichts, und es gibt sechs andere Aktionstasten. Die Zifferntasten benötigen auf einer AZERTY-Tastatur Shift: auf einem echten CPC und mit positionsbezogenem Mapping ist das fein, aber es kann in einem Web-Emulator fehlschlagen, wie im Fall „Resist Fingerprinting“ oben. Deshalb sind sie nie die einzige Möglichkeit, sich zu bewegen.
Müssen die Spieler all das erfahren? Just Get 9 erwähnt es im Spiel nicht einmal; die README-Datei im Download enthält die Liste und das Diagramm oben, und niemand hat sich beschwert. Spieler, die bestimmte Gewohnheiten haben, erkunden die Tastatur und finden etwas, das für sie funktioniert.
Du bist dran
- Wenn du Spiele schreibst: Bitte ziehe ein Any-Setup-Tastenset in Betracht. Das von Just Get 9 ist ein Beispiel; deins kann sich unterscheiden, solange es den beiden Regeln folgt.
- Wenn du spielst: Welche Spiele haben dir auf deinem Setup (Tastatursprache, Emulator, Web-Emulator) Probleme bereitet? Welche funktionieren einfach? Ich würde diese gerne sammeln und das Ergebnis vielleicht in eine CPCWiki-Seite verwandeln.
- Wenn du Emulatoren schreibst: Das ist ein verwandtes, aber separates Thema – symbolbasiertes Tastatur-Mapping. Ich habe darüber in Introducing in-page emulator on wiki pages geschrieben.
Danke fürs Lesen und viel Spaß beim (Any-Setup-)Spielen!

