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

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.