Mega-ish Bot Bus Chain Base

Post pictures and videos of your factories.
If possible, please post also the blueprints/maps of your creations!
For art/design etc. you can go to Fan Art.

ribsngibs
Long Handed Inserter
Long Handed Inserter
Posts: 77
Joined: Mon Mar 28, 2016 5:42 am
Contact:

Mega-ish Bot Bus Chain Base

Post by ribsngibs »

All images in this post also at http://imgur.com/a/ERS68 if you want to see the higher res versions.

This is my second game, with something like 150 hours into this game. The FPS has made it a little unplayable, so I thought I'd share what I've done as I quit.

I wanted to make something bot based, but with short bot travel distances to cut down on wasted charging times, so I decided to carry my base materials and other useful materials (steel, all circuits, coal and stone, and petrol, light, lube, water) around in a giant bus with inserters to pull materials off into provider chests where needed, with bot-chest-served assembly lines positioned near the bus. In addition, I wanted to make sure my bus was omni-directional - that is, all materials would be available everywhere and able to be inserted everywhere as well.

I was originally inspired by the belt chain idea - which disperses all items on the belts evenly:
Belt Chain
and decided to make a giant chain, except with a bus instead of a belt, the idea being that I'd carry a whole bunch of items on belts around in big circles (chain links), with belt contents being distributed by big bus splitters to all chain links, with little production chains inside the chain links:
Giant Bus Chain
Here's the map. The first base I made is just to the left of the big solar array, and I actually finished the game with it (I sent 3 rockets with it before deciding to build the big bot-bus-chain-base, which should be obviously recognizable in the center of the map.
Map
Note that there's a lot of cruft left over - I made my first base in this game before deciding to do anything fancy:
First base
and used that to bootstrap up a second base (which is basically gone now), and used the second base to bootstrap up the Bot Bus Chain Base:
Bot Bus Chain map and screenshot
Here's what the bus itself looks like. From "outside" to "inside" the chain: 1 belt unused (was going to be plastic or anything else but ended up not needing it), 1 belt blue, 2 belts red, 2 belts green, 2 belts steel, 4 belts copper, 4 belts iron, then interleaving robos and coal/stone, then pipes carrying petrol, light, lube, and water, which travel mostly underground but come up regularly for quadruple pump pump stations to keep them flowing throughout the base. You can see in this image that I've also got speed modules being made in the lower right and all the belts in the upper right. Depending on what is needed for the various assembly lines, I've plasted inserter->chest pairs alongside the belts, so the speed modules for example need all of the various circuits whereas the belts do not, so there are chests for the circuits across from the speed modules. What's pretty cool is that then all the bots only need to travel a very short distance to drop off materials, and with robos lining the bus close to the assembly lines, there is plenty of available charging:
Bus and some assembly lines
A view of a corner of one chain link, plus showing how materials from train unloading stations are added to the bus. This shows iron, copper, stone, coal, and the 4 liquids being added from the left. Also note the steel furnaces (which are being fed by bots from the bus, but belt-feed the finished steel plates onto the bus). Also a few random things being made here (repair packs, pipes, shells):
Corner and material inserting
Another section with logistics and construction bot production, and splitters and lights and poles:
Corner with bot production
Another section with green and red circuit production, and underground belts and other random bits:
Red and Green circuits
Destroyer/distractor capsules, blue and green circuits:
Capsules and blue circuits
The actual rocket launching chain link. It was originally designed not for 1 rocket per minute, but for one rocket part per second (so 1 rocket and 1 satellite per 100 seconds), but I'll be honest... I got tired of the 20 FPS and it was getting tedious adding more and more train outposts, so I stopped at this level (which is why I'm posting, before I restart!), which I believe has around 50-60% of the required production for the rocket control units, rocket fuel, and low density structures. There are also some low density structures coming in from the chain link under this one by belt, and I was eventually going to fill that chain and the next one over with more assembly lines for rocket part components. It definitely would have worked to just tack on a bunch more production chains for the rocket part components, and the nice thing with this wacky design is if I run low on anything (blue circuits for example, I can just plop down a blue-circuit chunk and insert it right into the bus).
Rocket silo and satellite assembler
Here's a closeup of the connector between chain links. This is analogous to the splitter in the belt chain. This balances all belt items (and is open to liquids to pass back and forth). Normally this method (peeling off 2 belts of 4 and trading it with 2 belts from 4 other belts would be throughput limiting if one side was unused, but here since all the chains are circular, any unused item will eventually come back around or be distributed elsewhere:
Bus Splitter
Here's a section where I'm making solar panels and accumulators for belt->inserter loading onto a train which goes to my solar array, and then an image of the train station at the end of the solar array where I unload all the panels, accumulators, robos, substations, etc., etc., and then a zoomed out view of the whole solar array:
Solar stuff
Smelters. Trains drop off ore on the left. Trains pick up finished plates on the right and drop them off to the base. I have 3 stations for iron and 2 for copper (I need another but I think I'm done with this base now):
Smelting stations
And finally here's one of 3 oil processing plants with the train stations feeding it oil and water (using the fluid barrel mod so I can put water in barrels):
Oil Processing

This was a pretty fun build. It's efficient in its own weird way - I mean, it's dog slow because apparently having 80 bajillion items moving around on huge numbers of belts is a bad thing, but this base, when cranking out satellites and rockets and all the various circuits and steel and other stuff was usually only using something like 1000 of my 3000 logistics bots at any point in time. It was actually really cool to watch them, as aside from the few bots delivering finished goods to the storage chest stash, almost all of the bots were moving either perfectly horizontally or vertically for short distances, just from the nearest chest in the bus to assembly line requester chest, and there was always, always an available robo for charging directly under their flightpath, so there was very little wasted bot travel time.

Mods that I used (that mattered): RSO, RSO radar, fluid barrel (for barreling water), blueprint flipper (no way was I going to make left and right versions of those giant bus sections!), FARL of course, TheFatController, upgrade-planner, YARM. After I had mined out a dozen or so mining outposts and drawn down a bunch of oil to .1/sec, I gave in and console-hacked in a bunch of patches of huge amounts of ore and oil. I still have to train them in from far away, but I got tired of having to keep building new outposts (and redirecting my trains and supply trains, etc.).

Qon
Smart Inserter
Smart Inserter
Posts: 2164
Joined: Thu Mar 17, 2016 6:27 am
Contact:

Re: Mega-ish Bot Bus Chain Base

Post by Qon »

Not efficient, but still impressive. And entertaining to read about such a creative build. Thanks for sharing!
My mods: Capsule Ammo | HandyHands - Automatic handcrafting | ChunkyChunks - Configurable Gridlines
Some other creations: Combinassembly Language GitHub w instructions and link to run it in your browser | 0~drain Laser

Shokubai
Filter Inserter
Filter Inserter
Posts: 470
Joined: Mon May 02, 2016 3:17 pm
Contact:

Re: Mega-ish Bot Bus Chain Base

Post by Shokubai »

Some very creative ideas there. Seems like the Bot-Base fell behind the Bus Base idea overall but a functional base is a good base.

golfmiketango
Filter Inserter
Filter Inserter
Posts: 549
Joined: Fri Jan 29, 2016 2:48 am
Contact:

Re: Mega-ish Bot Bus Chain Base

Post by golfmiketango »

That's pretty cool, ribsngibs!

Unfortunately, I suspect all revolving splitter-bus designs like this suffer from performance problems.

In dead-end belt-bus designs, unless considerable care is taken to avoid it, the last consumer of a given line marks a point-of-no-return beyond which the belt fills with wasted products (unless a new consumer is found for them, later, but this just creates a new point-of-no-return). So if fully compressed resource (due either to supply-side glut or belt-capacity bottlenecks) feeds into such a bus we get a picture like

Code: Select all

--zone "E"--> [ INPUT ] --zone "C"--> [ first consumer ] --zone "X"--> [ last consumer ] --zone "W"--> || end ||
where
  • zone "E" is an empty belt or terrain,
  • zone "C" will mostly be fully compressed, so long as supply exceeds either demand or belt-throughput (otherwise, it will be spotty),
  • zone "X" will be spotty. It may mostly consist of fully compressed belt if supply greatly exceeds demand, but most likely will contain fewer and fewer resources per tile as we move from zone "C" to zone "W".
  • zone "W" is the wasted stuff on the end, which will almost always be fully compressed
In big bases, zone "C" is, mostly, the only place we'll see non-compressed, non-empty belts on a bus. Most players dislike being limited on the supply-side, and strive to oversupply bus-lines, strengthening this tendency.

So, in practice, by the time a base is big enough to start having UPS problems, dead-end bus-lines may only have "spotty" bits in a fairly constrained, static area. Indeed, if supply greatly exceeds demand, as it probably will on at least some lines, those lines will stay compressed just about everywhere.

By contrast, belt-loop-splitter designs like yours by design spread any "spotty bits" throughout the entire line, where they never stop moving. And, to achieve the same length as a dead-end bus, they will typically require more than twice as much belt per line (although some designs mitigate this, by shoving everything onto the same line/s or, as you have, "going nonlinear").

Since I presume factorio is able to simply memorize "this line is fully compressed from here to there," whereas for a spotty line, it must memorize the locations of each item (i.e., by referring to a bitmap of possible configurations of items on the line and continuously running some kind of per-spotty-belt-tile finite-state-machine to simulate resource movement), it seems to me that spotty belts are probably much more costly, computationally, than full ones.

Which is too bad. It's unfair, because in-game, the loop-splitter bus may well be a superior design, but, basically, we'll never know, because our CPU's aren't fast enough to allow us to find out (at least, not until scalable clustered factorio servers are developed so we can throw RL iron at the problem, or some breakthrough occurs to return us to the good ol' days when Moore's law was still working).

Shokubai
Filter Inserter
Filter Inserter
Posts: 470
Joined: Mon May 02, 2016 3:17 pm
Contact:

Re: Mega-ish Bot Bus Chain Base

Post by Shokubai »

Part of what I like about the bus is the instant feedback it provides. So what if there are unused items on the end? They are irrelevant the moment they reach compression. I can look at the length of the belt and it's either fully compressed and my supply is adequate or it is spotty and my supply needs work.

IMO looping the supply back around is only more efficient for whatever number of items might have otherwise sat on the end of the belt. You are still only making X amount of a thing per second and it is either enough or it is not.

In my own bases I generally don't loop materials but I have used it in the past for stop gap production. i.e. My coal is goign to run out I want the coal on belt to keep circling around power generation

These days I build to the bottleneck and can rarely see a need to pass a product around the same path twice.

silverkitty23
Fast Inserter
Fast Inserter
Posts: 117
Joined: Wed May 11, 2016 6:52 am
Contact:

Re: Mega-ish Bot Bus Chain Base

Post by silverkitty23 »

Dangling items are only a one-time cost, anyway. In the long run they depreciate to negligible.

golfmiketango
Filter Inserter
Filter Inserter
Posts: 549
Joined: Fri Jan 29, 2016 2:48 am
Contact:

Re: Mega-ish Bot Bus Chain Base

Post by golfmiketango »

silverkitty23 wrote:Dangling items are only a one-time cost, anyway. In the long run they depreciate to negligible.
To be clear, I mostly agree. My point was only to lament that in the factorio cosmology, it is plausible that the most utilitarian approaches (in the min-max economics sense of the term) may not actually be playable in the factorio video-game engine, due to not enough CPU yottaflops in meatspace.

Shokubai
Filter Inserter
Filter Inserter
Posts: 470
Joined: Mon May 02, 2016 3:17 pm
Contact:

Re: Mega-ish Bot Bus Chain Base

Post by Shokubai »

golfmiketango wrote:yottaflops in meatspace.
2 things.

First you said yottaflops when i think you just meant flops (Floating Point Operations per Second). And Second...

I'm sure we all wish we had more Meatspace.

Qon
Smart Inserter
Smart Inserter
Posts: 2164
Joined: Thu Mar 17, 2016 6:27 am
Contact:

Re: Mega-ish Bot Bus Chain Base

Post by Qon »

Shokubai wrote:
golfmiketango wrote:yottaflops in meatspace.
First you said yottaflops when i think you just meant flops (Floating Point Operations per Second). And Second...
If he said yottaflops he probably meant yottaflops. You use the unit that is most comfortable to work with with regards to the numbers involved. I, like golfmiketango, would like to have several more yottaflops. As soon as possible. A few more flops is not noticable, while a couple more yottaflops would likely be fairly noticable. ;)
I would be pretty satisfied with just some zettaflops too if I can get them quickly.
My mods: Capsule Ammo | HandyHands - Automatic handcrafting | ChunkyChunks - Configurable Gridlines
Some other creations: Combinassembly Language GitHub w instructions and link to run it in your browser | 0~drain Laser

Shokubai
Filter Inserter
Filter Inserter
Posts: 470
Joined: Mon May 02, 2016 3:17 pm
Contact:

Re: Mega-ish Bot Bus Chain Base

Post by Shokubai »

Qon wrote: I, like golfmiketango, would like to have several more yottaflops.

Sure. In the year 2030 when a Personal Computer can perform a Yottaflops then you may ask for more of them.

ribsngibs
Long Handed Inserter
Long Handed Inserter
Posts: 77
Joined: Mon Mar 28, 2016 5:42 am
Contact:

Re: Mega-ish Bot Bus Chain Base

Post by ribsngibs »

golfmiketango wrote: By contrast, belt-loop-splitter designs like yours by design spread any "spotty bits" throughout the entire line, where they never stop moving. And, to achieve the same length as a dead-end bus, they will typically require more than twice as much belt per line (although some designs mitigate this, by shoving everything onto the same line/s or, as you have, "going nonlinear").
Yes, I was at first pretty excited because my FPS/UPS was always pegged at 60 while building the base. Even adding new sections (add a green circuit area that sucks up copper and iron) would not really affect the FPS too much.I realized later it was because almost everything was compressed and perhaps more importantly, not moving at all (turns out if you have loops and add to the loop with a splitter, when the belt is fully compressed everything stops as opposed to continuing to travel in a loop). It was only after I started adding things that resulted in cascading use (so, not just using iron and copper, but say Rocket Control Units, which eat blue circuits, which eat green and red circuits, which eat iron and copper and coal) that things slowed down... but when it slowed down in was 60 straight to 20/30 FPS as everything started moving essentially all at once. A blue circuit in a chest got pulled by a bot, which made an inserter pick up a blue circuit from the bus, which then resulted in 6 gigantic loops of thousands(?) of belts of compressed blue circuits immediately start rotating,and then as the blue circuit production line started up, the red and green circuit belts (4 more really, really, really long belts) would start moving, and then in just a second or two, essentially my entire 16 belt bus would just be cranking. I don't even want to know how many items I had there...

Some day, when the computers are faster in a few decades, I'll load this up again and see what happens :)

User avatar
siggboy
Filter Inserter
Filter Inserter
Posts: 988
Joined: Tue Mar 29, 2016 11:47 am
Contact:

Re: Mega-ish Bot Bus Chain Base

Post by siggboy »

I must say this is an impressive base especially considering it's only your second game. It takes a lot of discipline and coordination to make such a design on that scale. Not many players can do that in their second game.

I'm not surprised that the performance is awful, given how much belt surface you have above ground. Moving everything around in giant circles leads to a very bad ratio of belt tiles to assemblers.

Still this is a great base for its artistic value, it would take me more than 150 hours to build something like it (I guess).
Is your railroad worrying you? Doctor T-Junction recommends: Smart, dynamic train deliveries with combinator Magick

Post Reply

Return to “Show your Creations”