View Issue Details

IDProjectCategoryLast Update
0002009AI War 1 / ClassicSuggestion - Interface Ideas - Unit Selection, Management, and OrdersDec 11, 2010 8:44 pm
ReporterSuzera Assigned Tokeith.lamothe  
Status resolvedResolutionfixed 
Product Version4.049 
Summary0002009: High numbers of ships do not initially move one-per-spot in formation
DescriptionThey overlap and then destack. I was building a ton of ships with more more more and omegas to see how much firepower things had, and I noticed they would keep moving apart from each other as if they were colliding. It turns out that during/after moving, many of them will try to occupy the same positions as other ships, then they'll start all falling out from collisions.

They'll keep doing it too every time they are moved. Seems fine up to about 1500-1800 ships, then it starts breaking down and multiple ships occupy the same positions in the radial lines/rings/whatever you're doing.
TagsNo tags attached.
Internal Weight

Activities

Suzera

Dec 11, 2010 7:18 pm

reporter   ~0005994

They collide for a very long time sometimes too because they'll recollide with other ships now and then.

Suzera

Dec 11, 2010 7:21 pm

reporter   ~0005995

After building some more, it looks like they may not be line splitting soon enough. It looks like roughly the correct amount may be in each radius increment, but after a couple dozen ship radii out it breaks down.

Fleet ships only in this at the moment.

keith.lamothe

Dec 11, 2010 8:06 pm

administrator   ~0006002

It's actually using a rolling index into an array of 4000 pre-computed points on expanding concentric circles. It uses the same thing for when you exit from a wormhole or a transport, etc. It used to be that all these things would try to pack all the ships onto the _one_ point and then collide out from there so this really isn't a bug, just an inefficiency.

But I don't see any particular harm in expanding the array to 8000 so I've done that for 4.050. Based on what you're saying it's only able to use about half the points for some reason; perhaps there are duplicates (I used to tell it to cull duplicates, but since that's O(n^2) it was slowing down game initialization).

Anyway, we'll see how it goes, thanks for investigating :)

Suzera

Dec 11, 2010 8:44 pm

reporter   ~0006022

It seems to be breaking down well before 4000 though for some reason.

keith.lamothe

Dec 11, 2010 8:44 pm

administrator   ~0006023

The remainder of my comment should explain that :)

Issue History

Date Modified Username Field Change
Dec 11, 2010 6:55 pm Suzera New Issue
Dec 11, 2010 7:18 pm Suzera Note Added: 0005994
Dec 11, 2010 7:21 pm Suzera Note Added: 0005995
Dec 11, 2010 8:06 pm keith.lamothe Note Added: 0006002
Dec 11, 2010 8:06 pm keith.lamothe Status new => resolved
Dec 11, 2010 8:06 pm keith.lamothe Resolution open => fixed
Dec 11, 2010 8:06 pm keith.lamothe Assigned To => keith.lamothe
Dec 11, 2010 8:44 pm Suzera Note Added: 0006022
Dec 11, 2010 8:44 pm keith.lamothe Note Added: 0006023