Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Complexity Corner - The Mall #524

Open
wants to merge 8 commits into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
### Complexity Corner: The Mall <author>The Kool</author>

Welcome back once more to the Complexity Corner. Today I'll be exploring a technique instead of a technology: the Mall. As always with these articles, we'll be asking three questions: 'What is it?', 'What results can it give?', and 'Where should it be used?'
Firerazer marked this conversation as resolved.
Show resolved Hide resolved

Firerazer marked this conversation as resolved.
Show resolved Hide resolved
## What is this 'Mall' I keep hearing about?

We've all experienced it by now, setting up something to craft manually and then drumming your fingers on the desk while you wait for the mile-long queue to finish. Wouldn't it be so much nicer to walk over to a chest and have some waiting for you? To just go shopping for your next project, instead of crafting by hand? That's what the Mall is for. Without even realizing it, you probably only think of automating things that have an automated end goal, such as ammo for your turrets or science for your labs. The Mall is a place where you automate things that have a manual end goal - You.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would it benefit from a little history part? iirc, the idea have been popularised by KoS vids, and later on by Nilaus (that is naming this concept differently for whatever reasons). May be nice to find some early examples, maybe from the start of factorio MP games in 0.12?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

An early example to show how old the concept is would be cool, yes.

As discussed on discord earlier, I don't know if anyone invented the concept but it seemed to get quite popular after KoS and Nilaus featured it.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment by JD Plays:
First term 'mall' popularised by KOS, but also falls under other names, I use the term Workshop, Nilaus uses a Hub, others use Complexity Corner, as they are complicated to build, but simplify your factorio experience


[Image here of a stupidly long hand-crafting queue | "Might as well go get a coffee while you wait. Maybe run to the store..."]

## So what's the benefit?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Another benefit you could talk about is having all this stuff ready when you unlock robots. I.e. The mall then becomes the production center for robot construction materials by just converting the outputs to passive provider chests.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the remark is still valid for this section: it could benefit the evocation of bots boxes for mi/late game bot-assisted construction

I'll explain the benefit by giving an example. A typical early-game smelting line consists of as many as 24 stone furnaces. In order to feed these furnaces, you need 48 inserters, 24 long-handed inserters, and at least 100 belts. If you carry around only raw materials such as plates and craft these items as needed, that's 12s for the furnaces, 50s for the belts, and 93s for the inserters; a total of 2m 35s that you're just standing around waiting before you can build that one furnace line. Multiply that by every furnace line, every mining outpost, and every production line you build and you'll soon find you're spending more time standing around waiting than you are expanding your factory. The mall makes that go away, building things for you while you build your factory.

Reduced waiting time isn't the only benefit. Having output chests for each of your items means you have a place to store extras you might need to take out of your inventory, and means you don't have to carry a lot around to begin with. Having everything made for you means you don't need to carry around stacks of raw materials to hand craft things. Not only does this mean that you have more free space in your inventory, it also means that if you die away from your base you aren't losing a lot of stuff if you can't recover your corpse.

Firerazer marked this conversation as resolved.
Show resolved Hide resolved
[image here of corpse in the middle of a massive biter base | "I'll just come back later... much later."]

## Alright, when and where do I use it?

The Mall can (and should!) be used as early as you can in the game. Your first instinct may be to automate red science to the lab, but I encourage you to first build a simple mall as soon as you have assembly machines. Have it build just gears and circuits at first, but soon upgrade it to making belts, inserters, and assembly machines. Those three items and two ingredients will cover the majority of what you'll be making for the first stage of the game, and all you need to do is come back and add on when there's something new you'll be using a bunch of, like fast inserters or advanced circuits. Later, when you get access to more advanced technologies, building a production cell bot-based mall is incredibly easy, and combines intuitively with personal logistics and inventory management.

[Image here of a green science build | "If those ingredients sound familiar, you may have already designed a mall without realizing it."]

If you want to challenge yourself to use the mall religiously, then aim for the Lazy Bastard achievement. The only way to get this is to make a bee-line for your first assembly machine, making as little by hand as possible, then automate the entire game from there, starting every new step at the mall. Its good practice, as you'll find yourself automating things you wouldn't even think of in a normal run.

If you're intrigued and want to hear more about the specifics of mall design, then read on as Sir Fendi takes a deep dive into the various approaches and techniques seen around the community.



### Mall Design Factors <author>Sir Fendi</author>

While all malls share the common purpose of minimizing handcrafting, they come in various shapes and sizes depending on what you want and which technologies you have unlocked. Whether you improvise together a mall or painstakingly prepare a blueprint for it, there are a number of design aspects for which you have multiple options. I would like to shine a light on these various design factors:

## **Is the mall integrated or dedicated?**

One way to build a mall is to integrate it into your science production. A basic example of this is adding an output chest to your transport belt and inserter assembling machines that normally produce these items for logistics science packs. The advantage of this approach is that your mall has an easy supply of intermediate items that would normally be produced anyway for your science packs. Hence, you are saved from having to build additional infrastructure. Using this approach you can build an all-in-one compact early game base, which makes it easier to rush through the first few science packs.

[Integrated mall example: The "Jump Start Base" by Nilaus]

[Integrated mall example: My TINS starter base]

A consequence of the integrated design is your mall machines interrupting your science production as they resupply their outputs, which may be something you prefer already if you want research and factory building to happen in parallel. These interruptions are most severe upon first building the mall and are much less later on, because many of the mall machines tend to be idle more often than not. A disadvantage of improvising an integrated design is that you can run low on space and spaghettify pretty quickly.

The alternative approach is building a dedicated area for your mall. Without relying on your science production, a dedicated mall requires its own resource supply logistics, which can be belts branching off a main bus or dedicated resupply trains/bots. Alternatively the area can have its own intermediate item production area, perhaps even including its own furnaces such that it only needs ores. A dedicated mall area is easier to lay out and expand compared to an integrated area, especially when improvising. This approach also makes it easier to control how much of your resources you want to divert to science production versus mall production.

[Dedicated mall example from community]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

KoS was also a big provider of mall BP, and still (widely?) used based on what I can see on different MP games

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(visual example from KoS)


## **Which recipes should be included?**

The ideal mall would include a machine for practically everything, but it would be huge and resource-intensive. It makes more sense to build according to what you really need. For a starter mall, I would recommend including the first-tier items you will need all the time when building the factory: assembling machines, inserters, belts, underground belts, and splitters. The beautiful thing about all of these items is that they are ingredients for their next tiers. As a result, overproducing them is rarely wasteful and you can easily handcraft second-tier items when you have a decent supply of them and intermediate items. For example, with splitters and intermediates in hand, a fast splitter takes only two seconds to craft instead of nearly 30 seconds when using raw materials. Other items that are great to pick up from an early-game mall are gears, electronic circuits, long-handed inserters, pipes, firearm magazines, gun turrets, and power poles. If you want to plan in advance for the mid game, it would be useful for your starter mall to have empty machines reserved for making engines (for vehicles and pumps) and the most common second-tier items: assembling machine 2's, fast inserters, and fast belts..
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does it seem you are from now on only discussing dedicated malls?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good idea to add: for integrated malls, the recipe to include simply depends on what is available to you in each area


Later into the game, you develop a demand for groups of items for specific purposes like oil processing, railway systems, modules, armor equipment, and armaments. These item groups can perhaps be added to an expanded starter mall or maybe have malls of their own.

[Visual of item groups: starter items, production items, oil processing items, rail system items, etc.]

## How many machines should each recipe have?

Mall assembling machines are *usually* idle more often than not because usually one does not build without interruption. Therefore ratios don't matter nearly as much as they usually do and often one machine per recipe is enough.

The exception to this rule is highly-used intermediates that would become serious bottlenecks. Namely, you would benefit from having a few assembling machines for electronic circuits and several machines for iron gear wheels (especially when making higher-tier transport belts). Meanwhile, for high-tech equipment and for modules, you need large quantities of expensive intermediate products such as advanced circuits, processing units, and low density structures. Therefore a mall for such items becomes difficult to supply using raw materials alone and it is worth building separate dedicated areas to craft and supply these expensive intermediates.

[visual idea?]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

a general construction mall and on another place, a dedicated module production plant?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(visual idea)


## **How are the machine inputs supplied?**

While getting resources to your mall area is one concern, another is how to feed them to your assembling machines. The first available method is handfeeding your assembling machines and their input chests. This makes it easy to supply to each machine with exactly as many ingredients as you want without overproducing. Due to their simplicity, handfed malls are also highly reprogrammable: You can set up a machine to make a one-time bulk order of a rarely needed item and then reassign the machine when you need something else. The disadvantages of handfed malls are that you have to do all the legwork yourself and that you have to wait for things to be crafted if you forget to supply a mall machine in advance.

[Simple handfed mall example, with midgame items?]

A more practical input supply method is using belts, which work very well at any stage of the game. Their supplying is continuous and you do not need input chests when using them. For a good starter mall, all you need to supply is a belt each for iron, copper, and steel; and you can make gears and circuits locally. Belt-based malls have no single design and building them is bit of a puzzle. If you carefully select which machines neighbor each other, you can build a decent compact early-game mall with only 3-4 belts. Alternatively, you can easily design your malls using mini-versions of the main bus technique, as presented [here]([Factorio Tutorials: Factory Shopping Mall - YouTube](https://www.youtube.com/watch?v=MPUcU37hXH4)) by KatherineOfSky and [here]([It is not a MALL; this is a Manufacturing HUB - Factorio 0.18 Tutorial/Guide/How-to - YouTube](https://www.youtube.com/watch?v=PLnv0O3cAnI)) by Nilaus.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe you can include some hints from modded games, such as Space Exploration malls, or even AngelBob ones that can be insane to assemble? to highlight even more that on games with an increasing amount of intermediates and machines to use, it requires even more brain fu*****g to get something? ;)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So you mean belt malls get extra difficult with several byproducts and intermediates being added to the game? Yeah a visual about that would be nice!


[KoS style belt based mall example]

[second example from community?]

The main disadvantage of belt-based malls is that they aren't as compact as other malls, but that does not matter if you have plenty of space. Meanwhile, another possible concern is oddball items with specific ingredients that are unused elsewhere (like small power poles with wood). You can always have a small handfed mall nearby for them.

The third method to supply your mall assembling machines is via logistic robots. This method is unlocked last and relatively expensive but it is very easy to set up and use. For each assembling machine you simply put down a requester (blue) chest for the input and then you can quick-setup the chest's requests via `Shift + Right Click` on the assembling machine followed by `Shift + Left Click` on the chest. You can easily upgrade a handfed mall to be bot-based by just upgrading the chests and adding roboports.

[bot-based mall example]

[second example from community?]

## **How are the machine outputs controlled and stored?**

The intuitive way to collect the output from your machines is by adding chests. Bigger chests hold more items and passive provider (red) chests will let bots pickup from the mall too. However, you rarely need more than a stack or two of anything at a time. Hence, it would be preferable to prevent overproducing items at your mall and draining your raw materials.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you introduce here the bot picking up from chests. it would really deserve it being introduced before too, in the general ideas of the mall


The easiest way to control machine outputs is the "red x" inventory limitation option for chests. You can use it to limit mall output chests to 1-2 stacks each. Yet in the early game, sometimes even one stack is too big. In that case why not add a single transport belt pointing towards the output inserter? The belt in this orientation will hold only five (todo* verify) items, plus you'll have an extra handful in the inserter and machine. If you want to restrict outputs to even less, you also have the option of have an inserter place simply onto the ground or having no inserter at all.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TODO: check if the 5 items on reversed belt on inserter is correct


[low-tech output limiting methods: no output (0+n) , 1-belt output (5+n) , limited chest output (1 stack + n)]

The more precise way to control your mall output is by using circuit conditions and no combinators are needed for this! The first setup idea here is to wire each output inserter to its own output chest. The wire reads the chest contents. All you have to do is set the inserter enable condition to "*everything* < X" with X being the output count you want. This condition is easy to copy-paste and will work for any output chest. This setup is nice also because you don't have to limit the chest and so you can dump extras of the output item back in it easily, hence making your mall output chests function also as specialized storage chests.

Speaking of specialized storage, for a bot-based mall you can also use logistic storage (yellow) chests to collect outputs and set their filters to the machine's output items. This setup will make bots return trashed items to the mall storage and prevent overproduction accumulating across your logistic storage. When you combine the storage chest setup with the circuit wire setup, you get very precise control of item counts in your logistic network. Meanwhile, there is also a zero-wire version of this combination: You can just use the output inserter's logistic network connection tab and set "*output item* < X" there. This alternative cannot use the "everything" signal, though.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

also valid with storage chests with bots later on, when you convert: so that when you deconstruct your yellow belts, they can be inserted back for red belts production and no crafting new ones waiting for this backlog to be upgraded :)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like the yellow belt example to explain the ideas here but i did not understand which sentence you replied to here.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Speaking of specialized storage, for a bot-based mall you can also use logistic storage (yellow) chests to collect outputs and set their filters to the machine's output items."
my comment is to complete this idea, to add "recycling" behavior in addition to the indented crafting behavior


[inventory control method (early game): circuit wire controlled inserter + steel output chest, with circuit UI shown]

[inventory control method (late game): logistic controlled inserter + filtered storage chest output, with logistic UI shown]

Yet another logistic network trick is to output from one machine into a requester chest for another machine in addition to the usual output going into a passive provider chest. Alternatively, you can a buffer chest to achieve both jobs at once. These two tricks are useful for neighboring machines where one's output is an ingredient for the other.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TODO: also look into upgradeable 'mall' designs by JD Plays
https://www.youtube.com/watch?v=wvxZTLcjmPA
It explains how a upgradeable one works, with recylcing using 'poor mans requester' chests

It is also a very very advanced 'mall' it has included upgrade planners to upgrade the chests to provide more functionality as the player tech increases, and also uses the poor mans requesters with filters set for some recycling before unlocking buffer chests for full recycling

## **Conclusion**

While we covered the basics of mall design and introduced some of the techniques and tricks involved, there is more to explore for advanced mall design, with concepts like [sushi malls](https://www.reddit.com/r/factorio/comments/uq1pj6/the_mall_of_sushi/). We hope to inspire you to try out new designs of your own. Also, we would love to hear from you about more tricks and concepts that you can share and discuss with us in the comments or on Discord!