[2.0.11] Rocket silo: Add Payload Assembly Building

Post your ideas and suggestions how to improve the game.

Moderator: ickputzdirwech

mrvn
Smart Inserter
Smart Inserter
Posts: 5860
Joined: Mon Sep 05, 2016 9:10 am
Contact:

[2.0.11] Rocket silo: Add Payload Assembly Building

Post by mrvn »

TL;DR
Add an extension building for the Rocket Silo similar to the Cargo Bay building for space platforms.

What?
The PAB (Payload Assembly Building) would be an attachment for the rocket silo similar to the Cargo Bay for space platforms. It must be placed next to a Rocket Silo or another Payload Assembly Building and merges with it. The building replaces the cargo aspects of the Rocket Silo in all forms other than starting a new platform or traveling to space. Those two things remain in the Rocket Silo.

The PAB has a selector for which platform it services. The default is any unassigned platform, meaning one without an PAB configured for it. This mirrors what the rocket silo currently does. This comes with some restrictions and problems just like with the Rocket Silo. For example reading requests doesn't tell you where the request is from. No way around that. This changes when the PAB is configured for a specific platform. Then the requests are only requests by that platform and cargo only travels to that platform. Want to handle 2 platforms: build 2 PABs.

Note: A priority setting like with train stations could be useful with multiple PABs. When multiple PABs have a payload ready to send the priority decides which goes into the next rocket. Without that round-robin of the PABs seems like good enough.

The PAB has an inventory of size 40 or maybe 60 with no weight restrictions and basically the same features as a requester chest for requesting items and trashing excess and such. Additionally it has the "Automatic requests from space platform" toggle for sure and maybe a "Request full rockets only" toggle that will only request items if a rocket can be filled by the current logistic network contents. Without the later the PAB will request everything configured and slowly collect a payload. The PAB also has a 'Launch' button or can be set to launch a) when full, b) when construction requests are satisfied, c) when all requests are satisfied or d) on circuit condition. The 'Launch' button sends the rocket to the configured platform or asks which platform when unconfigured and more than one platform is in orbit.

Now comes the /assembly/ part of the PAB. When a rocket is waiting on the Rocket Silo the PAB checks the intersection of requested items and available items sorting them and if a rocket can be filled fully or with too little space for any of the unavailable items then the rocket is filled and launched. Sorting items takes construction items first, turrets and ammo first, then scaffolding and then the rest by weight. Non construction materials are sorted first by anything making up a full rocket and then by weight. This means a blueprinted platform will get it's defenses up quickest so it isn't destroyed during assembly. The chosen payload might not use space optimally but it avoids the packing problem and tries to fill holes with smaller items.

Note: non construction materials could avoid breaking up items that make up a full rocket where possible. So if there are 1000 copper plates available (and requested) and the payload has 1 furnace for construction already in it then the PAB would rather fill in 30 assemblers and 19 inserters than split the 1000 copper plates. But that's purely a preference and optimization of the packing.

The PAB should have a box for the current payload plan. The box should have 2 parts: First an empty row (expands down when full) where the player can manually place items. Below that automatic slots where it shows the current content sorted by the above and cut off by the weight limitations of the rocket. Below this the "X kg of 1 ton" text can appear. When you manually hit the Launch button then whatever is shown in the box will get put into the rocket.
Why?
See viewtopic.php?f=6&t=118510 for all the things broken with the rocket silo. This addresses a lot of the shipping issues mentioned there.
kimbernator
Manual Inserter
Manual Inserter
Posts: 4
Joined: Sat Jul 13, 2019 1:45 am
Contact:

Re: [2.0.11] Rocket silo: Add Payload Assembly Building

Post by kimbernator »

Interesting idea. I am seeing a few logical challenges with this, though.

Can a single PAB connect to multiple rocket silos?

Can multiple PABs be built for the same platform? If so, does each one request the same amount of everything from the logistics network? If there is a 1:1 ratio of PABs to platforms, how can I scale throughput?

What happens when my entire construction request is 1 of a single item but I'm planning to place more ghosts soon? How could this system be intuitively designed not to just naively launch when all construction requests are fulfilled, but also not leave construction requests unmet because the rocket has some logic preventing launching below a certain weight?

I think it's an interesting idea but I suspect there are some really significant hurdles to making a system like this approachable.
Tinyboss
Filter Inserter
Filter Inserter
Posts: 467
Joined: Sun Nov 16, 2014 12:11 pm
Contact:

Re: [2.0.11] Rocket silo: Add Payload Assembly Building

Post by Tinyboss »

This feels excessively complicated for the problems it aims to solve. Look at how much you had to write to explain it (and I think your writing was clear and concise). How do we communicate all that to a new player?
Vulteran
Burner Inserter
Burner Inserter
Posts: 11
Joined: Tue Aug 23, 2022 3:50 am
Contact:

Re: [2.0.11] Rocket silo: Add Payload Assembly Building

Post by Vulteran »

I think most of this is actually a good change, but the PAB is not needed, just have a dropdown in the rocket silo itself to select a platform to auto service. Then it always knows which platform to send requests to, and can read signals from only that platform.

The part with handling rocket part ingredients is honestly less needed IMO, you almost never want to send up less than several stacks of these materials anyways, so the current behavior for those three items works anyways.

Optionally, it might be possible to also have the silo default to normal behavior if the platform it is set to service is not in orbit, so that it can be available to service other platforms (maybe as a checkbox?).
mrvn
Smart Inserter
Smart Inserter
Posts: 5860
Joined: Mon Sep 05, 2016 9:10 am
Contact:

Re: [2.0.11] Rocket silo: Add Payload Assembly Building

Post by mrvn »

kimbernator wrote: Mon Nov 11, 2024 5:09 pm Interesting idea. I am seeing a few logical challenges with this, though.

Can a single PAB connect to multiple rocket silos?

Can multiple PABs be built for the same platform? If so, does each one request the same amount of everything from the logistics network? If there is a 1:1 ratio of PABs to platforms, how can I scale throughput?

What happens when my entire construction request is 1 of a single item but I'm planning to place more ghosts soon? How could this system be intuitively designed not to just naively launch when all construction requests are fulfilled, but also not leave construction requests unmet because the rocket has some logic preventing launching below a certain weight?

I think it's an interesting idea but I suspect there are some really significant hurdles to making a system like this approachable.
Interesting idea to have multiple rocket silos. I don't see why not.

I don't think having multiple PABs for the same platform would be necessary. The bottleneck for me so far is the rocket silo and if a PAB connects to multiple silos then that scales. But again I see no reason why not. They would have too coordinate loads when set to automatic though or both would ship the same load and deliver double what was requested. When set to manual I think deciding what goes into which PAB would be your problem.

PABs set to the same platform could use a shared inventory, so you just get a bigger building and inventory. This could be limited to PABs that are interconnected. So you couldn't build a rocket PAB at your iron smelter and another at your copper smelter and service the same platform. I think for that just set the PABs to all platforms and load it up with the plates.

One hard limit on scalability would be the number of inserters you can use to fill the PAB, if you don't use logistic robots for that. But really how much stuff can you load into a platform? The surface for a platform seems to be limited so there is an upper limit for the number of cargo extensions you can have. And I hear large chests do become really slow, some O(n^2) problem. You would be better of building 2 or more platforms if throughput is your problem. And if you mix unassigned PABs for big loads with assigned PABs for mixed cargo that should scale really well.

Note: I suggested that unassigned PABs should ignore platforms that have a PAB assigned. But on second thought scratch that. It really should be possible to have a PAB dedicated to shipping copper plates and only deal with the partial loads in assigned PABs.
Post Reply

Return to “Ideas and Suggestions”