View Issue Details
ID | Project | Category | Date Submitted | Last Update | |
---|---|---|---|---|---|
0021557 | AI War 2 | Gameplay Issue | Sep 1, 2019 7:38 am | Sep 16, 2019 12:03 pm | |
Reporter | NRSirLimbo | Assigned To | Chris_McElligottPark | ||
Status | resolved | Resolution | fixed | ||
Product Version | 0.885 The Audible Bodyguard | ||||
Fixed in Version | 0.887 Ending Scenes | ||||
Summary | 0021557: Engineers moving to the bottom-left corner of the map (something is auto-building over there?) | ||||
Description | Since 0.885 I've noticed that engineers sometimes start moving to the bottom-left corner of the map, their intended coordinates are in the negative 10.000 for X and Y. Kind of annoying since you want them to build stuff, not try to move way out of bounds. Screenshot and savegame of this happening appended. | ||||
Tags | No tags attached. | ||||
related to | 0021652 | resolved | Chris_McElligottPark | Improved Auto-Build |
|
|
|
Edit: They seem to try and build something in that are and sometimes they send constructor beams there. |
|
This sounds like the auto-building process for things on a new planet is trying to auto-build some stuff way out of bounds. I've noticed in at least one of the saves you sent in that 21 different structures had to be moved in-bounds on load. I'm guessing that the auto-construction of factories or something like that is creating things at a wrong location, and the engineers are trying to get over to it. So probably this has to do with the auto-construction logic and not engineers at all. |
|
That is true, factories and energy collectors often get built away from the command station. Just didn't ever notice they got created way out of bounds, and seemingly always in the double-negative coordinates |
|
So the game logic for autobuild currently works like this for both factories and energy collectors: int minRadius = ( ExternalConstants.Instance.DistanceScale_GravwellRadius * FInt.FromParts( 0, 030 ) ).IntValue; int maxRadius = ( ExternalConstants.Instance.DistanceScale_GravwellRadius * FInt.FromParts( 0, 040 ) ).IntValue; ... command.RelatedPoints.Add( commandStation.Planet.GetSafePlacementPoint( Context, collectorData, commandStation.WorldLocation, minRadius, maxRadius ) ); However, GetSafePlacementPoint will return ArcenPoint.ZeroZeroPoint if there's no valid place to put things, which could cause things to be placed outside the grav well (which has always made me nervous). It looks like we are trying to put things at zero zero point. With both autobuild factories and autobuild energy collectors we probably need to bump the safe placement radius up. |
|
Ah, okay. I got this one, then, thanks! |
|
All yours |
|
Thanks! * GetSafePlacementPoint now returns Engine_AIW2.Instance.CombatCenter rather than ArcenPoint.ZeroZeroPoint. ** This means that when there are problems finding a safe placement point, it will now super-stack units at the center of the grav well rather than placing units way the heck out of bounds where nothing can fight them or find them. ** This takes something unplayable and makes it merely annoying. * The GetSafePlacementPoint code is a lot more sophisticated now, with a multi-tiered process where if it can't find a safe point in the desired radius at first, then it will expand its valid range iteratively for a bit to find a spot that is close to what is desired even if not ideal. ** This uses some more computation on planets that are very crowded, but will prevent issues where things super-stack in the middle (formerly getting placed out of bounds) because the ideal range was too restrictive. This should be quite noticeable with things like factories that auto-build on your planets. ** Note that this is entirely untested and could lead to deadlocks or other major problems for all we know. Iterative code is "fun" like that. So knock on wood, as we do our other internal testing in prior to this next build. |
Date Modified | Username | Field | Change |
---|---|---|---|
Sep 1, 2019 7:38 am | NRSirLimbo | New Issue | |
Sep 1, 2019 7:38 am | NRSirLimbo | File Added: 20190901004945_1.jpg | |
Sep 1, 2019 7:38 am | NRSirLimbo | File Added: s1 constructor bug.savemet | |
Sep 1, 2019 7:38 am | NRSirLimbo | File Added: s1 constructor bug.save | |
Sep 1, 2019 7:43 am | NRSirLimbo | File Added: 20190901134155_1.jpg | |
Sep 1, 2019 7:43 am | NRSirLimbo | Note Added: 0052724 | |
Sep 3, 2019 9:09 pm | Chris_McElligottPark | Note Added: 0052796 | |
Sep 3, 2019 9:09 pm | Chris_McElligottPark | Summary | Engineers moving to the bottom-left corner of the map => Engineers moving to the bottom-left corner of the map (something is auto-building over there?) |
Sep 3, 2019 9:09 pm | Chris_McElligottPark | Description Updated | |
Sep 3, 2019 9:11 pm | NRSirLimbo | Note Added: 0052797 | |
Sep 3, 2019 9:19 pm | BadgerBadger | Note Added: 0052801 | |
Sep 3, 2019 9:20 pm | BadgerBadger | Note Edited: 0052801 | |
Sep 3, 2019 9:20 pm | BadgerBadger | Note Edited: 0052801 | |
Sep 3, 2019 9:24 pm | Chris_McElligottPark | Note Added: 0052803 | |
Sep 3, 2019 9:27 pm | BadgerBadger | Assigned To | => Chris_McElligottPark |
Sep 3, 2019 9:27 pm | BadgerBadger | Status | new => assigned |
Sep 3, 2019 9:27 pm | BadgerBadger | Note Added: 0052804 | |
Sep 3, 2019 9:41 pm | Chris_McElligottPark | Status | assigned => resolved |
Sep 3, 2019 9:41 pm | Chris_McElligottPark | Resolution | open => fixed |
Sep 3, 2019 9:41 pm | Chris_McElligottPark | Fixed in Version | => 0.887 Ending Scenes |
Sep 3, 2019 9:41 pm | Chris_McElligottPark | Note Added: 0052806 | |
Sep 16, 2019 12:03 pm | Chris_McElligottPark | Relationship added | related to 0021652 |