Programmierwettbewerb für
Schülerinnen und Schüler
Oktober 2025 – Juni 2026

Stage 4: Signal Array

Zeitraum: 16. März 2026 – 19. April 2026 (5 Wochen)

Signal Array v0.2

ab 25.03.2026

Es gibt ein paar kleinere Änderungen an der Stage, die die Antennen betreffen:

Antennen können jetzt nur noch in Wänden platziert werden, damit es nicht mehr passieren kann, dass ein Bot einen anderen Bot aus Versehen einsperrt. Außerdem können Antennen jetzt auch auf Randfeldern der Arena platziert werden. Das Entfernen von Antennen ist jetzt nicht mehr möglich, und es gibt immer mindestens drei Antennen.

Signal Array v0.1

ab 16.03.2026

Mit der neuen Stage 4: »Signal Array« kommt eine neue strategische Komponente ins Spiel: Dein Bot kann nun eigene Infrastruktur in der Arena aufbauen. Antennen helfen bei der Trilateration von Gems, können aber auch verwendet werden, um das Terrain taktisch zu verändern.

Antennen platzieren

Deinen Vorrat an Antennen erfährst du im ersten Tick unter config/max_antennas. Solange du noch Antennen im Vorrat hast, kannst du jederzeit eine Antenne auf ein benachbartes Feld setzen. Dafür stehen vier neue Befehle zur Verfügung:

PAN   PAE   PAS   PAW

Diese Befehle platzieren eine Antenne auf dem Feld nördlich, östlich, südlich oder westlich von deinem Bot (z. B. PAN = »Place Antenna North«). Antennen können sowohl in Wänden als auch auf freien Feldern platziert werden, aber nicht auf Gems, anderen Bots oder bereits vorhandenen Antennen.

Alle Antennen blockieren den Weg und tauchen daher in walls auf. Zusätzlich erscheinen sie – sofern sie im Sichtbereich deines Bots liegen – im neuen Array antennas. Achtung: Antennen blockieren zwar den Weg, aber nicht die Sicht. Achtung: Es ist nicht möglich, eine Antenne auf einem Randfeld der Arena zu platzieren.

Signale empfangen

Du kannst die Signale deiner eigenen Antennen auslesen, unabhängig davon, wo sich dein Bot gerade befindet. Dadurch kannst du ein Netzwerk aus Antennen aufbauen. Die Signale deiner Antennen findest du im Array antenna_signals, das für jede deiner Antennen deren Position und Signalstärke enthält.

Antennen entfernen

Du kannst eine Antenne auf einem Nachbarfeld auch wieder entfernen – unabhängig davon, ob es sich um deine oder um eine fremde Antenne handelt. Dafür stehen folgende Befehle zur Verfügung:

RAN   RAE   RAS   RAW

Diese Befehle entfernen eine Antenne auf dem Feld nördlich, östlich, südlich oder westlich von deinem Bot (z. B. RAN = »Remove Antenna North«). Das Entfernen einer Antenne kostet eine Antenne aus deinem Vorrat. Wenn du also keine Antennen mehr übrig hast, kannst du auch keine Antennen mehr entfernen.

Das Feld, auf dem die entfernte Antenne stand, wird anschließend wieder passierbar.


Hier kannst du Tick für Tick sehen, wie ein einfacher Bot die Stage spielt und welche Daten er dabei bekommt. Die tatsächliche Größe der Arena kann abweichen, hier soll nur das Prinzip verdeutlicht werden.

Stage 3: Resonance

Zeitraum: 09. Februar 2026 – 15. März 2026 (5 Wochen)

Resonance v0.2

ab 17.02.2026

Es gibt ein paar kleinere Änderungen an der Stage:

Normalverteiltes Rauschen

Um das Rauschen realistischer zu modellieren, wird es jetzt nicht mehr gleichverteilt, sondern normalverteilt mit einem Mittelwert von 0 und einer Standardabweichung von signal_noise * 0.577350 berechnet. Dadurch ist die Wahrscheinlichkeit höher, dass das Rauschen einen kleineren Betrag hat, und es gibt seltener extreme Werte – wenn sie allerdings auftauchen, können sie auch deutlich größer sein als vorher (die Wahrscheinlichkeit dafür ist aber gering).

Channel Cooldown

Wenn ein Gem verschwindet oder eingesammelt wird, bleibt der entsprechene Channel für mindestens einen Tick frei, bevor er von einem neuen Gem belegt werden kann.

Kleinerer Sichtbereich

Die Werte für vis_radius sind jetzt auf den Bereich von 3 bis 7 reduziert worden. Dein Bot muss sich jetzt also mehr auf Signale als auf freie Sicht verlassen.

Commit Date Cutoff

Alle Bots, die seit dem 4. Januar 2026 keinen Commit gemacht haben, werden in den Scrims (und damit auch in den folgenden Finals) nicht mehr berücksichtigt. Dadurch verkleinert sich das Feld und die Scrim-Ergebnisse erscheinen nun wieder früher. Wenn dein Bot davon betroffen ist, musst du einfach nur wieder einen Commit machen, damit er wieder mitspielen kann.

Resonance v0.1

ab 09.02.2026

Die neue Stage bringt verschiedene Änderungen mit sich, die es deinem Bot einerseits schwerer machen, andererseits aber auch neue Möglichkeiten eröffnen.

Die schlechte Nachricht

In dieser Stage wird es für deinen Bot etwas komplizierter, weil das Signal nicht sofort von 0 auf 100% springt, sondern sich langsam aufbaut (signal_fade) und jetzt etwas verrauscht ist (signal_noise):

  • Sobald ein Gem erscheint, wird die Signalstärke in den nächsten signal_fade Ticks linear von 0% auf 100% erhöht und am Ende der Lebenszeit des Gems wieder auf 0% gesenkt.
  • Anschließend wird eine gleichverteilte Zufallszahl zwischen -signal_noise und signal_noise generiert und zum Signal addiert.

Die Werte der Parameter findest du wie immer im ersten Tick unter config.

Die gute Nachricht

Aber es gibt auch eine Verbesserung: Da die Gems ihr Signal auf unterschiedlichen Frequenzen aussenden, kannst du jetzt zusätzlich zum Gesamtsignal auch die Signale der einzelnen Gems auslesen – unabhängig von den anderen Gems. Es gibt max_gems verschiedene Kanäle, deren jeweilge Signalstärke du unter channels findest.

Hier kannst du Tick für Tick sehen, wie ein einfacher Bot die Stage spielt und welche Daten er dabei bekommt. Die tatsächliche Größe der Arena kann abweichen, hier soll nur das Prinzip verdeutlicht werden. Unten in der Statuszeile siehst du nun die Signalstärken der einzelnen Kanäle, die dein Bot auslesen kann.

Stage 2: Dark Signal

Zeitraum: 05. Januar 2026 – 08. Februar 2026 (5 Wochen)

In dieser Stage wird die Arena noch herausfordernder: Die Sichtweite deines Bots ist nun eingeschränkt. Dafür senden die Gems nun Signale aus, die dein Bot empfangen kann, um ihre Position zu bestimmen:

  • die Signalstärke eines Gems berechnet sich als 1 / (1 + (d/r)²), wobei d die Distanz zwischen Bot und Gem und r der Ausbreitungsradius ist, das heisst:
    • die Signalstärke ist 1.0, wenn dein Bot direkt auf dem Gem steht (d = 0)
    • die Signalstärke ist 0.5, wenn dein Bot genau r Einheiten entfernt ist (d = r)
    • die Signalstärke nimmt mit zunehmender Distanz weiter ab
    • die Signalstärken aller Gems werden addiert und mit 6 Nachkommastellen angegeben
    • Wände werden bei der Signalausbreitung nicht berücksichtigt
  • den Ausbreitungsradius aller Gems bekommst du im ersten Tick mitgeteilt (config / signal_radius)

Dark Signal v0.1

ab 05.01.2026

Hier kannst du Tick für Tick sehen, wie ein einfacher Bot die Stage spielt und welche Daten er dabei bekommt. Die tatsächliche Größe der Arena kann abweichen, hier soll nur das Prinzip verdeutlicht werden.

Stage 1: Training Grounds

Zeitraum: 17. November 2025 – 04. Januar 2026 (7 Wochen)

In dieser Stage wird die Arena erstmals komplexer: Es gibt nun Wände, Höhlen und verwinkelte Bereiche, die nicht auf den ersten Blick sichtbar sind. Dein Bot muss die Umgebung aktiv erkunden, um herauszufinden, wo überall Gems auftauchen können – manchmal verstecken sie sich tief in einer Nische oder hinter einer Wand. Es reicht also nicht mehr, nur auf Sicht zu reagieren: Regelmäßiges Scouting und ein gutes Verständnis der Arena werden entscheidend.

Training Grounds v0.2

ab 22.12.2025

Im Finale dieser Stage wird dein Bot – genau wie in Stage 0 – gegen andere Bots antreten. Hier kannst du sehen, wie unser Random Walker gegen einen etwas intelligenteren Bot spielt, und welche Daten er dabei bekommt.

Die Regeln für initiative und visible_bots sind die gleichen wie in Stage 0.

Stage Freeze: Bis zum Finale von Stage 1 werden sich diese Regeln nicht mehr ändern.
Hinweis: Du kannst den Runner mit zwei Bots starten, wenn du zwei Pfade (oder zweimal denselben Pfad) angibst.

Traning Grounds v0.1

ab 17.11.2025

Hier kannst du Tick für Tick sehen, wie ein sehr einfacher Bot (der zufällig eine Richtung wählt) die Stage spielt und welche Daten er dabei bekommt. Die tatsächliche Größe der Arena kann abweichen, hier soll nur das Prinzip verdeutlicht werden.

Stage 0: System Check

Zeitraum: 6. Oktober – 16. November 2025 (6 Wochen)

In dieser Stage gibt es noch keine Wände und die Arena ist vollständig sichtbar – hier geht es erstmal nur darum, deinen Bot zum Laufen zu kriegen und ihn korrekt einzureichen. Steuere deinen Bot auf die Gems, sobald sie erscheinen, um Punkte zu sammeln. Falls du Fragen dazu hast, schreib einfach eine E-Mail. Es wird erwartet, dass die meisten Bots am Ende dieser Stage ungefähr denselben Score haben.

System Check v0.2

ab 03.11.2025

Im Finale dieser Stage wird dein Bot gegen andere Bots antreten. Hier kannst du sehen, wie unser Random Walker gegen einen etwas intelligenteren Bot spielt, und welche Daten er dabei bekommt.

Bei zwei Bots ist der Ablauf folgendermaßen: Beide Bots bekommen ihre Daten und dann schicken sie gleichzeitig ihre Züge. Allerdings wechselt die Reihenfolge der Züge je Tick, damit es fair bleibt. Der Wert initiative gibt an, ob du in diesem Tick den ersten Zug machen darfst. Zwei Bots können nicht auf demselben Feld stehen, also kann es passieren, dass der Bot mit Initiative den anderen Bot blockiert, wenn beide auf dasselbe Feld ziehen wollen.

Unter visible_bots siehst du die Position und das Emoji des anderen Bots, aber nur, wenn er in Sichtweite ist. Eine weitere wichtige Änderung ist, dass es jetzt bis zu 5 Gems gleichzeitig geben kann. Außerdem kann die Breite der Arena jetzt variieren.

Stage Freeze: Bis zum Finale von Stage 0 werden sich diese Regeln nicht mehr ändern.
Hinweis: Du kannst den Runner mit zwei Bots starten, wenn du zwei Pfade (oder zweimal denselben Pfad) angibst.

System Check v0.1

ab 06.10.2025

Hier kannst du Tick für Tick sehen, wie ein sehr einfacher Bot (der zufällig eine Richtung wählt) die Stage spielt und welche Daten er dabei bekommt. Die tatsächliche Größe der Arena kann abweichen, hier soll nur das Prinzip verdeutlicht werden.