Journal
Das Kampfsystem: eine erste Version
Ein Skill, ein Schwert, Trainingsziele – und ein Server, der über jeden Treffer entscheidet. Was die erste Version des Kampfsystems kann, was wir dabei gelernt haben und was noch fehlt.
Wie sich ein Schlag anfühlen soll
Für den allerersten Angriff war unsere Vorstellung bewusst einfach: Man drückt eine Taste, die Figur holt aus und schlägt zu. Steht etwas vor ihr, zuckt es zusammen und verliert sichtbar Leben. Der Schlag kostet etwas und braucht kurz, bis er wieder bereit ist – man kann ihn nicht endlos drücken.
Die Wucht soll aus Animation, Effekt und Ton entstehen, nicht aus Kamerawackeln, Zeitlupe oder Trefferzahlen. Und alle anderen Spieler sollen denselben Schlag sehen wie der, der ihn ausführt. Ohne das weiß in einer Gruppe niemand, wer gerade zuschlägt.
Was heute funktioniert
Die erste Version hat genau einen Skill: den Schwertschlag, auf Slot 1 und der linken Maustaste. Er kostet Mana und hat eine kurze Abklingzeit. Im Kampf lädt sich Mana nicht wieder auf, erst danach – wer lange am Stück zuschlägt, dem geht es irgendwann aus. Ein Treffer zeigt sich mit Funken und Ton, und im Target-HUD sinkt das Leben des Ziels. Die Trainingspuppe blitzt bei jedem Treffer kurz auf und zuckt zurück; nach genug Treffern kippt sie um und steht nach einer Weile wieder auf.
Wer was entscheidet, ist dabei klar verteilt. Der eigene Rechner meldet nie einen Treffer, er sagt nur: Ich schlage jetzt. Ob der Schlag beginnen darf, wen er trifft und wie viel Schaden er macht, entscheidet allein der Server, und nur dort entsteht Schaden. Damit sich der Schlag trotzdem direkt anfühlt, zeigt der eigene Rechner die Animation sofort, ohne auf die Antwort zu warten; lehnt der Server ab, bricht sie ab.
Geprüft wird das nicht mit einem Spieler allein, sondern mit eigenem Server und zwei Spielern, dazwischen 70 bis 80 Millisekunden künstliche Verzögerung je Richtung und zwei Prozent Paketverlust. Das läuft auf einem Rechner, nicht über das Internet – aber es zeigt Fehler, die mit nur einem Spieler nie auffallen.


Was wir dabei gelernt haben
Die Animation darf die Figur nicht bewegen. Die erste Platzhalter-Animation des Schlags trug ihre eigene Bewegung mit. Unter Verzögerung und Paketverlust blieb die Figur dadurch hängen. Seitdem laufen alle Kampf- und Bewegungsanimationen an Ort und Stelle; bewegt wird die Figur nur von der Bewegungslogik, die auch der Server nachrechnet. Soll ein Skill später bewegen, etwa ein Sprungangriff, kommt die Bewegung aus dem Code.
Was zur Bewegung gehört, muss mit der Bewegung reisen. Während des Schlags wird die Figur kurz abgebremst. Anfangs setzten der eigene Rechner und der Server diese Bremse jeweils zu ihrer eigenen Zeit; bei Paketverlust passte das nicht zusammen, und der Server korrigierte den Angreifer. Heute reist die Bremse mit jedem Bewegungsschritt mit, und der Server spielt sie genauso nach.
Andere sehen, was der Server sieht. Brach man einen Schlag im Nachlauf durch Laufen ab, endete die Animation zunächst nur beim Angreifer selbst. Auf dem Server lief sie weiter und damit auch bei allen anderen. Sie sahen einen Moment lang einen Oberkörper in Schlagpose, während die Figur längst weiterlief. Auch das ist behoben.

Keiner dieser Fehler fällt auf, solange man allein spielt. Deshalb prüfen wir jeden Schritt mit zwei Spielern.
Was noch fehlt
Die erste Version ist ein Anfang, kein fertiges Kampfsystem. Es gibt einen Skill, Trainingsziele, die sich nicht wehren, und ein Schwert, das bisher nur zu sehen ist: Ein Waffensystem dahinter fehlt noch. Gegner mit eigener KI gibt es noch nicht, Kämpfe zwischen Spielern auch nicht, und ausbalanciert ist noch nichts. Offen ist auch, wie Treffer gegen Gegner in Bewegung unter Verzögerung fair bleiben; gegen stehende Trainingsziele fällt das noch nicht ins Gewicht.
Als Nächstes stehen Skills und Waffen an: bis zu acht Skills auf der Leiste, und welche davon gehen, soll die Waffe in der Hand bestimmen. Für das Schwert sind weitere Skills bereits ausgewählt, gebaut ist davon noch keiner. Danach sollen Gegner kommen, die sich wehren, und mit ihnen Ausweichen, Blocken und Parieren. Einen Termin dafür gibt es nicht.
