Skip to main content

Support

Der Support stellt die aktive Verteidigung dar. Der Support wurde für Bordeaux im Rahmen des Taskmanager_Bod23 entwickelt und dort erstmalig eingesetzt. Das Hauptziel des Supports besteht in der Manndeckung, durch die Pässe verhindert und abgefangen werden sollen. Neben dem Support besteht die Verteidigung auch noch aus der Flexwall, die den Strafraum vor direkten Torschüssen schützt, falls ein Pass nicht abgefangen werden kann.

Da sich die Strategie schnell und stetig ändert, ist dieser Artikel als ein Einstieg in die Thematik zu verstehen und kann keinen Anspruch auf Aktualität erheben. Hierzu ist der tatsächliche Code heranzuziehen.

Grundprinzip

Das Ziel ist die Manndeckung, bei der verhindert werden soll, dass Pässe zu gefährlichen Gegnern gespielt werden können. Hierzu positionieren sich die Roboter nahe des zu deckenden Spielers auf die Sichtlinie vom Ball zu diesem Spieler.
Um die Entscheidung zu treffen, welche Gegner gedeckt werden sollen, müssen zunächst die Gefahrenlevel (=Threat) der Gegner eingeschätzt werden. Hierzu stellt der Observer Funktionen zur Verfügung, die im Allgmeinen auf der Nähe des Roboters zum Tor und zum Ball basieren. Ausnahmen stellen der Torwart und der Ballführende Spieler dar, die nicht berücksichtigt werden sollten, da eine Deckung dieser im Allgemeinen nicht sinnvoll ist.

  1. Die verbleibenden Gegner werden nach absteigendem Threat geordnet. Im Allgmeinen kann davon ausgegangen werden, dass die Anzahl der Supporter geringer als die der Gegner ist, weshalb nicht alle Gegner gedeckt werden können. Stattdessen werden nur die Gegner mit hohem Threat betrachtet, der Rest verworfen.
  2. Es wird für jeden zu verteidigenden Gegner die Zielposition geschätzt; Diese liegt etwa bei dem Gegner, mit einem Offset in Richtung Ball. Dieser Schritt sollte in zukünftigen Softwareversionen direkt von der Pfadplanung übernommen werden.
  3. Es wird eine Kostenmatrix aufgestellt, die die Distanzen von jedem Supporter zu jeder Zielposition beinhaltet. Diese ist die Basis für den Munkres Algorithmus, mit dem eine ideale Zuordnung der Roboter zu den Zielen gefunden wird. Hier hat sich als Kostenmaß die euklidische Distanz bewährt, da Roboter im Allgemeinen versuchen, bei ihrem aktuellen Ziel zu verbleiben, auch wenn sich die zu deckenden Gegner ändern.
  4. Die Roboter werden gemäß der Ergebnisse des Munkres-Algorithmus auf die verschiedenen Gegner verteilt.

Durch diesen Vorgang werden die n gefährlichsten Gegner von n Supportern gedeckt. Die Deckung ist dabei jedoch nur als eine Vorpositionierung zu verstehen. Sollte der Gegner dennoch einen Pass-Versuch unternehmen, so wird dieser oft in den Lauf erfolgen, wodurch an dem Supporter vorbeigespielt wird. Daher sollten die Supporter Intercept-Mannöver durchführen, sobald ein Schuss in Richtung des Roboters detektiert wird, um den Ball aktiv abzufangen.

Support in der Praxis

Im folgenden Video wird die Funktion des Supports in einem Simulationsszenario demonstriert:

support.gif

Erfahrungen und Kritik

  • Das Verfahren hat sich in der Vergangenheit allgemein als sinnvoll erwiesen. Das Abfangen von Pässen ist absolut kritisch, da so Torschüsse frühzeitig verhindert werden. Kann der Gegner ungestört passen, so gibt ihm das die Freiheit Lücken in der Verteidigung zu erspielen und auszunutzen. Der Support behindert dabei die Freiheiten des Gegners.
  • Da der Suppport im Spielfeld und meist fern vom Strafraum agiert, können die Spieler auch schnell in die Offensive wechseln, wenn ein Ball erfolgreich abgefangen wird, um so einen Konter durchzuführen.
  • Der Support versucht stets die aktuelle Position des Gegners zu decken. Dies berücksichtigt dessen Fahrt nicht und führt dazu, dass wir leicht hinterherhinken.
  • Wenn sich Gegner "verklumpen", so führt dies dazu, dass ggfs. einige Support versuchen die Gegner zu decken und dabei die Klumpenbildung verstärken. Dies ist nicht sinnvoll, da sich die Roboter dabei gegenseitig behindern und dies keinen signifikanten Mehrwert hat.
  • Es hat sich als sinnvoll erwiesen, neben Torwart und Ballführer auch die gegnerischen Verteidiger auszuschließen, bzw. die Threat-Berechnung so zu gestalten, dass diese nicht berücksichtigt werden. Hier sollten alle Spieler ausgeschlossen werden, die sich im oder um den gegnerischen Strafraum befinden.

Weiterentwicklungen

Aktuell bleibt das Konzept für Eindhoven unverändert.

Ideen für zukünftige Weiterentwicklungen

  • Berücksichtigung der Gegnergeschwindigkeit: Es sollte abgeschätzt werden, wo der Gegner in den nächsten x ms sein wird und diese Position gedeckt werden. Dies sollte das Abfangen von Pässen in den Lauf verbessern.
  • Verbesserung des Threat-Levels: Gegner die sehr nah am Ball sind, müssen ggfs. nicht gedeckt werden, da sie keine große zusätzliche Gefahr darstellen.
  • Verbesserung des Intercept-Verhaltens: Der ideale Intercept Punkt sollte sinnvoller bestimmt werden, sodass der Roboter schnellstmöglich den Ball erhält. Außerdem wäre es sinnvoll, den Punkt so zu wählen, dass er weit weg von Gegnern ist, damit diese den folgenden Konter nicht so einfach behindern können.
  • Clusterverteidigung: ähnlich wie beim Flexwall-Algorithmus können ggfs. Gegner zusammengefasst und gemeinsam verteidigt werden. Dies reduziert die Anzahl an notwendigen Support-Spielern.