Page 2 of 2
Re: [2.0]Add prototype-level rocket carry capacity
Posted: Fri Dec 06, 2024 6:40 pm
by sh4dow
Rseding91 wrote: Tue Nov 19, 2024 11:48 pm
Per prototype values is not likely to ever happen. The entire system was built with "one rocket capacity" in mind and would be a substantial rework if even possible to rework to account for variable rocket payloads.
For example - the tooltip that shows rocket capacity for a given item. If there are multiple capacities then it just needs to be deleted.
Would it help if there was a "default" rocket capacity, and all other rockets would specify a "multiplier"?
It could still say "1000 Iron plate per rocket", and "heavy rocket" has a capacity of "2x rocket" ie. 2000 iron plates...
Re: [2.0]Add prototype-level rocket carry capacity
Posted: Sat Dec 07, 2024 11:09 am
by BraveCaperCat
sh4dow wrote: Fri Dec 06, 2024 6:40 pm
Rseding91 wrote: Tue Nov 19, 2024 11:48 pm
Per prototype values is not likely to ever happen. The entire system was built with "one rocket capacity" in mind and would be a substantial rework if even possible to rework to account for variable rocket payloads.
For example - the tooltip that shows rocket capacity for a given item. If there are multiple capacities then it just needs to be deleted.
Would it help if there was a "default" rocket capacity, and all other rockets would specify a "multiplier"?
It could still say "1000 Iron plate per rocket", and "heavy rocket" has a capacity of "2x rocket" ie. 2000 iron plates...
Possibly. My solution would be to specify weight per stack, then each rocket can have a specified
max. cargo weight. In your example, the heavy rocket would be able to hold 2 tons of cargo, making it's
max. cargo weight 2 tons.
Re: [2.0]Add prototype-level rocket carry capacity
Posted: Sun Dec 08, 2024 1:30 am
by sh4dow
Otherwise, I guess it might be possible to implement a lua workaround without dev help by setting the "universal rocket capacity" to the lowest common multiple of all the different actual rocket capacities, and then using fake entities to implement an "loss ratio" - ie. if the heavy rocket has a capacity of 10 tons but you are currently using a 1 ton rocket, the silo multiplies every inserted item by 10 (for the hidden "actual" rocket silo), and then when receiving the payload in orbit only 1/10th of the items are actually inserted into the orbital inventory. With this system, it *should* be possible to still mostly use the orbital logistics system without the need to replace the entire system with lua hackery.
The tooltips will obviously show something wrong (if you have a 5 ton and a 12 ton rocket, it would show 60 tons as "rocket capacity", even though nothing could actually send 60 tons to orbit), "in transit" statistics will overestimate how much items will arrive and management of free slots in the orbital receiver might be problematic (the hidden receiver entity would need a high slot count to accept multiplied deliveries (eg. a 1000 plastic delivery would need 100 slots before being reduced back down in the 1 ton bs 10 ton rocket example), but that might cause more actual heavy lift rockets to launch than there is space in the "real" station inventory?
It seems like it's either that or write a completely different logistics system in lua, which probably wouldn't be good for performance, and would likely negate all the QOL improvements from 2.0 (logistic groups etc.)...
edit: (re BraveCaperCat) my previous post was a suggestion for a compromise - the game could still have a "default" cargo capacity, and a minimally supported "weight modifier" system for modders to use. So modded rockets could use different capacities with the native logistic system, but without burdening the game developers with fully supporting different rocket types across all the UIs etc.
Re: [2.0]Add prototype-level rocket carry capacity
Posted: Tue Dec 17, 2024 9:09 pm
by petrathekat
I've been working on a overhaul mod and have run into this problem too.
One potential workaround is, instead of making some rockets able to lift 2x (or whatever) as much, make some rockets 2x as *cheap*. The math works out this way such that, for every 50 rocket parts' worth of materials put in you get 2x the the rocket launches, and therefore 2x the mass into orbit. It's not super elegant but it does work.
(Ninja edit: If you want it truly equivalent, you would also have to speed up the rocket animation to twice as fast so you're waiting the same amount of time for the animations. This might look pretty funny but if you're doing it programmatically you could maybe set it so the time save is put entirely into the part of the animation where the flames ignite underneath the silo, cause that part's slow anyways and it wouldn't look too silly at many times speed.)
One thing I've been half-thinking about is making rockets able to carry less depending on the gravity of the surface. In data-final-fixes, I can iterate through every planet/surface, get each unique gravity value in the game, and create a special rocket silo cloned from the vanilla one but with its rocket_parts_required set to utils.rocket_lift_weight * nauvis_gravity / this_surface_gravity. Then you listen to the events when a rocket silo is placed and secretly swap it out with the surface-specific one.
So, on Vulcanus (gravity=40m/s^2) it would take 50*4 rocket parts to deliver one rocketsful to orbit, and on Fulgora it would take 50*0.8.
Re: [2.0]Add prototype-level rocket carry capacity
Posted: Wed Dec 18, 2024 10:26 am
by BraveCaperCat
petrathekat wrote: Tue Dec 17, 2024 9:09 pm
I've been working on a overhaul mod and have run into this problem too.
One potential workaround is, instead of making some rockets able to lift 2x (or whatever) as much, make some rockets 2x as *cheap*. The math works out this way such that, for every 50 rocket parts' worth of materials put in you get 2x the the rocket launches, and therefore 2x the mass into orbit. It's not super elegant but it does work.
(Ninja edit: If you want it truly equivalent, you would also have to speed up the rocket animation to twice as fast so you're waiting the same amount of time for the animations. This might look pretty funny but if you're doing it programmatically you could maybe set it so the time save is put entirely into the part of the animation where the flames ignite underneath the silo, cause that part's slow anyways and it wouldn't look too silly at many times speed.)
One thing I've been half-thinking about is making rockets able to carry less depending on the gravity of the surface. In data-final-fixes, I can iterate through every planet/surface, get each unique gravity value in the game, and create a special rocket silo cloned from the vanilla one but with its
set to
Code: Select all
utils.rocket_lift_weight * nauvis_gravity / this_surface_gravity
Then you listen to the events when a rocket silo is placed and secretly swap it out with the surface-specific one.
So, on Vulcanus
it would take 50*4 rocket parts to deliver one rocket full to orbit, and on Fulgora it would take 50*0.8.
I thought that you needed 100 rocket parts per rocket. I'll have to make a mod to change that!
This is absolutely not an edit marker: And that mod will have settings.
Re: [2.0]Add prototype-level rocket carry capacity
Posted: Wed Dec 18, 2024 3:06 pm
by petrathekat
According to the raws it's 100 rocket parts in vanilla and space age updates it to be 50.
I might make rockets take 1,000 parts to craft and able to lift 5x as much, though. I want each rocket to feel like a huge triumph (but maybe I just like the thought of inflicting pain upon my players
)
Re: [2.0]Add prototype-level rocket carry capacity
Posted: Sat Dec 21, 2024 9:24 am
by sh4dow
A silo with cheaper/quicker to build rockets doesn't accomplish the same purposes as different capacities though.
Cheap small capacity rockets could be used to send up items that aren't needed in large quantities (eg. inserters and splitters for a space station), or even (with more complex modding) "cluster rockets" that can ship multiple items simultaneously (using smaller rockets internally), while larger rockets could send items that are too heavy for a single normal rocket (eg. nukes or rocket silos).
Re: [2.0]Add prototype-level rocket carry capacity
Posted: Sat Dec 21, 2024 3:05 pm
by BraveCaperCat
petrathekat wrote: Wed Dec 18, 2024 3:06 pm
According to the raws it's 100 rocket parts in vanilla and space age updates it to be 50.
I might make rockets take 1,000 parts to craft and able to lift 5x as much, though. I want each rocket to feel like a huge triumph (but maybe I just like the thought of inflicting pain upon my players
)
Great idea! I might try that sometime.
Re: [2.0]Add prototype-level rocket carry capacity
Posted: Mon Dec 23, 2024 2:34 pm
by petrathekat
sh4dow wrote: Sat Dec 21, 2024 9:24 am
A silo with cheaper/quicker to build rockets doesn't accomplish the same purposes as different capacities though.
I agree, but it's the best solution I can think of without the API changing, and it seems the devs are a bit reticent to change it ... it's mathematically equivalent, and when you're launching thousands of rockets, I don't think it matters *that* much.
Micromanaging the stuff you want sent into space using construction bots from the map view sucks anyways
It would be really nice to be able to unlock sending up heavier things, I agree, but I guess what you could do is unlock a "nuke packaging" research that lets you craft a nuke to and from a dummy item that weighs exactly 1 ton.
Re: [2.0]Add prototype-level rocket carry capacity
Posted: Wed Jan 01, 2025 3:37 am
by sh4dow
Not having to micromanage mixed cargos is a big part of the point of small rockets!
If you had rockets with 0.1 tons capacity, you could use these to fulfill all the small orders - instead of 50 inserters, you'd only send up 5 per rocket, so you'd have far less overhead - and it wouldn't feel bad to throw 1 or 2 spare ones back down, compared to sending up 50 to throw down 45 (or losing a slot in your station inventory until you do throw them away).
Re: [2.0]Add prototype-level rocket carry capacity
Posted: Wed Jan 01, 2025 1:01 pm
by BraveCaperCat
If we can launch a rocket using a script, then we can make multiple rockets with different carry capacities by creating invisible items and filling up the extra rocket weight with them. That way, we then launch the rocket once the remaining (and intended) weight when full.
Then we can create different rockets with different maximum weight. We can even make multiple items which aren't invisible and give them seemingly purpose (things like life-support, thruster control, fuel tanks, etc) which can then have different weights. Then when launching a cargo pod from a space platform, it can require and consume those items (instead of just removing them at the destination), and the same for cargo bays + rocket silos (you'd need to manufacture these on a regular basis as some would get lost during transport) and it could even be recycled for parts when not needed.
Re: [2.0]Add prototype-level rocket carry capacity
Posted: Fri Jan 17, 2025 8:09 pm
by cackling.fiend
I'll add my +1 anyway
Re: [2.0]Add prototype-level rocket carry capacity
Posted: Fri Jan 17, 2025 8:39 pm
by MrSmoothieHuman
also adding 1+