Gegnerwellen
Ein Wellen-Erzeuger schickt Gegner in Runden. Eine Pause läuft ab, die Gegner der Welle kommen nacheinander herein, und die nächste Pause beginnt, sobald der Spieler sie besiegt hat. Jede Welle ist größer, nur begrenzt viele dürfen gleichzeitig leben, und eine Welle, die sich zieht, hält das Spiel nicht auf.

Das sagst du deiner KI
Kopiere es in Claude, Cursor oder ChatGPT. Gute Werte und die typischen Fehler stehen schon drin.
Baue „Gegnerwellen“ in mein Spiel ein.
Das soll es bewirken: Wellen geben einem Kampf einen Rhythmus aus Druck und Erholung. Der Spieler bekommt Zeit zum Durchatmen, Ausgeben und Vorbereiten und stellt sich dann einer härteren Runde. So wächst die Schwierigkeit, ohne dass jemand Gegner von Hand platzieren muss.
Baue es genau nach diesem Automaten. Prüfe zuerst, ob er zu meinem Spiel passt, und bau ihn dann so:
```mermaid
stateDiagram-v2
[*] --> resting
resting: Pause
spawning: Gegner kommen
fighting: Welle läuft
won: Alles geschafft
resting --> spawning: Countdown vorbei
spawning --> fighting: letzter Gegner ist da
fighting --> resting: besiegt oder Zeit um
fighting --> won: letzte Welle besiegt
won --> [*]
```
Nimm diese Startwerte:
- totalWaves: 5 waves
- firstWaveSize: 4 enemies
- sizeGrowth: 2 enemies
- restTime: 8 s
- spawnInterval: 0.6 s
- maxAlive: 12 enemies
- fightTimeout: 90 s
Achte auf diese typischen Fehler:
- Ein Gegner hält das ganze Spiel auf: Sag deiner KI: Gib jeder Welle ein Zeitlimit. Ist es abgelaufen, beginnt die nächste Pause trotzdem, und der übrig gebliebene Gegner wird weitergezählt. Bei der letzten Welle sollte das Spiel die Reste aufspüren oder zeigen, wo sie sind.
- Die ganze Welle kommt in einem Moment: Sag deiner KI: Lass die Gegner nacheinander mit einer festen Zeit dazwischen ankommen und begrenze zusätzlich, wie viele gleichzeitig leben dürfen.
- Das Tempo hängt von der Bildrate ab: Sag deiner KI: Läuft der Zeitgeber ab, behalte die überschüssige Zeit und rechne sie zur nächsten Wartezeit. Deckt ein langer Takt zwei Ankünfte ab, erzeuge beide.
- Der nächste Gegner kommt auf einen Schlag, sobald Platz wird: Sag deiner KI: Solange die Grenze die Welle zurückhält, lass den Zeitgeber nicht in die Vergangenheit laufen. Bring einen Gegner herein, sobald Platz ist, und warte dann die normale Zeit.
- Die Welle endet, während noch Gegner ankommen: Sag deiner KI: Eine Welle ist erst besiegt, wenn jeder Gegner angekommen ist und keiner mehr lebt.
- Reste kommen zur nächsten Welle dazu: Sag deiner KI: Führe eine einzige Zahl für alle lebenden Gegner und prüfe die Grenze gegen sie, zu welcher Welle sie auch gehören.
- Mehr Tode gemeldet, als es Gegner gibt: Sag deiner KI: Ziehe von der Zahl nie mehr Gegner ab, als leben.
Ändere nichts anderes im Spiel. Behaupte nichts, ohne es zu belegen: Modelliere, was dafür nötig ist, und zeig mir, worauf deine Lösung beruht und woran ich sehe, dass sie klappt. Wenn du etwas nicht zeigen kannst, sag, dass du es nicht weißt. Sag mir danach in einfachen Worten, wie ich es ausprobiere.Oder spar dir das und schließ den MCP an: Dann findet deine KI das alles von selbst.MCP anschließen
Was es bewirkt
Wellen geben einem Kampf einen Rhythmus aus Druck und Erholung. Der Spieler bekommt Zeit zum Durchatmen, Ausgeben und Vorbereiten und stellt sich dann einer härteren Runde. So wächst die Schwierigkeit, ohne dass jemand Gegner von Hand platzieren muss.
So läuft es ab, als Diagramm
Alles, was es sein kann, und was es weiterbewegt. Genau danach baut deine KI.
So läuft es ab, als Diagramm
- Pause → Gegner kommen: Countdown vorbei
- Gegner kommen → Welle läuft: letzter Gegner ist da
- Welle läuft → Pause: besiegt oder Zeit um
- Welle läuft → Alles geschafft: letzte Welle besiegt
Gute Startwerte
| Wert | Starte mit | Was es ändert |
|---|---|---|
| totalWaves | 5 waves | Wie viele Wellen es gibt. Gewonnen ist, wenn die letzte besiegt ist. Fünf ergeben eine kurze Sitzung; endloses Spielen braucht ein anderes Ende. |
| firstWaveSize | 4 enemies | Wie viele Gegner die erste Welle hat. Klein genug, dass ein neuer Spieler sie schafft, ohne das Spiel schon zu kennen. |
| sizeGrowth | 2 enemies | Wie viele Gegner jede Welle gegenüber der vorigen dazubekommt. Bei null sind alle Wellen gleich groß, das passt zu Spielen, in denen die Gegner selbst stärker werden. |
| restTime | 8 s | Die Pause vor jeder Welle. Lang genug zum Einsammeln, Heilen und Aufbauen, kurz genug, dass der Spieler sich nicht langweilt. |
| spawnInterval | 0.6 s | Die Zeit zwischen zwei ankommenden Gegnern. Null ist nicht erlaubt, denn eine ganze Welle in einem Moment ist eine Wand und kein Strom. |
| maxAlive | 12 enemies | Die meisten Gegner, die gleichzeitig leben dürfen. So bleibt der Bildschirm lesbar und das Spiel flüssig. Null ist nicht erlaubt, denn ohne Platz könnte keine Welle beginnen. |
| fightTimeout | 90 s | Nach dieser Zeit hält eine Welle die nächste nicht mehr auf. Ein Gegner, der hinter einer Wand feststeckt oder sich versteckt, würde das Spiel sonst für immer anhalten. Die letzte Welle hat kein Limit: Sie muss wirklich besiegt werden. |
Was meistens schiefgeht
Ein Gegner hält das ganze Spiel auf
Ein Gegner bleibt hinter einer Wand hängen, fällt aus der Reichweite oder versteckt sich. Die Welle gilt nie als besiegt, die Pause beginnt nie und der Spieler wartet vergebens.
Lösung: Sag deiner KI: Gib jeder Welle ein Zeitlimit. Ist es abgelaufen, beginnt die nächste Pause trotzdem, und der übrig gebliebene Gegner wird weitergezählt. Bei der letzten Welle sollte das Spiel die Reste aufspüren oder zeigen, wo sie sind.
Die ganze Welle kommt in einem Moment
Das Spiel erzeugt alle Gegner der Welle im selben Takt. Der Bildschirm füllt sich, das Spiel ruckelt und der Spieler kann nicht reagieren.
Lösung: Sag deiner KI: Lass die Gegner nacheinander mit einer festen Zeit dazwischen ankommen und begrenze zusätzlich, wie viele gleichzeitig leben dürfen.
Das Tempo hängt von der Bildrate ab
Das Spiel erzeugt einen Gegner pro Takt, wenn der Zeitgeber abläuft, und wirft die überschüssige Zeit weg. Auf einem langsamen Gerät kommen die Wellen langsamer, auf einem schnellen schneller.
Lösung: Sag deiner KI: Läuft der Zeitgeber ab, behalte die überschüssige Zeit und rechne sie zur nächsten Wartezeit. Deckt ein langer Takt zwei Ankünfte ab, erzeuge beide.
Der nächste Gegner kommt auf einen Schlag, sobald Platz wird
Die Welle ist bis zur Grenze voll und ihr Zeitgeber läuft weiter. Besiegt der Spieler drei Gegner auf einmal, kommen alle drei wartenden im selben Takt.
Lösung: Sag deiner KI: Solange die Grenze die Welle zurückhält, lass den Zeitgeber nicht in die Vergangenheit laufen. Bring einen Gegner herein, sobald Platz ist, und warte dann die normale Zeit.
Die Welle endet, während noch Gegner ankommen
Der Spieler besiegt die ersten Gegner schneller, als neue ankommen. Die Zahl der lebenden Gegner erreicht null und das Spiel hält die Welle für besiegt, obwohl die Hälfte noch nicht herein ist.
Lösung: Sag deiner KI: Eine Welle ist erst besiegt, wenn jeder Gegner angekommen ist und keiner mehr lebt.
Reste kommen zur nächsten Welle dazu
Ein Gegner aus einer abgelaufenen Welle lebt noch, wenn die nächste beginnt. Zählt das Spiel ihn nicht mit, wird die Grenze überschritten und der Bildschirm hat mehr Gegner als gedacht.
Lösung: Sag deiner KI: Führe eine einzige Zahl für alle lebenden Gegner und prüfe die Grenze gegen sie, zu welcher Welle sie auch gehören.
Mehr Tode gemeldet, als es Gegner gibt
Eine Explosion meldet denselben Gegner zweimal als besiegt. Die Zahl der lebenden Gegner sinkt unter null, die Welle gilt zu früh als besiegt, und spätere Prüfungen laufen falsch.
Lösung: Sag deiner KI: Ziehe von der Zahl nie mehr Gegner ab, als leben.
So prüfst du, ob es klappt
- Ein neues Spiel mit einer Pause von 8 Sekunden. 8 Sekunden vergehen: beginnt Welle 1, und noch ist kein Gegner angekommen.
- 4 Gegner in der ersten Welle und 2 mehr in jeder weiteren. man die Wellen 1 bis 5 ansieht: haben sie 4, 6, 8, 10 und 12 Gegner, und Welle 1 schickt genau 4.
- Eine Welle von 4 mit 0,6 Sekunden zwischen den Gegnern. sie ankommt: kommen die Gegner bei 0, 0,6, 1,2 und 1,8 Sekunden.
- Eine große Welle und vier verschiedene Bildraten. bei jeder 6 Sekunden vergehen: sind bei jeder Rate 10 oder 11 Gegner angekommen, und die Zahlen unterscheiden sich um höchstens 1.
- Eine Grenze von 3 lebenden Gegnern und eine Welle von 6. 30 Sekunden vergehen ohne Sieg, dann sterben 2 Gegner: blieben 3 am Leben und 3 warteten, und nach den Toden kommt nur einer auf einmal herein.
- Welle 2 läuft mit 3 lebenden Gegnern. alle 3 sterben: beginnt eine Pause von 8 Sekunden, und danach beginnt Welle 3.
- Welle 1 läuft und ein Gegner stirbt nie. 90 Sekunden vergehen: beginnt die Pause trotzdem, Welle 2 beginnt, und der Rest-Gegner zählt weiter als lebend.
- Die letzte Welle läuft weit über das Zeitlimit hinaus mit 2 lebenden Gegnern. Zeit vergeht, und dann sterben beide: ist das Spiel erst gewonnen, wenn der zweite stirbt.
- Eine Welle von 4, von der erst 1 angekommen ist. dieser eine stirbt: ist die Welle nicht besiegt, und sie geht weiter, bis alle 4 herein sind.
- 2 Gegner leben. das Spiel 10 Tode meldet: leben 0 und 2 Siege werden gezählt.
- Das Spiel ist gewonnen. Zeit vergeht und das Spiel weitere Tode meldet: bleibt es gewonnen, und es kommen keine Gegner mehr.
- Eine Pause von 0. eine Welle besiegt ist: wird die Pause einen Takt lang gezeigt, dann beginnt die nächste Welle.
Passt gut zu
- Gegnerpatrouille und Verfolgung: Ankommende Gegner können schon jagend starten oder auf einer Streife hereinlaufen. Entscheide dich, damit eine Welle nicht aus dem Nichts zu kommen scheint. Gib jedem ankommenden Gegner sein Verhalten, sobald er erzeugt wird.
- Loot-Tabelle: Eine große Welle vervielfacht die Beute. Stelle die Chancen mit Blick auf die Wellengröße ein. Würfle die Beute, wenn ein Gegner stirbt, nicht wenn er ankommt.
- Dynamische Schwierigkeit: Eine Welle, die vor den Augen des Spielers schrumpft oder wächst, wirkt unfair. Die Pause ist der Ort für Anpassungen. Ändere die Größe der nächsten Welle, nie die einer bereits begonnenen.
- Bossphasen: Zähle den Boss als einen lebenden Gegner und lege fest, ob die Welle schon besiegt ist, wenn nur seine Helfer fort sind. Mache die letzte Welle zum Boss oder schicke einen Boss als einen Gegner einer Welle.
Häufige Fragen
wie baue ich gegnerwellen in mein spiel ein
Kopiere das: Baue Gegnerwellen ein. Beginne mit einer Pause von 8 Sekunden. Schicke dann 4 Gegner nacheinander im Abstand von 0,6 Sekunden. Hat der Spieler alle besiegt, beginnt die nächste Pause, und jede Welle ist um 2 Gegner größer. Höchstens 12 dürfen gleichzeitig leben. Nach der 5. besiegten Welle gewinnt der Spieler.
wie schnell sollen wellen wachsen
Füge pro Welle ein paar Gegner hinzu und höre bei einer Grenze auf, die der Bildschirm fassen kann. Zu steiles Wachstum macht Welle 4 unmöglich und Welle 3 langweilig. Als Start passt jedes Mal etwa die Hälfte der ersten Wellengröße.
warum endet meine welle nie
Ein Gegner steckt fest, versteckt sich oder ist außer Reichweite, deshalb erreicht die Zahl nie null. Gib jeder Welle ein Zeitlimit und zeige dem Spieler bei der letzten, wo die übrigen Gegner sind.
soll der spieler die nächste welle früher rufen dürfen
Das ist ein gutes Extra: Wer den Rest der Pause überspringt, kann einen kleinen Bonus bekommen. Erlaube es nur zwischen den Wellen, nie während noch Gegner ankommen.
Woher es kommt
Für diese Idee konnten wir noch keine verlässliche Herkunft finden.
Was geprüft wurde
- 15 Tests bestehen auf dem Referenzcode.
- Das Zustandsdiagramm wurde gegen den Code geprüft, mit den Standardwerten und mit jedem niedrigsten und höchsten Wert der Liste.
Deine KI bekommt den Code
Fertiger Beispielcode kommt über die Spielerando-Verbindung, damit deine KI ihn sofort nutzen kann. So verbindest du es