A combination of the above ideas could be abstracted as follows:
- Drop the whole request constructor thing altogether
- When you build a component at a SB, give the user a list of shipyards (by distance) to "build" the component
- the component is queued at the shipyard, and added directly to the starbase on completion
- the cost of the component is inflated by distance from the shipyard
- optionally, the cost of the components could be influenced by the ZOI as well
ADVANTAGES
There is no need to design/build/manage hundreds of constructors.
The distance from shipyard penalty serves to penalise players for spamming starbases all over the map, as it now makes more sense to build within a decent range of a shipyard
You can then have a mechanic where different component cost different amounts of production, with higher tech modules costing more.
There is no need to manage sponsors, constructors, etc.
Shipyards are kept busy building Sb components, instead of constructors.
It is easier for the player to customise his SB at any time, rather than to have to remember which SB must get which upgrades when the Upgrade Starbase icon pops up. The only thing the user then manages is the build queues at his shipyards.
DISADVANTAGES
Could take multiple ticks to build a component, whereas you can currently build a 4-constructor ship in 1 tick. Don;t have to account for travel time though.
You can't kill enemy constructors (no raiding). You would still need a constructor to build a starbase in the first place, and a 4-module constructor could build 4 starbases.