function Enemy:update(dt) self.x = self.x + self.speed * dt end
-- Game logic local game = {} game.enemies = {} game.towers = {} game.wave = 1 roblox toy defense script better
function Enemy.new(x, y) local enemy = setmetatable({}, Enemy) enemy.x = x enemy.y = y enemy.speed = config.enemySpeedMultiplier enemy.damage = config.enemyDamageMultiplier return enemy end function Enemy:update(dt) self
function game:update(dt) -- Spawn enemies if math.random() < config.enemySpawnChance then local enemy = Enemy.new(math.random(0, 100), math.random(0, 100)) table.insert(game.enemies, enemy) end y) local enemy = setmetatable({}
-- Enemy classes local Enemy = {} Enemy.__index = Enemy
-- Wave system if game.waveTimer then game.waveTimer = game.waveTimer - dt if game.waveTimer <= 0 then game.wave = game.wave * config.waveIncrease game.waveTimer = config.waveInterval end else game.waveTimer = config.waveInterval end end
-- Tower settings towerDamage = 10, towerRange = 100, towerUpgradeCost = 100,