Extended Portfolio
Ludum Dare 37
A 72-hour game jam project built around the theme One Room. This write-up covers the core horde-mode loop, wave generation, and the Unity concepts used in the prototype.
One Room Horde Mode
For this entry, the goal was a simple top-down shooter in a single space with waves of zombies that continually spawn until the player is overwhelmed.
Each enemy kill contributes one point, and the player starts with five hearts. After each wave, the current weapon is replaced, similar to a gun-game progression.
Enemies and Wave Generation
Enemy prefabs spawn from randomized transform points. Waves are generated programmatically, scaling count and tuning spawn cadence while varying enemy selection.
void GenerateWave()
{
var nextWaveNumber = currentWaveNumber + 1;
var w = new Wave();
w.enemyCount = (int)Mathf.Pow(2, nextWaveNumber) + 1;
w.timeBetweenSpawns = waves[currentWaveNumber].timeBetweenSpawns * 0.999f;
w.enemy = enemies[rand.Next(enemies.Length)];
w.enemy.startingHealth = 5 + (currentWaveNumber % 5);
waves[nextWaveNumber] = w;
}