I've been meaning to mention this one for a while.
TO REPRODUCE THIS BUG:
1. Create a level with very fast seedlings (say, minimum speed 1000)
2. Then you create an asteroid which has a radius of -for example- 150.
3. The bug becomes evident when you instruct the seedlings to plant a tree on the asteroid. They cannot seem to slow down enough, so they end up circling the asteroid endlessly. After a long time they usually all manage to stick their noses into the soil, but it takes a LONG time, and this gives the player a false visual of how many seedlings they have at the asteroid.
The obvious fixes from a level designers perspective are thusly:
1) Reduce the speed of the seedlings
2) Increase the size of the asteroid
Either of those - or both in some kind of combination - will produce acceptable planting behaviour, however this can mean a level where seedlings are too slow to catch up with fast-moving asteroids, or a level filled with over-sized or same-sized asteroids that have to pass through each other in order to maintain complex orbits.
Here's sample code that should produce the problem:
function LevelSetup()
SetBackdropColour(0,0,0)
SetVignetteAlpha=(255)
Globals.G.EnemyFactionsMin=0
Globals.G.EnemyFactionsMax=0
Globals.G.MinAsteroidSeparation=1250
Globals.G.MaxAsteroidNeighbourDist=4000
Globals.G.GreysProbability=0
Globals.G.Asteroids=0
Globals.G.GreysMin=0
Globals.G.GreysMax=0
Globals.Agents.MaxSpeed=1800
Globals.Agents.MinSpeed=1200
Globals.AI.GraceTimer=(130)
Globals.Asteroids.MaxTrees=0
Globals.Asteroids.MinRadius=90
Globals.Asteroids.MaxRadius=150
Globals.Asteroids.RadiusPowerRule=1.5
Globals.Asteroids.MinSendDistance=2800
Globals.Asteroids.MaxSendDistance=7000
Globals.Asteroids.SendPowerRule=1.4
Globals.StructuresDefense.MinHealth=140
Globals.StructuresDefense.MaxHealth=900
Globals.Structures.FlowerProbability=(0.5)
-- Asteroid 0
a = AddAsteroidWithAttribs(2000,0, 0.3,0.9,0.8)
a.Owner = 1
a.TreeCap = 4
a:AddSuperSeedlings(40)
a.SendDistance = 12000
a.Moveable = false
a:Reveal(1)
destination = AddAsteroidWithAttribs(-4000,0, 0.3,0.9,0.8)
destination.Owner = 1
destination:Reveal(1)
end
function LevelLogic()
end
Any way to find a solution for this behaviour?