Shipyard upgrades not needing base buildings built

Describe your experience with the latest version of FreeOrion to help us improve it.

Moderator: Oberlus

Forum rules
Always mention the exact version of FreeOrion you are testing.

When reporting an issue regarding the AI, if possible provide the relevant AI log file and a save game file that demonstrates the issue.
Post Reply
Message
Author
BlueAward
Vacuum Dragon
Posts: 621
Joined: Mon Aug 08, 2022 3:15 am

Shipyard upgrades not needing base buildings built

#1 Post by BlueAward »

Something like orbital drydock and orbital incubator claim to be upgrades to basic shipyard; they don't show up as available to build unless basic shipyard is built already, or - quite a convenient feature - if it is in the queue. So you can enqueue orbital drydock right after basic shipyard, one less thing to worry about remembering to add later - but until the base shipyard is actually finished, those two upgrades show in the queue as "Never" to complete, and do not progress.

Meanwhile, something like Cellular Growth Chamber and Xenocoordination Facility claim to be upgrades to Orbital Incubator, and something like Asteroid Reformation Processor claims to be an upgrade to Asteroid Processor. Like in the case above, they can only be enqueued if the corresponding "base" building is completed or in the queue. But unlike the previously described buildings, these actually build right away, without necessarily having the "base building" completed.

This leads to situation where one can have something like Cellurar Growth Chamber built in parallel to orbital incubator or quite frankly without it, as the latter could be put down the queue or even paused. EIDT: wobbly told me you can't build the ships without orbital incubator, so you do not save on PP cost of the incubator, but save on turns. But also, if one is not interested in asteroid ships (yet) but would want the rock armor, they can avoid spending PP and turns on building asteroid processor and have asteroid reformation processor built without it.

Would have to check other ships, perhaps building those upgrades in parallel is indeed the intended feature, and requiring ships to have all the building solves that.

So maybe only what about the rock armor?

User avatar
Oberlus
Cosmic Dragon
Posts: 5704
Joined: Mon Apr 10, 2017 4:25 pm

Re: Shipyard upgrades not needing base buildings built

#2 Post by Oberlus »

I don't know, but it looks like buggy.

I would expect that the second upgrade can't start getting PPs until the first upgrade is finished. But it's arbitrary.

Ophiuchus
Programmer
Posts: 3427
Joined: Tue Sep 30, 2014 10:01 am
Location: Wall IV

Re: Shipyard upgrades not needing base buildings built

#3 Post by Ophiuchus »

Oberlus wrote: Wed Mar 29, 2023 6:37 pm I would expect that the second upgrade can't start getting PPs until the first upgrade is finished. But it's arbitrary.
i think we changed that so enqueueing in parallel is possible and building the advanced shipyards does not take too long if you do not have the medium shipyard already built.

that discussion exists and in the pull request https://github.com/freeorion/freeorion/pull/2251

i guess there are reasonable reasons in that wall of textdiscussion

most implementation is in commit b853631b7d137a8a20e506eccfd1dd9438144726 and it seems to describe its intentions

Code: Select all

    Allow medium shipyards to be enqueued and advanced shipyards to be built if requirement is enqueued
    
    Basic level shipyards have no prerequisites:
        ~Basic shipyard
        ~Asteroid processor
    
    Medium level shipyards:
        ~Incubator needs basic shipyard to be (enqueued or built for enqueuement / built to be build)
        ~Orbital Drydock needs basic shipyard to be (enqueued or built for enqueuement / built to be build)
        ~Asteroid Reformation requires Processor to be enqued
    
    Keeps changes from 9e062b71055a8335ae8a1b490a4594f3bd8321e7 but uses macro to specify that the advanced shipyards can be built
        ~Robotic line yards require a Drydock enqueued or built
        ~Cellular and Xenocoordination yards require Incubator built or enqueud
        ~Solar Compressor requires Energy Compressor to be enqueud *and* both require the right sun type or an artificial black hole enqueued
probably the asteroid reformation is different from the other medium level shipyards because the armor does not need a shipyard (and for hulls, the shipyard would be on a different planet)

i guess the both rock armor parts should have both buildings in their location condition.

the prereqs for hulls look a bit weird/buggy(?). the processor and the reformation building do not need to be on the same planet, so i guess one could build the processor on one asteroid, enqueue a processor on another, build the reformation building there and build ships in a shipyard in that system. not sure that is exploitable, but it is weird.
Any code or patches in anything posted here is released under the CC and GPL licences in use for the FO project.

Look, ma... four combat bouts!

Post Reply