Mods introducing new content into the game.
Augmented or new ways of transporting materials - belts, inserters, pipes!
Entities which interact with the circuit network.
Hi Devilhar,
good work with this mod. Because of the limitation, that only one drone can fly to the same tower.... just not enough transport capacity. Is it possible to increase the payload dramacticly (x10) ?
wbr
Hitwood
Hey hop Hitwood!
I was already thinking of maybe adding a config for it, so that people can get a higher throughput
However right now I've made some changes that will allow drones to queue at moorings, so more than 1 can target the same one
I'll probably still try to add a config since too many drones isn't good for the UPS
Alright, you can now change the inventory size in the settings in the main menu, just update the mod
Although consumption is low, if I operate it over long distances, a queue forms at one requested location, and all drones end up waiting.
Could you please add a setting to allow only one drone per location?
I'd appreciate it if this could be changed from the settings.
Hmm... Although technically possible, I'm not sure it's something I want to add as a "setting", I'd probably instead want it as a signal you can give the mooring to limit the amount of drones, sort of like with train stations. Feel like that would have a bit more utility
Can I just ask though, since they're all queuing up, do you think the problem could be either the throughput of unloading, or that the request is set too high or is not checking if the items are already buffered (I.e. what type of signal setup are you using, is it just a Constant combinator hooked up to the requester)?
Version 1.2.0 includes a way to limit Cargo drones heading to a mooring. Just give the mooring a L signal with the limit you want
Note that drones already queuing won't change target. You'll either need wait for the queue to dissipate on its own, or pick them or the mooring up and place them/it back down again
Okay, i was just to write something to limit the.... :) I have to send the the signal to the provider or requester ? How in detail ?
I have added a short explanation to the modpage, but here's another explantation
Send a L signal to the mooring you want to limit the amount of drones heading towards. Simplest setup is to place a Constant combinator, and inside select the L letter signal, and set the value to the max drones you want going towards the mooring. This works for all moorings, so Providers, Requesters, and Refuelers
As you have added the [L], could you also add the [P] so we can set priority? That way, if something farther away needs something more than something closer, the priority can be set higher. (I set my train stops that way; loading stations set priority based on how full the buffers are, while unloading stations set priority based on how empty the buffers are. It makes sure that none of my stations sit idle while full or run out.)
Cheers!
I was looking at priority right now, seemed like the natural progression XD
Right now the priority for requesters are arbitrary. Requesters, in order of being placed, will pick an idle drone nearest to the provider it wants items picked up from. So it does try to be clever, but this does mean drones can go around moorings in some wild orders. I don't know if I will change that, depends on how much I can get away with performance wise. But a priority signal would at least give players a way to mitigate it
Alright, I've implemented priority via [P] signal.
The only annoying wrinkle I'm not sure how to handle is that by default each mooring has a priority of 0, since Factorio don't seem to differentiate between 0 and no signal in the API either. I'd prefer not to convert 0 to a higher value (that sounds like a landmine when dealing with circuits), and I don't know if I want to allow negative values so it mimics Train stops as much as possible. So currently there's no way to lower a mooring's priority if other moorings haven't been setup with a priority signal. Sort of like an all or nothing situation. I'd welcome input on this
I've done some sanity testing, but I'm not done with testing yet so I won't release it on the portal today, but it can be found here if anyone wants it early:
https://github.com/Devilhar/factorio-cargo-drones/releases
Priority is now tested and released here
WOOHOO! Thank you.
I noticed an issue with your example: any time an item quantity goes over the limit by 1, it will trigger a delivery. As deliveries are SO expensive in time and UPS, single decider combinator (per tower) is needed to only trigger the tower when a set limit is reached. (If there are multiple items to consider, combinators can be used in parallel so that if any go over the limit, the tower will be triggered.)
For providers, the logic would be something like IF (input.each > 20) THEN (output.count(each)). This will wait until there is more than 20 items, then trigger a pickup of all items.
For requesters, the logic would be something like IF (input.each < 20) THEN (output.set(each) = 100) This will wait until there are less than 20 items, then request 100, maintaining a level between 20 and 120.
(Providing parametric blueprints would be handy.)
That strikes me as eminently reasonable, yes. And I get the feeling 99% of people are just going to use the blueprint book without thinking about the circuit logic, in lieu of user-friendly UI
And as a bonus it also showcases how I intended drones to be used, i.e. moving a lot of different or specialized item types rather than as a train replacement (I'll still try to facilitate it, but I can only do so much for the UPS)
One option would be to also fold the decider logic right into the towers, allowing users to click on them to select item(s), with minimum and maximum limits for each.
Also, could you drop the volume on the SFX by 85% when they aren't moving? Constantly hearing engines idling gets really irritating after a while.
I'll have to investigate how to do decider logic (Or outputting signals from moorings) and see what I think about it. It has been on my todo list to check out, because I'd also like it if moorings could send signals for incoming drones. But before that I want to complete some optimizations and reduce lag spikes
And completely agree on the sound, just be glad that you haven't constantly listened to 400+ drones idling when stress testing '-_-
I'll have to investigate how to do decider logic (Or outputting signals from moorings) and see what I think about it. It has been on my todo list to check out, because I'd also like it if moorings could send signals for incoming drones. But before that I want to complete some optimizations and reduce lag spikes
Fair enough.
And completely agree on the sound, just be glad that you haven't constantly listened to 400+ drones idling when stress testing '-_-
Hell, I'm surprised YOU didn't stomp on the issue right away! (I believe that the API allows for changing both pitch and volume of SFX in real time. Having the engine SFX ramp down to quiet and low-pitched and vice versa based on speed would be pretty sweet and would make it MUCH less aggravating.)
https://lua-api.factorio.com/latest/types/Sound.html
https://lua-api.factorio.com/latest/types/WorkingSound.html
car-engine-start.ogg, car-engine-stop.ogg, car.engine.ogg (idling), and car.driving.ogg (flying) would all work well for general flying. (I would use 'driving -> engine -> stop' when coming to a stop and 'start -> engine -> driving' when starting up. When still, the engine doesn't need to be running, in my opinion.
car-metal-impact-2.ogg at half speed should work for docking with towers.
Cheers!
Hell, I'm surprised YOU didn't stomp on the issue right away!
You'd be suprised when developing just how quickly one can just start ignoring glaring issues. I got annoyed at it, but since I was already working on something else I just moved the camera away when I didn't need to look at them. This quickly became muscle memory
- After a minor bit of digging, I found that, while you can change the volume at runtime, you can't change the pitch, only the speed.
https://lua-api.factorio.com/latest/types/Sound.html
https://lua-api.factorio.com/latest/types/WorkingSound.html
car-engine-start.ogg,car-engine-stop.ogg,car.engine.ogg(idling), andcar.driving.ogg(flying) would all work well for general flying. (I would use 'driving -> engine -> stop' when coming to a stop and 'start -> engine -> driving' when starting up. When still, the engine doesn't need to be running, in my opinion.
I'll file it and have a peek at it soon
car-metal-impact-2.oggat half speed should work for docking with towers.
Oooohhh, I didn't even think about docking sounds. But now it feels empty without it
I've implemented the sound changes, but I'm particularly awful at hearing if something sounds good or not, so I'd appreciate feedback
I'll release it here on the portal when I'm done testing, but again the new version can be downloaded at github
I've also gone ahead and added a special thanks in the README to you Keith, which will end up on the portal soon if that's OK
I tested for some hours now. My conclusions... Small adaption. The drones fly most of the time nearly empty. One option to fly only with a full inventory would be great. Big Change...maybe you put too much effort and complexity in it. To have a requester and a provider station with an internal storage, which you can link or select the items they are tranfering. The drones you just assign to one of them, with the option to fly only when the inventory is full. I like the effort you put into the mod :)
I've implemented the sound changes, but I'm particularly awful at hearing if something sounds good or not, so I'd appreciate feedback
I'll release it here on the portal when I'm done testing, but again the new version can be downloaded at github
I'll check it out the next time I update my mods.
I've also gone ahead and added a special thanks in the README to you Keith, which will end up on the portal soon if that's OK
That's fine.
The drones fly most of the time nearly empty. One option to fly only with a full inventory would be great.
This can currently be solved with circuits; I've updated the example page and blueprint book, which includes a Decider combinator with which you can set thresholds for providers and requesters. Obviously an interface inside the moorings would be better, but signals were far faster to implement. I might look at it again though once I add UI
Big Change...maybe you put too much effort and complexity in it. To have a requester and a provider station with an internal storage, which you can link or select the items they are tranfering.
It has a fair bit of front-loaded complexity, yes. The reason for it though is simply that I like the "tactile" feel of having to load and unload the drones. I originally saw Industrial Revolution 3: Airships and loved the way it looked and that it bridges between bots and trains. But didn't like how it simply chucked its cargo to the stations, and I wished I could unload them myself. That's the whole reason I even created this mod 😅
Again, hopefully adding UI should make it more accessible and easier to setup and make it feel less complex
I like the effort you put into the mod :)
C:
Thank you! I hope you've enjoyed it!
I've implemented the sound changes, but I'm particularly awful at hearing if something sounds good or not, so I'd appreciate feedback
I'll release it here on the portal when I'm done testing, but again the new version can be downloaded at githubI'll check it out the next time I update my mods.
Cheers!
The changes are now on the portal, so the mod can now be updated in the game's mod menu