Concrete and bots

Post your ideas and suggestions how to improve the game.

Moderator: ickputzdirwech

raidho36
Long Handed Inserter
Long Handed Inserter
Posts: 93
Joined: Wed Jun 01, 2016 2:08 pm
Contact:

Re: Concrete and bots

Post by raidho36 »

Don't you guys have a QuadTree or something? Virtually any form of spatial indexing makes this a non-issue as long as range is constrained, which it is for robots.

Rseding91
Factorio Staff
Factorio Staff
Posts: 13209
Joined: Wed Jun 11, 2014 5:23 am
Contact:

Re: Concrete and bots

Post by Rseding91 »

raidho36 wrote:Don't you guys have a QuadTree or something? Virtually any form of spatial indexing makes this a non-issue as long as range is constrained, which it is for robots.
The range isn't constrained for robots. The player moves around and roboports come and go. Plus, roboports can overlap the same entity which means both logistic networks are capable of sending a robot to operate on the entity.

Also multiple forces can be tasked to work on the same deconstruction task for instances like trees/items on the ground.
If you want to get ahold of me I'm almost always on Discord.

raidho36
Long Handed Inserter
Long Handed Inserter
Posts: 93
Joined: Wed Jun 01, 2016 2:08 pm
Contact:

Re: Concrete and bots

Post by raidho36 »

How is range not constrained for robots if there's a very specific area around roboports that robots can access.

Anyway that sounds like a backwards way of doing it. Pun maybe intended. I'd have robots that are done with their previous work assess job list in its roboport's vicinity, and have newly created jobs trigger roboports to assess them and dispatch robots. Neither method is inherently more efficient because you have to process same amount of data either way - assuming it's implemented properly.

I at least assume the jobs don't search for robots every tick and instead robots that are done with their previous work announce that they're available.

nr2117
Long Handed Inserter
Long Handed Inserter
Posts: 52
Joined: Tue Dec 13, 2016 9:24 pm
Contact:

Re: Concrete and bots

Post by nr2117 »

I don't know if this is beyond the scope of the game but I'd like to see a floating/tracked concrete layer that has liquid concrete in rail tankers and you tell it to paint an area.

https://www.youtube.com/watch?v=SObzNdyRTBs

They can build houses now with it.

zytukin
Fast Inserter
Fast Inserter
Posts: 215
Joined: Sat Mar 12, 2016 12:14 am
Contact:

Re: Concrete and bots

Post by zytukin »

The game already knows what's missing as it tallies the missing items to send a report in the form of the exclamation point in the triangle.

Can the bots just skip those items until available?
If nothing is available, continues skipping through the list if items until it finds something that is available.

Rseding91
Factorio Staff
Factorio Staff
Posts: 13209
Joined: Wed Jun 11, 2014 5:23 am
Contact:

Re: Concrete and bots

Post by Rseding91 »

zytukin wrote:The game already knows what's missing as it tallies the missing items to send a report in the form of the exclamation point in the triangle.

Can the bots just skip those items until available?
If nothing is available, continues skipping through the list if items until it finds something that is available.
That's already how it works. When a job has no robot available or is missing items it gets put at the back of the queue to be processed after everything else.
If you want to get ahold of me I'm almost always on Discord.

zytukin
Fast Inserter
Fast Inserter
Posts: 215
Joined: Sat Mar 12, 2016 12:14 am
Contact:

Re: Concrete and bots

Post by zytukin »

Rseding91 wrote:
zytukin wrote:The game already knows what's missing as it tallies the missing items to send a report in the form of the exclamation point in the triangle.

Can the bots just skip those items until available?
If nothing is available, continues skipping through the list if items until it finds something that is available.
That's already how it works. When a job has no robot available or is missing items it gets put at the back of the queue to be processed after everything else.
Except, the bots DON'T do that. :p

If you have, say, 300 concrete and 50 rail pieces waiting to be placed, and no concrete on you, the bots can end up just sitting in your inventory not placing the rail. I've also experienced it when placing large quantities of steam engine setups via blue print. Oops, I didn't bring enough boilers, but the bots are just sitting in my inventory instead of placing the pumps, pipes, steam engines, conveyors, power poles, or inserters.

Rseding91
Factorio Staff
Factorio Staff
Posts: 13209
Joined: Wed Jun 11, 2014 5:23 am
Contact:

Re: Concrete and bots

Post by Rseding91 »

zytukin wrote:Except, the bots DON'T do that. :p

If you have, say, 300 concrete and 50 rail pieces waiting to be placed, and no concrete on you, the bots can end up just sitting in your inventory not placing the rail. I've also experienced it when placing large quantities of steam engine setups via blue print. Oops, I didn't bring enough boilers, but the bots are just sitting in my inventory instead of placing the pumps, pipes, steam engines, conveyors, power poles, or inserters.
Yes, they do:
Capture.PNG
Capture.PNG (15.24 KiB) Viewed 3991 times
If you want to get ahold of me I'm almost always on Discord.

User avatar
Mylon
Filter Inserter
Filter Inserter
Posts: 513
Joined: Sun Oct 23, 2016 11:42 pm
Contact:

Re: Concrete and bots

Post by Mylon »

You guys are overthinking this.

I wrote my concreep mod to lay concrete as a low priority construction bot job. The ghost doesn't get placed unless concrete is available and construction bots are available. Plus it's automated so it's all totally passive.

User avatar
ssilk
Global Moderator
Global Moderator
Posts: 12888
Joined: Tue Apr 16, 2013 10:35 pm
Contact:

Re: Concrete and bots

Post by ssilk »

I think to fix this issue this is useful, but it alone is IMHO not enough.
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...

User avatar
Mylon
Filter Inserter
Filter Inserter
Posts: 513
Joined: Sun Oct 23, 2016 11:42 pm
Contact:

Re: Concrete and bots

Post by Mylon »

One issue I have noticed with construction bots is bots will reserve and claim ghosts. This can be a problem in large bases or in multiplayer. One player might run by a wall I'm building and the bots never picked up the items to place, but they reserved the job and thus there's now a gap in my wall my bots will not build. Or it's a large base and bots within the base claimed the jobs so now I have to wait possibly minutes for them to pick up the goods and place them when my inventory has the goods ready to go.

If the player's roboport had priority it could work a little differently from other construction zones and be allowed to claim already claimed jobs.

Xeanoa
Fast Inserter
Fast Inserter
Posts: 190
Joined: Tue Apr 26, 2016 4:32 pm
Contact:

Re: Concrete and bots

Post by Xeanoa »

I think it makes sense just sorting the constuction queue.

Something along the line of:
-buildings
-inserters
-belts
-chests
-poles
-wall
-tiles

That of course isn't a complete list, but it would solve a lot of problems in that regard. For example, an older constuction job for walls and concrete, that takes a long time to finish and generally has low priority doesn't interfere with a building a new block of green circuits, which everyone will agree is more important.

From what I understand though, is that a ghost picks a robot to work for it, and the robots don't look for ghosts to build? That makes simple sorting a little more complicated, I guess.

User avatar
ssilk
Global Moderator
Global Moderator
Posts: 12888
Joined: Tue Apr 16, 2013 10:35 pm
Contact:

Re: Concrete and bots

Post by ssilk »

I think I see this possible way:

- different ghosts entities (requesters) going into different queues for con- and deconstruction, and the queues have different priority (e.g. electric poles first, then roboports ... in construction and for deconstruction the roboports are last)
- construction robots pick up more than an item if the ghost sees, that there are a lot of same unordered entities around him (in the same chunk). It marks then such ghosts as "ordered" (or similar to distinct between directly ordered and indirectly).
- after such a robot has placed his first item he actively locks for same entities that are indirectly ordered in that area and places that until he is empty.
- remaining items are handled like now: storage chest.

I don't see there a lot of added CPU utilization...
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...

TI-89
Long Handed Inserter
Long Handed Inserter
Posts: 50
Joined: Thu Feb 09, 2017 2:00 am
Contact:

Re: Concrete and bots

Post by TI-89 »

The thing is, equal request priority is one of the fundamental properties which makes robot network design non-trivial. While changing this could be interesting in optimizing large networks, I only see it as beneficial if the research tree is expanded to the point where you actually have to make choices about what to unlock. If it's just another 'green filler research' then I think it adds complexity without much benefit to gameplay.
The real issue is that the operation of the construction and logistics networks are currently hopelessly intermingled. The thing is, any network large enough that you cannot precisely control traffic (for example a large scale construction network) will occasionally experience congestion. If you want to avoid this bottlenecking production, you must separate the networks. The problem is that currently this makes construction within the partitioned network rather tedious because each building material must be supplied to the network, or carried in by the player. If construction network was global even when logistics is split, this would not be an issue.
I'm sure there are other issues that would arise around this being implemented, but I think that it would tremendously improve the gameplay experience.

TI-89
Long Handed Inserter
Long Handed Inserter
Posts: 50
Joined: Thu Feb 09, 2017 2:00 am
Contact:

Re: Concrete and bots

Post by TI-89 »

For example, in a densely connected part of a network (like that which has evolved around my initial production line: http://imgur.com/wxXKA3a), bots are able to reach an uncongested port with a rather small deviation from their straight line path. See: http://imgur.com/a/jNsHZ. Thus congestion from 'transient flows' (usually large scale construction, in this case, shuffling plastic) is able to be cleared very quickly and performance impact is minimal.

In the first picture, the only part you see not covered by logistics zones are separated networks. With all my fooling around with plastic, production performance is entirely unperturbed. While you can manufacture low priority things in a large network, I would advise against it for any kind of scale.

A large construction request for concrete can be completed amazingly quickly (and is actually one of the few practical uses of a network of this capacity), and watching the map gives an approximation of response time. If you look carefully, there is a bit of a gap above the separated network, due to the lack of roboports which the construction bots can charge at in that area -- they had to go further out of their way to charge. (http://imgur.com/a/sIjbx)

Post Reply

Return to “Ideas and Suggestions”