Wave & Spawn System

You know the loop. Spawn timer feels too slow, so you change a constant, rebuild, test, wait, realize it is too fast now, change it back, rebuild, test again. An hour disappears. Your coffee gets cold. The game still does not feel right.

Tweak Spawn Rates Live. No Recompile.

You know the loop. Spawn timer feels too slow, so you change a constant, rebuild, test, wait, realize it is too fast now, change it back, rebuild, test again. An hour disappears. Your coffee gets cold. The game still does not feel right.

The problem is not your game design instincts. The problem is the friction between having an idea and seeing it play out. CraftMyGame eliminates that friction entirely.

Change spawn counts with a number field. Adjust timing with a slider. Hit preview and watch enemies pour in exactly as you imagined. Too intense? Dial it back. Too slow? Crank it up. Every adjustment is live. No compile. No deploy. No context switching.

When iteration takes seconds instead of minutes, you stop settling for "good enough" and start finding what actually makes your game feel great.

Shape Your Game's Emotional Arc

Great wave systems do more than spawn enemies. They tell a story without words.

The first waves teach players they can survive. The middle waves test whether they learned. The final waves demand everything they have. This arc -- from confidence to tension to triumph -- is what players remember long after the session ends.

Ease players in -- Slow, spaced spawns give breathing room to learn mechanics before the pressure mounts.

Build pressure -- Faster waves and tougher enemies arrive as skill grows, matching intensity to competence.

Create peaks and valleys -- Boss intros, sudden ambushes, and breather rounds give meaning to the quiet moments and weight to the chaos.

Prevent boredom and frustration -- Difficulty that adapts keeps engaged players challenged and struggling players hopeful.

CraftMyGame gives you pre-built templates for vampire survivor roguelikes, tower defense paths, and horde survival arenas. Start with a genre template and customize until it feels like yours.

Four Spawn Timing Patterns

The difference between a forgettable wave and a memorable one often comes down to timing. Not just how many enemies spawn, but exactly when each one appears.

All at Once -- Every enemy materializes simultaneously. Players face an immediate wall of threats that demands crowd control, area attacks, and split-second prioritization. Use this when you want to test whether players can handle sudden chaos.

Staggered -- Enemies arrive at steady intervals you define. This creates a drumbeat of tension that builds rather than overwhelms. Players can track each new threat, but the accumulation tests their resource management.

Random -- Spawn timing varies unpredictably within your configured range. The result feels organic and keeps players scanning the environment rather than anticipating patterns. Perfect for horror and survival games where uncertainty is the point.

Wave Burst -- Groups appear together, then a pause, then another group. This creates micro-narratives within waves: handle this cluster, catch your breath, here comes the next. Tower defense games love this rhythm.

Select a pattern per spawn group. You are designing tension curves, not writing spawn coroutines.

Smart Spawn Point Distribution

Where enemies appear matters as much as when. A spawn behind the player feels like an ambush. A spawn at the edge of vision feels like an approaching threat. A spawn right on top of someone feels unfair.

Distributed -- Enemies spread evenly across all spawn points in rotation. No single point gets overwhelmed, and players face threats from multiple directions predictably.

Random -- Each enemy chooses a random spawn point. The unpredictability creates tension because players cannot anticipate where the next threat emerges.

Sequential -- Points activate in order. Ideal for tower defense where enemies should follow designated paths or for scripted sequences where spawn order matters narratively.

Furthest from Player -- The system calculates which spawn point is farthest from any player and uses that. This prevents the frustration of enemies appearing where the player just was, and gives them time to prepare for approaching threats.

You place spawn points visually in the level editor. The wave system handles the distribution logic. No coordinate math. No random number debugging.

Dynamic Spawn Positioning

Sometimes fixed spawn points are not enough. Survival games need enemies encircling players. Chase sequences need threats emerging from ahead. Flanking mechanics need enemies appearing at the sides.

Radius Around Players -- Define minimum and maximum distances. Enemies spawn somewhere within that ring around any player. The min distance prevents unfair point-blank spawns. The max distance controls how much warning players get.

Relative to Player -- Offset from current player position. "Always spawn 10 tiles ahead" creates persistent forward pressure. "Always spawn behind" creates anxiety about what is following.

Relative to Self -- Offset from the spawner entity. An enemy captain can summon reinforcements that appear at their side rather than across the map.

Absolute Coordinates -- Exact world positions for scripted moments. The boss always crashes through that specific wall.

Random Bounds -- Anywhere within a rectangular area. Good for arenas where you want enemies distributed across a zone.

Mix these across spawn groups. One group encircles the player while another holds a defensive position at fixed points.

Difficulty That Learns From Your Players

Some players will demolish your waves. Others will die on wave three and wonder if your game is broken. Static difficulty cannot serve both audiences.

The traditional solution is difficulty settings. But players lie to themselves about their skill level, and even well-chosen settings create jarring disconnects when a player improves mid-session.

CraftMyGame's adaptive difficulty watches how players actually perform and adjusts in real-time:

- Survival rate above 80% triggers a difficulty increase because these players need more challenge - Survival rate below 30% triggers a decrease because these players need breathing room - The system scales spawn counts, enemy health, speed, and damage based on configurable curves - You choose the scaling shape: linear for steady progression, exponential for dramatic ramps, or stepped for distinct phases

Your players experience a difficulty curve that feels designed for them personally, because it was -- moment by moment.

Per-Wave Difficulty Modifiers let you override specific properties. Wave 5 enemies move 20% faster. Wave 10 enemies have double health. Layer manual design on top of adaptive systems.

Wave Objectives Beyond Kill Counts

"Kill all enemies" works. But wave systems can do much more when objectives shape how players engage with threats.

Survive Duration -- Hold out for a set time against endless spawns. The UI shows remaining seconds, and suddenly every decision is about efficiency and positioning rather than aggression. Players who would rush forward now play defensively.

Kill All Enemies -- The classic. Clear every wave entity to advance. Progress shows enemies remaining. Simple, satisfying, and clear.

Protect Target -- A VIP entity must survive while enemies swarm. This changes player psychology completely. They cannot kite enemies across the map. They must hold ground. The VIP becomes an anchor that defines spatial strategy.

Collect Resources -- Gather a target number of drops before time runs out. Enemies become obstacles rather than goals. The tension is about pathing and collection efficiency.

Reach Goal -- Navigate to an exit while enemies block the path. Every wave becomes a gauntlet rather than an arena. Players who mastered standing their ground now learn to break through.

Custom -- Define your own completion logic with conditions and trigger actions for objectives no template anticipated.

Select objective type per wave. The UI shows progress automatically. You design the experience.

Wave Events That Create Memorable Moments

The moments players remember are rarely mid-wave. They remember the boss door slamming open. They remember the lights going out before the final wave. They remember the victory fanfare and the loot explosion.

Wave events let you script these moments without writing event handlers.

On Wave Start -- The wave number flashes on screen. A voice announces "Wave 10: Boss Incoming." Hazards activate. Music shifts. You control the entrance.

On Wave Complete -- Doors unlock. Resources rain down. A health pack spawns at the player's feet. The camera pulls back to show how much was destroyed. You control the reward moment.

On Wave Failed -- The screen darkens. A retry prompt appears. Difficulty quietly decreases. Or the game ends dramatically. You control the failure experience.

On Progress -- Every 5 seconds, reinforcements spawn. Every 25% completion, the music intensifies. On-going events keep long waves dynamic.

On All Waves Complete -- Victory. Transition to the next level. Show the end screen. Unlock rewards. Roll credits. You control the ending.

These use the same trigger action system you use everywhere else in CraftMyGame. If you know how to trigger one action, you know how to orchestrate wave events.

Wave System Settings

Small settings shape major differences in how your wave system feels.

Auto Start -- The first wave begins when the game loads. No waiting, no player trigger. Immediate action for arcade-style games.

Loop Waves -- After the final wave, restart from wave 1 with optional difficulty scaling. One configuration creates endless survival modes.

Time Between Waves -- Seconds of breathing room before the next wave auto-starts. This is where players heal, reposition, and make purchasing decisions. Too short and they feel rushed. Too long and momentum dies.

Prep Time -- A countdown before enemies spawn within a wave. Players see the wave indicator, hear the warning, and have seconds to prepare. Tension builds before a single enemy appears.

Player Triggered -- Waves only start when players activate them via key press, button, or trigger area. Players control the pace. Useful when shopping, upgrading, or exploration should happen between waves.

Show in HUD -- Display wave progress in the game UI automatically. "Wave 7/20" and "Enemies Remaining: 3" without building custom UI.

Spawn Points With Behavior

Spawn points are not just coordinates. They are entities with configurable intelligence that shape how each enemy enters the battlefield.

Facing Direction -- Spawned entities face a specific direction. Enemies emerge already looking at players, ready to engage immediately rather than awkwardly rotating.

Maximum Active Entities -- Limit how many living entities one point can have spawned at once. This prevents a single location from flooding while others stay quiet.

Activation Conditions -- Points only activate when conditions are met. "Only after wave 5." "Only when a player is within 20 tiles." "Only when resources drop below threshold." Spawn points become reactive elements of level design.

Spawn Effects -- Trigger actions when entities spawn at this point. A flash of light. A portal opening. A sound cue that warns attentive players. Spawning becomes an event rather than an appearance.

Categories -- Tag spawn points for easy reference. "north_gate" spawns early waves. "boss_arena" spawns the final boss. Reference them by tag in wave configurations without memorizing IDs.

Entity Overrides at Spawn Time

Your base enemy definition works across the game. But wave-spawned versions should be tougher. Or faster. Or more aggressive. Without creating separate entity files for every variant.

AI Configuration -- Override AI behavior for wave entities. Standard patrol enemies become aggressive hunters. Passive creatures become territorial defenders. Same art, different behavior, no duplicate definitions.

Property Scaling -- Adjust health, speed, and damage per spawn group. Wave 10 enemies have 150% health without creating "Wave10Zombie" as a new entity type. Keep your entity list clean.

Visual Markers -- Distinguish wave entities from world entities with different colors, glowing effects, or UI indicators. Players learn that glowing enemies are wave threats and static enemies are environmental.

Wave Tracking -- All wave-spawned entities are automatically tracked for objective completion. When the wave says "kill all enemies," it knows exactly which entities count.

This is the power of a configurable system. You describe what you want. The engine handles the bookkeeping.

Wave Rewards That Drive Progression

Players need more than the satisfaction of survival. They need tangible progression that makes the next wave feel earned.

Resource Grants -- Award gold, XP, or custom resources on wave completion. The number on screen goes up. Players feel richer, stronger, more capable.

Item Drops -- Spawn collectibles when waves end. A chest materializes. Power-ups scatter across the arena. The post-wave moment becomes a reward collection ritual.

Unlock Progression -- Track wave completions for achievements or unlocks. "Beat wave 20 to unlock the Veteran skin." Wave progress becomes permanent progress.

Score Multipliers -- Increase score bonuses for consecutive wave clears. Miss a wave and the multiplier resets. This adds stakes beyond survival and rewards consistency.

Rewards hook into the resource system and trigger action system. Grant anything your game tracks. If you can count it, you can reward it.