Home / Level & Game Design / Wave & Spawn Designer

Wave & Spawn Designer

Set up your enemy types, then lay out the waves on a timeline: when they start, how fast they spawn, which enemies they mix and how they surround the player. A live simulation plays the run with a kiting player and an auto weapon, and the difficulty graph shows where the run gets too easy or too hard. Export a JSON file with a ready Godot 4 and Unity spawner.

Enemy types
Wave
Run settings
Test player build (only for the simulation)
Project

Your work is saved in this browser automatically.

Drag a bar to move it, drag its right edge to resize. Click the time ruler to jump.
Enemies on screenEnemy HP spawned per secondThreat (contact damage per second)Player DPS
    0:00

    One ZIP: waves.json, WaveSpawner.gd for Godot 4, WaveSpawner.cs for Unity, a CSV timeline and your project file.

    Pro · The Wave & Spawn Designer is part of GameShipKit Pro, with every Pro feature of the other tools. See plans

    Plan the whole run on one timeline

    A survivors run, a tower defense level and an arena fight are all the same thing underneath: a list of waves, each with a start time, a length, a spawn rate and a mix of enemies. This tool puts every wave on one timeline so you can see the whole run at a glance. Drag a wave to move it, stretch it to make it longer, and stack waves on top of each other so one enemy type keeps trickling in while a second one surges. Bosses sit on the timeline as markers of their own.

    Spawn rate curves and enemy mixes

    Each wave spawns from a start rate to an end rate along a curve: steady, linear, slow then fast, fast then slow, or pulsing in surges. The mix sliders set how often each enemy type is picked, and the elite chance turns some spawns into tougher versions with more health. The group size spawns several enemies at once for every spawn, which is how hordes and swarms are made.

    Five spawn patterns

    PatternWhat it does
    RingEach enemy appears at a random spot on a ring just outside the screen. The classic survivors spawn.
    Circle burstThe whole group appears at once, evenly spaced around the player, and closes in from every side.
    Edge lineThe group lines up along one edge of the screen and marches in. Good for lanes and tower defense.
    ClusterThe group appears bunched together at one point on the ring, like a pack.
    BossThe group spawns once when the wave starts and fires the boss signal.

    Test it before you build it

    The simulation plays your run with a test player who kites away from the crowd and an auto weapon that hits the nearest enemies. Set the player's damage per second, how fast it grows per minute and how many enemies a shot can hit, to stand in for your real upgrades. The same random seed is used every time, so scrubbing back and forth always shows the same run. The difficulty graph under the timeline shows enemies on screen, enemy health arriving per second, contact damage the player takes and the player's damage. When the orange line climbs far above the green one the horde outgrows the player, and the tool lists those moments under the graph.

    Godot 4 and Unity export

    The ZIP holds waves.json and a ready spawner for both engines. In Godot 4 add WaveSpawner.gd to a node, point it at the JSON, map each enemy id to a PackedScene and set the player as the target. It spawns with the same rates, curves and patterns, sets hp, speed, damage and xp on your enemy if it has those properties, and emits wave_started, wave_ended, boss_spawned, enemy_spawned and run_finished signals for your HUD and music. The Unity version does the same with prefabs and UnityEvents. A CSV timeline goes to your design document or spreadsheet.

    Your project stays yours

    Everything runs in your browser. Designing, simulating and saving the project file are free. Exporting the engine files is part of GameShipKit Pro.

    New tools every weekGet new free tools and game asset packs by email. About twice a month. Unsubscribe in one click.