Table of Contents

2DRTS Prototyp Nachrichten

Client

Der Client übermittelt grundsätzlich die Befehle, die der Spieler vergeben möchte. Jeder Befehl bekommt vom Server eine id zugewiesen, über die er identifiziert werden kann, diese id muss übermittelt werden, wenn ein bestehender Befehl aktualisiert (Position oder Verhalten geändert) wird, anderenfalls auf -1 gesetzt, um einen neuen Befehl anzulegen. Für jeden Befehl können Modifikationen auch in die Zukunft gesetzt werden. Wenn der Spieler einen Button betätigt, werden die bisherigen Versionen der Befehle mit ihren Zukunftsversionen ersetzt (falls solche existieren), wobei es mehrere Zukunftsversionen geben kann, die bei mehrmaligem Druck des Buttons der Reihenfolge nach aktiviert werden. Die aktuelle Version des Befehls trägt jeweils die 0, die zukünftigen Versionen dann 1, 2 etc. Zukunftsversionen können nur für bestehende Befehle angelegt werden und benutzen dieselbe id.

Befehl Platoon-Sammelpunkt

Bewirkt, dass sich Einheiten am genannten Punkt zu einem Platoon sammeln bzw. das bestehende Platoon zu einem neuen Ort bewegen.

Befehl Scout-Punkt

Bewirkt die Entsendung einiger Fernkämpfer an den genannten Punkt, um die Gegend im Auge zu behalten.

Befehl Ressourcenernte

Bewirkt, dass Arbeiter den angegebenen Ressourcenpunkt abbauen. Befehl kann nicht aktualisiert oder in die Zukunft geplant werden, nur gelöscht.

Befehl Hauptquartier reparieren

Weist die eigenen Arbeiter an, das Hauptgebäude zu reparieren.

Befehl löschen

Löscht den Befehl mit der angegebenen id.

Einheiten-Bauauftrag

Erteilt einen Auftrag, ein Kontigent des genannten Einheitentyps zu bauen.

Bauauftrag abbrechen

Bricht den genannten Bauauftrag wieder ab.

Zukunftsplanung weitersetzen

Setzt die Zukunftsplanung um einen Schritt weiter. Für alle Befehle mit Zukunftsversionen wird die Version n des Befehls durch die Version n+1 ersetzt. Die derzeit gültige Version des Befehls wird also gelöscht, und die Zahl der Zukunftsversionen verringert sich um 1.

Server

Der Server informiert die Clients über den aktuellen Stand des Spielgeschehens. Informationen zu Einheitenverbänden, von Spielern gegebene Befehle etc. sind grundsätzlich mit einer id versehen, über die sie identifiziert werden. ids, die der Client schon kennt, muss er aktualisieren, ansonsten handelt es sich um einen neuen Verband/Befehl. Informationen werden immer dann gesendet, wenn sich der Status ändert.

Spielernummer

Wird versandt, wenn alle Spieler verbunden sind und informiert den Spieler über seine Spielernummer. Der Spieler belegt dann auch die entsprechende Startposition im Level.

Status Hauptgebäude

Liefert aktuelle Informationen zum Hauptgebäude eines Spielers.

Vorhandene Ressourcen

Informiert den Client über die verfügbaren Ressourcen des betreffenden Spielers.

Einheitenzahl und Einheitenlimit

Informiert den Client über die Einheiten und das Einheitenlimit des betreffenden Spielers.

Einheitenverband

Beschreibt einen Verband von Einheiten, der auf der Karte unterwegs ist. Falls die ID neu ist, muss der Client einen neuen Verband anlegen, anderenfalls den bestehenden aktualisieren. Eine Nachricht mit size==0 bedeutet die Auflösung dieses Verbands.

Angriff auf Einheitenverband

Signalisiert, dass ein Einheitenverband einen anderen Verband angreift. Im Prototypen wird der angegriffene Verband einfach kontinuierlich Schaden nehmen, entsprechend der Größe der Verbände und der Einheitentypen. Der Client kann die laufende Attacke also irgendwie symbolisieren.

Angriff auf Hauptquartier

Signalisiert, dass ein Einheitenverband das Hauptquartier eines Spielers angreift.

Befehl Platoon-Sammelpunkt

Informiert über einen vom Spieler gesetzten Platoon-Sammelpunkt.

Befehl Scout-Punkt

Informiert über einen vom Spieler gesetzten Scout-Punkt.

Befehl Ressourcenernte

Informiert über einen Erntebefehl eines Spielers.

Befehl Hauptquartier reparieren

Informiert über einen Reparaturauftrag eines Spielers.

Befehl löschen

Informiert über einen nicht länger existierenden Befehl.

Bauauftrag

Informiert über einen Bauauftrag eines Spielers.