Desynced

Desynced

Grizley Aug 17, 2023 @ 3:29pm
Programs to solve stupid AI as a feature
The bots are infuriatingly inefficient if you leave them on their own. You have a 20x20 square to pave? The bots drive a mile, pick up one pavement, drive a mile back and then put it down. Then they do that again.

There's a pretty simple fix. A program that checks if it has X pavement, if not go get them, if yes, scan for construction, if found for every construction in range try to deliver a pavement, if not found then patrol and scan again.

There's other things I would love to fix like bots driving out and picking up 1 ore from a miner and dropping it off, or something similarly wasteful. I've not been able to figure out a way to set a restriction like do not pick up an item stack that is less than the smaller of item max stack size or requested amount. Not to have it apply to the default logistics behavior anyway.

Not sure if it's intended that you fully replace the 'standard' unit behavior but it seems like it would be very rewarding to do so.
< >
Showing 1-13 of 13 comments
rgarrett Aug 17, 2023 @ 3:57pm 
i think part of the game is making them smarter ingame its already a feature you can solve

not me tho cuz im dumb and havnt solved it yet
Or you could drop a staging depot at the construction site and send trucks with the supplies, instead of sending your carpenters to the lumber yard each time they need another 2×4.

The bots are efficient if you learn how to use them, not efficient if you don't.
rgarrett Aug 17, 2023 @ 4:48pm 
Originally posted by Blueberry Muffins!:
Or you could drop a staging depot at the construction site and send trucks with the supplies, instead of sending your carpenters to the lumber yard each time they need another 2×4.

The bots are efficient if you learn how to use them, not efficient if you don't.

dude dont take my thunder literally just said that
Poma Aug 17, 2023 @ 4:51pm 
This one is fixed easily but the game feels like fighting with poor tools trying to find workarounds for bot stupidity. I have hundreds of Screeps hours under the belt, but here it's hard to do even the basic stuff, the scripting lacks even the simplest tools like getting units by coordinates, the visual interface instead of scripting makes writing loops and conditions a painful experience.
Beefcakes Aug 17, 2023 @ 6:12pm 
I had seen someone mention sticking the building to make foundation on the bot and then using a second bot to transport mode the resources to the first bot. Keep them off the logic channel so only the builder bot can do it.
Quait Aug 17, 2023 @ 6:21pm 
Make a foundation-crafting building. Place a storage next to it, put a internal transporter into it. Push the plates into it via the store register. Disconnect the Storage from the main network (make it channel 4 for example). Remove "Supply" from the crafting station itself to prevent pickup in its Channel1 network.
Now no foundations are in the main network, no bots will ever be able to grab them.

Make a single bot on Channel 4, Make the Store register target the bot. Now whenever the bot goes to grab a single plate to place it when you give the buiding command the storage will push everything into the bot when it gets near.

Now this will happen: you give the command to pave a section. The bot will grab one plate to place it. It will get filled to the brim the moment it grabs one plate. It will pave until its empty, then go grab a new plate.
No other bot will go, because no plates are in the main network, only Net4 with that lone bot will move.
Pretty sure you can and even should run transport routes completely off-net. Foundation-fab factory, transport bot, foundation-layer bot, that should be all it takes. No sense putting an order on a logistics queue when you've got the delivery prewired.
Quait Aug 17, 2023 @ 6:51pm 
You mean the "transport only" checkmark in the network tab? thats a first solution to the transport problem.
I basically mimic this setting, but added multiple pickup and dropoff location settings, as well as options for "wait until full/empty" with variables that I can setup without opening the script, making it much more robust and flexible.

But
I like this setting, it is nice to have for beginners and shows them that there is more to the bots than running around like chickens delivering 1 item at a time.
Yah, behaviors can do better than a checkboxed transport route, I have my base nanny watch the local depots and when they have more than its cargo capacity free it drops off the logistic net, dumps whatever it's carrying in a cache, and does a refill trip before reloading and rejoining the net. Next up for me is adding two-ways, I'm running wire and rods at the silicon mining site so it's plates there, wire back.
Grizley Aug 18, 2023 @ 9:41am 
Originally posted by Blueberry Muffins!:
Or you could drop a staging depot at the construction site and send trucks with the supplies, instead of sending your carpenters to the lumber yard each time they need another 2×4.

The bots are efficient if you learn how to use them, not efficient if you don't.

This is a slight improvement, but it's still far worse than just writing a program that will do it efficiently. It will still put down one, then go back, then put down one, etc. If you write it as a program it will pick up 40/80/160 however many the bot carries. Then it will put down one in every nearby square, move 3 squares, put down another 9, etc. It's much much faster.

The fact that so many people came up with a different solution is pretty cool though.
Hertz Aug 18, 2023 @ 10:29am 
Take a dash bot with a fabricator set to create foundation plate infinitely in the S slot. Lock 1 of inventory slots to metal plate and one to foundation plate. Place a full stack of metal plate in the first slot. Profit.
Next up, twin bot with 3x more metal plate.
TeraDragoon Aug 20, 2023 @ 11:42am 
Have a Program for Only Single Foundation Builder. Don't change channel, for Log-Net-Options from Bot only choose first option (execute orders) and set channel to 1, then set P1 where the factory construct foundation plates. Factory set to channel 1, but right click on network and deselect first option (don't send items to log-network). Option 2 must be enabled (get items from network), so it get items from the network to produce the Foundaiton plates. The bot sould now get foundation plate and only this unit construct the orders, because all other Bots don't have access to the factory storage.

1. Pick items (P1;foundation plate)
2. count item (foundation plate; A)
3. compare number (160;A) \\or the max inventorysize of the Bot
if equal or greater then step 4
else smaller then step 1
4. count item (foundation plate;B)
5. compare number (B;1)
if equal or greater then step 4
else step 1


The other way to read the items needed info from construction and to use as filter 2 as needed item, i don't knwo, how to set this up. Radar Filter with Construction + Foundation or Construction + Foundation Plate never get any results.
Last edited by TeraDragoon; Aug 20, 2023 @ 11:44am
Quait Aug 20, 2023 @ 11:52am 
Originally posted by Blueberry Muffins!:
Or you could drop a staging depot at the construction site and send trucks with the supplies, instead of sending your carpenters to the lumber yard each time they need another 2×4.

The bots are efficient if you learn how to use them, not efficient if you don't.
Or use the shared storage component, fill a drone with items and simply let it chill near construction sites. They will grab and dump items in this mobile storage.
< >
Showing 1-13 of 13 comments
Per page: 1530 50

Date Posted: Aug 17, 2023 @ 3:29pm
Posts: 13