Wave system tower defence game.

A

Antoon125

Guest
im making a tower defence game but i cant figure out how to do the wave system.
The goal is to press a button and start a new wave of 15 enemies.
This wave should come inmediatly without waiting for the last one to finish.
It also needs to be infinte.
And cycle through sprites.
Something like this.
wave 1 sprite 1
wave 2 sprite 2
wave 3 sprite 3
wave 4 sprite 4
wave 5 sprite 1
wave 6 sprite 2
etc
I tried so hard fixxing it my self, but i just cant do it :(.
Plzzz help me my game is almost done, i just cant fix this problem.
Sorry for my bad English.
Im from the Netherlands.
 
A

Antoon125

Guest
What does your current code look like?
This is the code i use now. But i think i need something completly diffrent.

/// wave controller

if (start)
{

//enum constants { numEnemies = 0.5, speedEnemies = 0.5 };

if (waveStart)
{
// 1 calculate number of enemies in this wave
enemies = enemies + 15

// 2 calculate the enemy values (enspeed, respawnRate, maxHp)

//enspeed

enspeed = 20

//respawnrate
respawnRate = 30


//maxHp
if (wave <= 1)
maxHp = 10;

else maxHp = wave + 10;

waveStart = false;
}

// 3 create the calculated number of enemies for te wave
if(canSpawn && (enemies > 0))
{
instance_create(0, 0, objEnemyInfinte)
alarm[0] = respawnRate;
canSpawn = false;
enemies --;
}

// 4 reset for the next
if (enemies == 0 )

{
if(!instance_exists(objEnemyInfinte))
{
wave++
start = false;
alarm[1] = 300;
}
}
}
 

Gamerev147

Member
This is the code i use now. But i think i need something completly diffrent.

/// wave controller

if (start)
{

//enum constants { numEnemies = 0.5, speedEnemies = 0.5 };

if (waveStart)
{
// 1 calculate number of enemies in this wave
enemies = enemies + 15

// 2 calculate the enemy values (enspeed, respawnRate, maxHp)

//enspeed

enspeed = 20

//respawnrate
respawnRate = 30


//maxHp
if (wave <= 1)
maxHp = 10;

else maxHp = wave + 10;

waveStart = false;
}

// 3 create the calculated number of enemies for te wave
if(canSpawn && (enemies > 0))
{
instance_create(0, 0, objEnemyInfinte)
alarm[0] = respawnRate;
canSpawn = false;
enemies --;
}

// 4 reset for the next
if (enemies == 0 )

{
if(!instance_exists(objEnemyInfinte))
{
wave++
start = false;
alarm[1] = 300;
}
}
}
Yea that system seems a bit complex when it can be so much more simple. Since I'm not pro at this type of stuff, I went ahead and did some research for you.
Hopefully this stuff helps!

Sorry I couldn't be much more help. I'm not too great at tower defense type stuff. Good luck!;):)
 
Top