Design based Production Line

… but at all with all that sales and marketing related ideas we’re getting very close to the '‘Share your opinions on car sales and pricing with the designer’ topic here:

Good enough? Wanted to do it this morning as attachment to my post above, but I was too tired… xD

So you create a design with fixed features as well as optional features, yes.

When all Custom Orders are satisfied then the production line starts to produce Car Model Configurations “speculatively”… that would be done by looking at the recent sell history and how many models for a specific configuration have been sold. Using that information the production line scheduler predicts that the Model Configurations which sold the most are most likely going to sell well in the near future as well… and that’s how it schedules Model Configurations speculatively.

The diagram above should probably help a bit illustrating that.

What I also think though is… that accepting Custom Orders from customers is something that would have to be researched first. Until it is researched you always produce speculatively and hope that the car will sell (pretty much like now).

What also would be good is if speculative production can be turned off eventually… or be optional.

Another thing that might be interesting is if one wants to simulate “canceled orders”… meaning that a model configuration that has been issued isn’t needed anymore by the customer. Then it will still finnish the production line and once leaving through the export it gets placed in the stock instead, where another customer might actually buy it then…

Well setting a global price for features could work obviously… I’m not specifically against it.

Yeah our worked out suggestion should probably be linked there as well because it fiddles heavily with the economics.

Sure but nothing to add from my side atm :o)

So let’s see what will be next … ;o)

i agree

I like the idea of starting off with a design to begin with and building the factory to meet the design. That is very realistic.

However, this seems like it would require pathing for cars to know where to go if you have multiple designs using one conveyor system? It wouldn’t be as linear as it is right now. I think that is the main problem with implementing this into the game.

Yeah they would have to know that.

But each car instance that is put at the beginning of the production line would inherit a list of its “required components” based on the model design it is based upon anyways to keep track of the progress of already installed components (which is basically also happening already).

So when a car moves to a slot it would check that list to see which components need to be installed… then the components get installed one after another.

Once all components are finished THEN the pathfinder would have to look down the conveyor belts for slots of the next stage… and pick one that has all the required components for that stage installed.

So for example if a car just finished with Fit Vents and the Design needs a Sun Roof installed… Then the pathfinder would look down the conveyor for a Fit Roof slot that has the Sun Roof upgrade installed… and then send the car on its way there.

Of course there would have to be some error handling for the case that the player created a car design, but forgot to upgrade the slots with the necessary upgrades… but that could happen as a notification when the pathfinder finds that none of the target slots has the required upgrades.

Right. My point is that currently there isn’t really a “pathfinder” right now, if I understand it correctly.

Conveyors are one-way tracks unless you have a corner segment that allows the car to move “forward” onto a new section of conveyor that merges into a previous section of conveyor but this has to be done with parallel conveyors, not a single track. In other words, cars can never go backwards on a track and only ever move forwards and can’t re-install already installed components. So you have to create those splits and merges to manage destinations. This basically means a secondary conveyor line next to every production line to allow those merges to be possible, which can be very expensive, because it can only ever move forward.

So if this was implemented now, most of your factory would be conveyor and not production, just to manage these merging transfers.

This would require each car to actually have a lot of information stored for that specific car ID and would have to find the complete path at the very beginning of the design phase in order to make sure its even possible for your production line to even support the design to increase usability and reduce bugs.
This would also make diagnosing problems on your conveyors much more difficult as you suddenly have created a massive traffic jam / flow problem as cars would be waiting to use corner segments much more often.

As I said, I like this idea…but it needs to have a lot of thought put into solving some of the problems you will inevitably get when you implement it.

I think there is some sort of basic pathfinder still… because I noticed that cars decide to go to a specific next slot because they are “unuccopied” at the time they leave their previous slot. So if you have one Paint Undercoat and 3 Dry Undercoat a car will always try to go for one Dryer that is currently free and if all of them are occupied it picks the nearest one or when it arrives and finds out that it has become occupied in the meantime. Which is also the reason why 2 or more cars want to go for the same unoccupied slot if they leave their previous slot at the same time because the one that comes slightly earlier doesn’t actually reserve the slot. So I think the pathfinder actually does look ahead even if it is not that smart about it.

I might be wrong about that though, but that’s the behavior I have been observing because I tried to figure out why a car goes down a particular path.

It wouldn’t require much more information than there is already. Only the component list with which features have been already installed (which is already implemented in the game) and which ones are still outstanding (which would have to be coded into the game to be copied over from the design the car is based upon spawning it at the beginning of the production line).

It wouldn’t have to find a complete path for each car upon spawn at the beginning of the production line. It would still move forward in a semi-linear fashion from slot to slot… and after completing each stage it would check if it can reach a next slot that meets the requirements as specified from the component list. And if it can’t find one then a red notification saying “No slot for Upgrade xy found” or something along the order.

That means you could debug the production line step by step as the car moves along… as it would always cry out for help if there’s no next slot with the required upgrades/components.

Currently the game only checks the next destination and there is no complexity behind it because it simply chooses the one that is closest and not occupied and sends the car along that conveyor path. This is bad because if the timing between two different machines is offset then you could be sending more cars to the slower machine than the faster one. This is a problem the game has right now. It does not take into account at all how big the queue of cars is behind the machine that is not occupied, or how fast this machine is compared to another one and its queue.

Adding the ability for the car to reach all its specialized destinations without requiring an insane amount of conveyor means that it can’t just move forward along conveyors. Its going to require some new conveyor logic so that you can assign sections of conveyor so that a car can move backwards along a line- so that its not a “one way” street, because that would require too much space. This means that cars that are on this “two way” street conveyor will have to block other cars from entering that section of conveyor at the other end.

Again, not saying I don’t like this idea, or that its not possible. Just don’t think its going to be simple to do. The reason factorio gets away with a lot of things is because it uses unrealistic technology that this game will never have, so it has to solve the problems differently.

Making conveyors bi-directional could definitely be a thing, but wouldn’t really be required to make it work. It can be done without it already:


In that map from 1.07 I basically made a merge and split between every stage so I can have features optionally… and it doesn’t require too much space either.

For hardcore tweakers who do all the math and numbercrunching to squeeze out the last bit of performance of an availalbe map that won’t be an option of course but I don’t care about doing that. I play for fun and to test/try things out even if they are not the most efficient.

Yeah well, if you might know my posts from the Factorio Forums (I’m there as well} then you might know that I suggested/criticized various aspects of Factorio anyways and they mostly went by unheeded and now the devs wonder at times why the game crumbles upon their heads and why everything takes 3 times as long as expected and why they are stuck with a never-ending development cycle and updates because of how various problems that have accumulated could have been perfectly avoided if they would have done it well the first time around (like some people suggested)… but now have to re-do several parts from the game from scratch. And yet the game still doesn’t have a real goal or end game so you build a factory for the sake of a factory.

Their design philosophy is anyways “if it could be done by mods we don’t do it” and that’s the best philosophy to avoid dealing with obvious problems or shortcomings… which rendered the vanilla game boring more than a year ago and which won’t change much with the 2 remaining updates. If it wouldn’t be for the sake of modding capability the game would already have lost its charm because there is no reason to replay it more than 3-4 times.

It’s not that I’m mad about the Factorio devs, but they probably should have put a finish line under the game a long time ago.