local spawnstodo = math.min(spawnsPerTick, #(global.swarmQueue))
for i = 1, spawnstodo do
newEnemy = table.remove(global.swarmQueue,1)
local subEnemyPosition = newEnemy.surface.find_non_colliding_position(newEnemy.name, newEnemy.position, 2 + newEnemy.isspawner, 0.5)
if subEnemyPosition then
newEnemy.surface.create_entity({name = newEnemy.name, position = subEnemyPosition, force = newEnemy.force})
else
table.insert(global.swarmQueue, {surface = newEnemy.surface, name = newEnemy.name, position = newEnemy.position, force = newEnemy.force, spawner = newEnemy.spawner}) -- we'll try spawning this again later!