Why do unfinished units/buildings ctrl k in FS games?

Why do unfinished elements get destroyed in FS games when a player receives the base from a former player who is no longer in the game?
A 99 % finished t4/t3 pgen just blows up. Is it possible to just get it similar to a paused upgrading mex which does not blow up?

Do you have a replay or two for us where this behavior happens?

Experimental units should be shared, even when not finished. It doesn't apply to all structures however. Just high-value structures.

A work of art is never finished, merely abandoned

@jip Why doesn't it apply to all structures? Whether something is high value or not depends on the state of the game.

E.g. a T2 PD at a base is high value if it's 90% complete with the enemy sending a bunch of tanks towards it - if progress is retained the raid is defeated. If progress isn't retained the base is destroyed.

Another example would be the first T2 Pgen.

The behaviour's frustrated me for a while but I'd hoped from the patchnotes re a pull request that it was a bug and would be fixed (https://github.com/FAForever/fa/pull/6106), but sounds like it may just be limited to a handful of unit types (and sandboxing just now it failed to transfer a part-complete PD).

Is this a deliberate balance choice that it's not wanted for other units to transfer? a performance issue? or just a lack of dev manpower in implementing something?

If the latter then I don't mind having a look more generally to extend the behaviour to all structures - e.g. I'd see a relatively low performance impact solution could be to expand from applying to part-complete experimentals to all part-complete buildings (since it would only happen as a 1-off), either by expanding whatever logic is used to do this for experimentals, or doing a check when a player's ACU dies if it's assassination full-share mode to get a list of units they own of the structure category, cycle through each of them to see if their fraction complete is <1, and if so to record the details and recreate the unit at the point of transfer.

@maudlin27 said in Why do unfinished units/buildings ctrl k in FS games?:

@jip Why doesn't it apply to all structures? Whether something is high value or not depends on the state of the game.

I don't know - it's a rule that exists in the Lua code base for years now. See also the original commit or pull request from six years ago.

A work of art is never finished, merely abandoned

Thanks, from the PR it sounds like it was either a technical issue preventing it or a manpower issue, so I’m assuming if I come up with a solution it’s unlikely to be wasted effort. Would be grateful if the game (and/or balance team although it doesn’t feel like much of a balance issue) teams see this and have an objection they could let me know, otherwise I’ll note it down to have a look at when I have a bit if time

@Jip
I don't have a replay with a t4 at hand (maybe my memory is off and it was structures only?).
Here is an example of #22913645. At ~ 8:50 my base is transferred and an unfinished t3 pgen blows up.
I think it would be better if all structures and units being build would be transferred without blowing up.

@maudlin27 said in Why do unfinished units/buildings ctrl k in FS games?:

Thanks, from the PR it sounds like it was either a technical issue preventing it or a manpower issue, so I’m assuming if I come up with a solution it’s unlikely to be wasted effort. Would be grateful if the game (and/or balance team although it doesn’t feel like much of a balance issue) teams see this and have an objection they could let me know, otherwise I’ll note it down to have a look at when I have a bit if time

It is not a manpower issue - if we want it to work for all units then (as far as I can see) all you need to do is change this line from:

  • for _, unit in EntityCategoryFilterDown(transferUnbuiltCategory, units) do

To:

  • for _, unit in units do

Both Strogoo and Keyser were members of the balance team at the time. The limitation is mentioned in the commit that I also linked. It is intentional given that the units are explicitly filtered. That makes it a balance decision as far as I am concerned 🙂 .

@ninrai said in Why do unfinished units/buildings ctrl k in FS games?:

I don't have a replay with a t4 at hand (maybe my memory is off and it was structures only?).
Here is an example of #22913645. At ~ 8:50 my base is transferred and an unfinished t3 pgen blows up.
I think it would be better if all structures and units being build would be transferred without blowing up.

With regards to the replay:

1d1399d2-d696-46c5-90a9-369fb47b1464-image.png

1d3d0c9e-3ca0-4422-a36e-cf5e1ebe2cbf-image.png

It was a tech 2 power generator 🙂 , it blew up but the death weapon did not trigger. Everything worked as expected - this was not a bug.

A work of art is never finished, merely abandoned

Mz bad, it was a t2 then.
I could swear it happens with t3 pgens as well. If air player acu dies while pgen was almost done, and then it blows up, air is basically lost.
Maybe someone can explain eventually what the reason behind losing all resources put into the structure is.
If only specific units/structures are effected it would be nice if someone could provide a list of the affected ones.

@ninrai said in Why do unfinished units/buildings ctrl k in FS games?:

If only specific units/structures are effected it would be nice if someone could provide a list of the affected ones.

Based on the categories the list would be:

BlueprintId Faction Name
uaa0310 AEON Experimental Aircraft Carrier
uab2302 AEON Heavy Artillery Installation
ual0401 AEON Experimental Assault Bot
uas0401 AEON Experimental Battleship
ueb2302 UEF Heavy Artillery Installation
ueb2401 UEF Experimental Artillery
uel0401 UEF Experimental Mobile Factory
ues0401 UEF Experimental Aircraft Carrier
ura0401 CYBRAN Experimental Gunship
urb2302 CYBRAN Heavy Artillery Installation
url0401 CYBRAN Experimental Mobile Rapid-Fire Artillery
url0402 CYBRAN Experimental Spiderbot
xab1401 AEON Experimental Resource Generator
xab2307 AEON Rapid-Fire Artillery Installation
xea0002 UEF Defense Satellite
xeb2402 UEF Experimental Satellite System
xrl0403 CYBRAN Experimental Megabot
xsa0402 SERAPHIM Experimental Bomber
xsb2302 SERAPHIM Heavy Artillery Installation
xsb2401 SERAPHIM Experimental Missile Launcher
xsl0401 SERAPHIM Experimental Assault Bot
xsl0402 SERAPHIM Unidentified Residual Energy Signature

A work of art is never finished, merely abandoned

I can confirm that this has happend to me several times with T3 HQs T2 and T2 Pgens and exp.