How To Make Enemies Spawn In Waves

A common approach to combat in games that is akin to the Arcade Genres of old utilizes a mechanic to spawn sets of enemies into the game at certain points. This is used to create a reprieve between stints of combat, as well give the player a feeling of accomplishment and/or progress.

For this example, I will be using a mixture of loops within coroutines to allow for delayed time intervals with WaitForSeconds().

When called upon, this coroutine checks if the player is alive with the “_stopSpawning” boolean variable. Then it begins spawning one enemy per second until it has spawned as many as indicated by the “_enemiesSpawnCount” integer variable. Once all enemies are spawned the method then exits the for loop and enters the next while loop. This loop is set to check if there are any more enemies alive every .1 of a second. Once all enemies have been killed this loop ends and the primary while loop waits for 2 seconds before starting again.

[Side Note]

This whole system could be customized/enhanced with all kinds of additional features. For example, you could switch out the instantiation of a singular enemy with a method that spawns a set, or random set of enemies.

--

--

--

Hi, my name is Adam Reed and I am a software engineer specializing in Unity and C# development. Feel free to scroll through and check out some of my work!

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Social Media: An Esports Story Goldmine

Fortnite 2’s post-launch

img

Kawaii Islands calls for Mobile Testing Whitelist

The Ten Best Games of 2016

Overwatch League 2021 Day 1 Recap

img

Designing An Educational Virtual Reality Wildlife Photography Experience

Enlightening Navigation Design in She and The Light Bearer

Happy New Year, Warriors!

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Adam Reed

Adam Reed

Hi, my name is Adam Reed and I am a software engineer specializing in Unity and C# development. Feel free to scroll through and check out some of my work!

More from Medium

Day 7: The Enemy

git it on the page!

Creating A Cool-Down System in Unity | SHMUP Shoot Mechanics

Working with Cinemachine