Adjust the build skirt of naval factories

@black_wriggler said in Adjust the build skirt of naval factories:

I think fixing the roll-off points would go a long way to improving the behaviour of naval facs, i remember once playing around with rally points for ages trying to get the ships to leave cleanly when they finish building.

This involves giving them more space - we've tackled this with pull request. One of the change is to increase the distance of the roll off point based on the size of the unit.

23a7e082-913e-4cfa-be67-1195add13213-image.png
Footprint size of battleship

438c6d64-6120-436c-99eb-8e6d15190971-image.png
Old roll off point, too close to the factory where the unit doesn't fit (see previous image for footprint size) so the unit has to find an alternative roll off point location

fc1719fb-0aaf-4814-a3ad-b231832fdfeb-image.png
New roll off point, further away from the factory based on the size of the unit

This fixes the 'weird' roll off that especially battleships had, but again - it assumes there is actually space on the sides of the factory and we currently do not guarantee that. In practice this will still be weird behavior for the majority of players and all the AIs.

A work of art is never finished, merely abandoned

And I'd like to mention that this is a big problem, you are just used to it. If this game would launch now* with such poor roll off points then we'd all be so frustrated that we'd drop it after a week. And why wouldn't we, if battleships get stuck that easily 🙂 . Note that some change is required, as otherwise new players and AIs will always make this mistake. And that destroys the immersion of the game - which, again: that is a problem.

A work of art is never finished, merely abandoned

We could also only apply a vertical stretch, but not a horizontal stretch.

a7c2864e-30b0-4763-983e-d5583069a38a-image.png

That allows them to be cliff buildable in the majority of cases as we have right now, but still encourages people to space them out more.

A work of art is never finished, merely abandoned

While I'd favour the naval factory skirt size changes to resolve this over other options such as changing ship sizes, if people value needing cliff-building to the same extent as now so much that it means a frustrating bug for new players won't be fixed, then I'd presume a possible alternative option in addition to this could be to increase the build radius of engineers slightly. E.g. increase by 1 for T1 engi, 2 for T2, and 3 for T3, which I'd expect would give scope for increasing the skirt size slightly without preventing cliff-building in many cases. Obviously there would be wider balance implications of such a change though.

From my recollection of the first time I ran into the issue when playing FAF it made it a really frustrating negative experience, and the main reason it's not been a bigger issue for me is because I've assumed it was similar to the 'Engi bumping' pathfinding problems where it's not possible to fix the issue and so something I'd just have to live with if I play FAF.

Thank you for tackling this issue.

I agree with your proposed solution of adding rotated copies of the naval factory, but something should be done to avoid cluttering the build menu-just like others, I always found it weird how depending on whether you are on the right or left side of the map you'd have more or less problems (ships having to go around the factory itself).

You don't get this issue with ground or air factories as units are built in the middle of them, but any change here would most likely impact balance.

Is it possible to draw two rectangles around naval factory, when placing it. One corresponding to space needed to t2 ships being able to pass, and second corresponding to t3 ships being able to pass? Something like fire radius when placing pd's? So it would be much easyer to see, how much place is needed for eventual upgrade or passage later.

@wikingest said in Adjust the build skirt of naval factories:

Is it possible to draw two rectangles around naval factory, when placing it. One corresponding to space needed to t2 ships being able to pass, and second corresponding to t3 ships being able to pass? Something like fire radius when placing pd's? So it would be much easyer to see, how much place is needed for eventual upgrade or passage later.

Yes - some form of radius when building the factory is possible. Similar to how the Soothsayer has a radius upon building to indicate the radius of its effect.

A work of art is never finished, merely abandoned

How about making ships "phase through" the naval factory that built them until they have reached their roll of point?

It wouldn't introduce nearly as many headaches as changing factory skirt sizes and land factories essentially already behave like that, with them constructing a unit in their normally unpathable center.

It wouldn't introduce nearly as many headaches as changing factory skirt sizes and land factories essentially already behave like that

They do not, they use the same mechanic as any other factory / unit. It is just that land units tend to have a low diversity in footprint size and they are a lot more maneuverable.

A work of art is never finished, merely abandoned

what I meant is that a land unit gets build on a point that's not reachable for said unit after the construction is complete. Can't move back onto a factory afterall

@cheeseberry said in Adjust the build skirt of naval factories:

what I meant is that a land unit gets build on a point that's not reachable for said unit after the construction is complete. Can't move back onto a factory afterall

My mistake, I thought they did have something similar. See also their occupation layers:

0d9e9930-d2d8-4a9a-9c45-24136ab2f5ba-image.png

Only quantum gates can be traversed through 🙂 .

Naval yards have something similar, but that won't fix the issue: the issue is not that the unit is colliding with the factory it is building. The issue is that it can not move towards the roll off point. Therefore it computes an alternative location that is close to the roll off point, and that causes it to (eventually) clip into all sorts of things. See also my previous post:

For your idea, this is the roll off point for a land factory:

f70bfe3e-ae84-43e2-9a1f-a4444cd47395-image.png

Which is guaranteed to be clear of other things, including other buildings.

A work of art is never finished, merely abandoned

You can walk through a quantum gate? Learned something today 😄

Also yes, the issue isn't caused by the ship colliding with the factory after completion, but I think the issue might be solved by disabling said collision for a couple seconds after completion.

I'm not aware of a method to skip collisions all together, I don't think there's such a flag.

A work of art is never finished, merely abandoned

the massive units, such as the GC seem to have something like that.

They ignore buildings during pathing all together, dealing damage to opponent's buildings they step on but crucially just passing through (over?) your own buildings without effecting them.

No clue if something like that is doable for navy units, but at least something kinda similar exists

Yes, but I'm not sure how we can switch between the type of pathing for individual units. There is no flag that you set, it is a blueprint value that determines what it can and can not walk over, set during loading.

A work of art is never finished, merely abandoned

hmm I see 😕

could we maybe adapt the behavior land factories use with their roll off?

It uses the same function, the difference is in the units. A battleship just requires a lot of space to leave the dock.

A work of art is never finished, merely abandoned

While it uses the same function, the land unit spawns on unpathable terrain, while the navy unit does not, right?

So could we maybe make that part of the factory where the battleship is being built unpathable too to achieve the same "phase through unpathable terrain" effect?

Yes, and it can phase through the naval factory. It can already do that 🙂 . But the issue is in the roll off point, not where the unit spawns. It is too close to the naval factory.

And that doesn't remove the issue that if placed improperly you can create a pathfinding garbage can between naval factories, especially for - yet again, battleships and the like.

A work of art is never finished, merely abandoned

It seems to me like I don't actually understand the exact problem you want to solve.

For me the main problem with navy factory pathing are the ~5 seconds after a unit is built being very inconsistent. It takes seemingly random paths, sometimes driving into a wall or the naval factory it was built from, and then just stopping there.
The problem could be summarized as: "Make navy unit roll of consistent for all queued movement directions"

This could, I think, be solved by having the ships phase through the factory that built them and adding two horizontal roll off points in addition to the two vertical roll of points that already exist.

Is your problem description closer to: "Make it impossible to block navy traffic with naval factories." ?