Factorio and real physics
Posted: Sun Aug 18, 2013 4:32 am
When I worked on the test track I found out, that many physics in the game is some like compareable to reality.
Work
The definition of work is force multiplied with distance. So in factorio! We need to replace the force with items. This is explainable, items have a weight, they don't move themselves, to move them a force is needed. (It can be explained also differently: in quantum physics things doesn't exist any more, instead there are only some strange forces left. The same is with items: when I look into the data structures only some bit and byte and functions are left. Ok - it's just a game! )
And the distance is logically measured in tiles.
Now we have items * tiles. Item tiles.
Moving an item makes only sense, if you tell, how fast, or how long it takes to reach, so you need to multiply with time.
This is 1 work: move an item a tile per second.
In physics you have this equivalence: 1 newton meter = 1 joule
In factorio it is: 1 item tile = 1 work
Speed
Tiles per Second. Belts for example move with 1.8 tiles/sec
Energy
1 newton meter is also 1 watt second
Factorio has its own rules, of how much energy is used to do this and that, but it might be a rule of thumb for new stuff, new items etc. to estimate the use of energy when you compare 1 item tile = 1 work = 1 watt second.
Example: 100 bots can take 2 item each and drive 3 tiles per second, so the work is 100*2*3 = 600 item tiles per second 36000 wattseconds /minute. Which is 2160000 watt per hour or 2160kWH!
(So logistic robots might need a significant amount of energy?!
We can calculate that also for belts, inserters and I would also assemblies: they are 3x3 tiles, so the work is 9 times bigger! So when an assembly needs 2 steel plate and outputs a wheel in a second we have 3 item x 9 tiles = 27 item tiles. Which is of course too less, but we also said already , that the assemblies are too small. and again: it might help to estimate the right amount of energy, nothing more!
Flow/throughput
The flow is how many items per time. A basic belt has for example a maximum flow of 720 items per minute.
Capacity
A chest contains stacks and a stack has different sizes and can contain a different number of items depending on their size.
So, we have here two variables: stack size and item size. What capacity wants to say is how much items of this type are going in? and so, the capacity is measured in items per item type.
Do you have more ideas?
Conclusion
We can calculates some useful numbers for logistic bots, belts and trains out of that!
- the "work" the logistics can make as theoretical maximum. Items per tiles in a minute or how many items can be transported one tile in a minute.
See the example above. The 100 logistic bots can transport 36000 item tiles per minute.
- the same can be calculated as real statistics, the real transported items tiles. For example a bot has transported 2 items 50 tiles wide, then he returns empty. The resulting work is 2*50 + 0*50 = 100 item tiles.
- the percentage between theory and practice. At a later version some warnings can lit up, when a minimum is reached.
Example: in theory the bot can transport 2 items 100 tiles wide. Practical he manages only 50. So 50/100 = 0.5 or 50%
I think/estimate under a limit of 60% the logistic bots begin to be useless.
Work
The definition of work is force multiplied with distance. So in factorio! We need to replace the force with items. This is explainable, items have a weight, they don't move themselves, to move them a force is needed. (It can be explained also differently: in quantum physics things doesn't exist any more, instead there are only some strange forces left. The same is with items: when I look into the data structures only some bit and byte and functions are left. Ok - it's just a game! )
And the distance is logically measured in tiles.
Now we have items * tiles. Item tiles.
Moving an item makes only sense, if you tell, how fast, or how long it takes to reach, so you need to multiply with time.
This is 1 work: move an item a tile per second.
In physics you have this equivalence: 1 newton meter = 1 joule
In factorio it is: 1 item tile = 1 work
Speed
Tiles per Second. Belts for example move with 1.8 tiles/sec
Energy
1 newton meter is also 1 watt second
Factorio has its own rules, of how much energy is used to do this and that, but it might be a rule of thumb for new stuff, new items etc. to estimate the use of energy when you compare 1 item tile = 1 work = 1 watt second.
Example: 100 bots can take 2 item each and drive 3 tiles per second, so the work is 100*2*3 = 600 item tiles per second 36000 wattseconds /minute. Which is 2160000 watt per hour or 2160kWH!
(So logistic robots might need a significant amount of energy?!
We can calculate that also for belts, inserters and I would also assemblies: they are 3x3 tiles, so the work is 9 times bigger! So when an assembly needs 2 steel plate and outputs a wheel in a second we have 3 item x 9 tiles = 27 item tiles. Which is of course too less, but we also said already , that the assemblies are too small. and again: it might help to estimate the right amount of energy, nothing more!
Flow/throughput
The flow is how many items per time. A basic belt has for example a maximum flow of 720 items per minute.
Capacity
A chest contains stacks and a stack has different sizes and can contain a different number of items depending on their size.
So, we have here two variables: stack size and item size. What capacity wants to say is how much items of this type are going in? and so, the capacity is measured in items per item type.
Do you have more ideas?
Conclusion
We can calculates some useful numbers for logistic bots, belts and trains out of that!
- the "work" the logistics can make as theoretical maximum. Items per tiles in a minute or how many items can be transported one tile in a minute.
See the example above. The 100 logistic bots can transport 36000 item tiles per minute.
- the same can be calculated as real statistics, the real transported items tiles. For example a bot has transported 2 items 50 tiles wide, then he returns empty. The resulting work is 2*50 + 0*50 = 100 item tiles.
- the percentage between theory and practice. At a later version some warnings can lit up, when a minimum is reached.
Example: in theory the bot can transport 2 items 100 tiles wide. Practical he manages only 50. So 50/100 = 0.5 or 50%
I think/estimate under a limit of 60% the logistic bots begin to be useless.