Scavenging and waves, what's the most optimal approach?

Right, title is very confusing, but please hear me out as i will need feedback on this

If you’ve played Decaying Winter, you should have a much easier time understanding what i’m saying.

Anyway, i’ve kind of hit the biggest roadblock of development in my game, this being 2 phases of the game;

  • Scavenging
  • Surviving (let’s refer to waves as surviving)
    i’m gonna go over each phase in detail and explain how i want it to work


  • Upon a player loading into the map (after pressing a play button in the menu), the game will do some RNG magic and spawn “openables” (lockers and crates) alongside enemies (that do not like you!!)

  • After the game does its RNG magic, the scavenging phase begins, it will last a random time (probably between 1:40-2:40, this is undecided for now) until the game switches to the next phase

  • The player can then run off into the map and get loot, whether it’s melee weapons, guns, consumables, etc, additionally, ENEMIES KILLED IN SCAVENGING PHASE drop food or water (different consumables)

  • After the timer runs out, the game linearly shifts into the Survive phase, pushing the players back to base, if they don’t make it, they um, they die!


  • The game will spike up with difficulty along with survived nights, let’s say the game has 10 nights, and you’re on night 5, the surviving phase will have harder enemies, along with bigger packs, those bigger packs can essentially be split into two separate packs, if you kill pack 1, pack 2 spawns and so on.

  • Enemies will spawn close to base and run to the players to well, exterminate them. If players fail to survive, the game will restart back to night 1 (or the beginning if that’s what you wanna call it) and you have to start all over again

  • Upon killing all enemies, the game will linearly shift into scavenging phase

And it goes on loop, rising in difficulty, if you win the last night, you win the game and get to start again!

i DESPERATELY need feedback on this, i don’t know the best approach to it

some key things i need feedback on:

  • How should I spawn enemies during the Scavenging phase, how to make it optimized?

  • Waves, how could i trigger the end of surviving upon all enemies being dead (so the game shifts into scavenging)

  • How should i restart the game, start the game and so on?

1 Like

bumpy bumpy bump bump bump bumpy bumpiee!!!

Thats a lot, generally for gamemode systems with changing states without devolving into a bunch of if statements, while loops, task.wait() you can use promises to organise it like below.

Just add a bunch of if statements, mix preset spawn points and math.random.

Optimize it later.

1 Like

Well I would make an enemy system using OOP and set spawners all over the map that will spawn a random amount of each enemy every time a wave ends and spawn harder enemys depending on the wave.
Idk about waves but you could probably have the game slowly spawn in enemys like decaying winter and set some variable to be able to tell if the enemy’s are alive or not
For restarting the game basically just kill all player restart whatever system you design for the rounds and regenrate the map

A game like this would take lots of time and effort so unless your an experienced scripter you should not try to make this.

1 Like

do not worry, i used to be a horrible coder at the start of this project, i do have high hopes of achieving this

will definitely take time, but very much achievable

Well if you dont know about OOP yet then you should probably learn it for the enemy and weapon systems.