Beacon: Difference between revisions
No edit summary |
m (words) |
||
(46 intermediate revisions by 18 users not shown) | |||
Line 1: | Line 1: | ||
{{Languages}}{{:Infobox:Beacon}} | |||
A '''beacon''' is a device that transmits [[module]] effects to nearby machines, in a 9×9 square. The effects are transmitted at only half efficiency. However, a beacon allows transmitting the effect of a module to multiple machines and the effect of all beacons in range of a single machine stacks. Additionally, beacons can provide boosts beyond the normal limits of internal module slots, such as boosting a [[pumpjack]]'s output on a depleted well to 0.25 oil per cycle where, alone, it could only reach 0.2 yield. | |||
The beacon emanates an electrical charge at a steady interval, the color changes depending on which modules are placed into the beacon, or if it contains none at all. | |||
== Usage == | |||
Beacons are '''''best''''' in these scenarios: | |||
* There are many compatible machines in a dense area | |||
This allows the beacon's effect to reach multiple machines, allowing the player to save materials from crafting modules. | |||
* There is one machine that must have an extreme speed of operation | |||
Mining drills are the best example of this. When an ore patch is small but rich, more speed per drill is necessary to meet demand, since adding more drills isn't possible. So, multiple speed module beacons around a mining drill (with modules in the drill itself) can be used to increase the speed of the individual drill several times, to make up for the low quantity of drills. | |||
---- | |||
Beacons should '''''not''''' be used in these scenarios: | |||
* The machine(s) being boosted operate infrequently | |||
This leads to power waste as beacons will always consume power, even when the machines they're boosting are halted. This however can be circumvented with some planning, and using a [[power switch]]. | |||
* Attempting to boost non-module-compatible machines | |||
Only machines that have module slots will be affected by a beacon. | |||
== Limitations == | |||
* Only buildings with module slots can benefit from beacon effects (i.e. [[laser turret]] doesn't benefit). The only exceptions to this rule are beacons themselves which ''don't'' benefit from the modules inserted in themselves (or other beacons), so their energy cost can't be reduced. | |||
* Currently, only [[Module#Speed_Module|speed]] and [[Module#Efficiency_Module|efficiency]] modules can be used in beacons, and [[Module#Productivity Module|productivity]] modules cannot. | |||
* A beacon's effect transmitted is only half of the effect of the modules within. So, two of the same module = one module's worth transmitted. This limitation can be overcome with more beacons with overlapping areas. | |||
== | == Maximum number per building == | ||
The maximum number of beacons that can be built in range of a building depend on that building's footprint: | |||
* Buildings from 2×2 to 4×4 size: '''12 beacons'''. | |||
:Note that this configuration may not be practically possible without using robots to supply the building, as there may not be enough room for belts and inserters. | |||
* 5×5 buildings: '''16 beacons'''. | |||
:The only building of this size that can benefit from beacons is the [[oil refinery]]. These cannot be supplied by robot, but all their inputs and outputs are piped fluids (except with [[coal liquefaction]]), meaning inserters are not needed and also offering the more versatile 9-tile (without transitions) maximum length of the underground pipe. | |||
* 9x9 buildings: '''20 beacons'''. | |||
:Curently, the only building of this size in-game is the [[rocket silo]]. Unlike with smaller buildings, this configuration allows for a 2-tile gap in between the beacons and the building and a 1-tile gap between beacons aligned with the center tile of the building, allowing space for belts and inserters. | |||
The maximum number of beacons that can be built in range of a row of buildings: | |||
* Row of 3×3 buidings: '''8 beacons'''. | |||
:Every building in the row can be in range of 8 beacons (end-of-row buildings possibly more) if a double row of beacons (no spaces between) is built in parallel (may be up to 2 tiles distant). However, the center row of buildings to be boosted must be offset relative to the beacon row; i.e., the center tile of no building on the center row may lie on a line connecting the center tiles of any pair of facing beacons on the two beacon rows. | |||
* Row of 5×5 buidings: '''10 beacons'''. | |||
: The same rules apply as before, with the exception that now the center row must ''not'' be offset; i.e., centers of boosted buildings must align with the centers of some beacon pair. This requires leaving a gap of 1 tile between buildings on the center row (assuming the beacon rows are gapless). As the only beacon-eligible 5×5 buildings are oil refineries, the free tile is actually useful to make the row player-traversable (a gapless row of refineries is not). | |||
== Beacon arrays == | |||
Beacons can boost the overall capabilities of a factory quite significantly. However, they consume a considerable amount of power (480 kW apiece), take up nontrivial space, complicate logistics, and also are relatively expensive to craft. Therefore, when building an entire production line with a high beacon boost, it is significantly more economical to build a row of production buildings surrounded by row(s) of beacons, rather than single buildings surrounded by the maximum number of beacons theoretically possible. This also simplifies logistics and makes the design more tiling-friendly. | |||
The maximum possible benefits are reduced somewhat in row-array configuration (for 3×3 buildings, 8 beacons per building are possible instead of 12; for 5×5 buildings, 10 instead of 16), but the number of beacons required to achieve this boost level is considerably lower. For example, for a single row of 3×3 buildings surrounded by a double row of beacons so that each production building is in range of 8 beacons, the total number of beacons required is <code>2n + 6</code>, where ''n'' is the number of production buildings. | |||
The average number of beacons per building is then <code>2 + (6 ÷ n)</code>, which tends toward 2 (i.e., a 75% reduction in the number of beacons needed compared to isolated buildings with 8 distinct beacons each) when ''n'' goes to infinity. For e.g. ''n'' = 10 the formula evaluates to 2.6, which is still a reduction of 67.5% in beacons needed. | |||
=== Multi-row arrays === | |||
For large numbers of buildings to be boosted, efficiency can be further improved by separating production buildings into multiple rows. In this case, the beacons in all but the edge rows of the array can be shared by the two rows of production buildings on either side. (Note that it does not matter if these are producing different recipes and / or are different buildings altogether.) The total number of beacons required, assuming 3×3 sized production buildings and rows of equal length, is <code>B(r,c) = (r + 1)(c + 3) = rc + 3r + c + 3</code>, where ''r'' is the number of rows of production buildings and ''c'' is the number of production buildings in a single row. | |||
The number of beacons per boosted building is then <code>(3 ÷ rc) + (1 ÷ r) + (3 ÷ c) + 1</code>, which tends to 1 as both ''r'' and ''c'' go to infinity. For finite arrays, the optimum number of rows is given by <code>r = -0.5 + sqrt[(n ÷ 3) + 0.25]</code>, where ''n'' is the total number of buildings to be boosted. | |||
The formula above does not generally return integer results. If the ''r'' thus found is non-integer, iterate around it, i.e., calculate the number of beacons needed with ''floor(r)'' (the next lower integer) and ''ceiling(r)'' (the next higher integer) rows and compare the results. For each such integer ''r'', calculate ''c'' as ''floor(n ÷ r)'', then calculate the number of beacons as ''B(r,c)'' + ''mod(n,r)'' + 1, where ''B(r,c)'' is given above and ''mod(n,r)'' is ''n'' modulo ''r'', i.e., the remainder of (''n'' ÷ ''r''), equal to ''n'' - (''r'' × ''c''). | |||
There will in either case be ''mod(n,r)'' buildings "left over"; these should be appended one per row to the ends of a contiguous block of neighboring rows for the total beacon count calculation above to be valid. Other configurations for the leftovers (e.g. all appended to the end of a single row, one each at the end of every second row, etc.) require a higher number of beacons to cover. | |||
=== Optimal arrays === | |||
= | For 3×3 structures, arrays satisfying <code>c = 3r</code> are optimal, in the sense that they minimize the number of beacons required to cover the total number of structures (''rc''), therefore allowing the most use out of an individual beacon. Since structures may only be built in integer amounts, there are, below a reasonable cutoff on total array size, only a finite number of integer structure counts ''rc'' with which an optimal array such that <code>c = 3r</code> and ''c'' and ''r'' are integer may be built. The first few counts, along with associated array sizes and beacons-to-structures ratios, are summarized in the table below. | ||
{| class="wikitable" | {| class="wikitable" | ||
! | !colspan="1" style="width: 75px;" |Structures | ||
!colspan="1" style="width: 75px;" |Rows | |||
!colspan="1" style="width: 75px;" |Columns | |||
!colspan="1" style="width: 150px;" |Beacons | |||
!colspan="1" style="width: 150px;" |Beacons per structure | |||
!colspan="1" style="width: 160px;" |Dimensions (tiles)* | |||
|- | |- | ||
| | ! | 3 | ||
| 1 || 3 || 12 || 4.00 || 18×11 | |||
|- | |||
! | 12 | |||
| 2 || 6 || 27 || 2.25 || 27×19 | |||
|- | |||
! | 27 | |||
| 3 || 9 || 48 || 1.78 || 36×27 | |||
|- | |||
! | 48 | |||
| 4 || 12 || 75 || 1.56 || 45×35 | |||
|- | |||
! | 75 | |||
| 5 || 15 || 108 || 1.44 || 54×43 | |||
|- | |||
! | 108 | |||
| 6 || 18 || 147 || 1.36 || 63×51 | |||
|- | |||
! | 147 | |||
| 7 || 21 || 192 || 1.31 || 72×59 | |||
|- | |||
! | ... | |||
| ... || ... || ... || ... || ... | |||
|- | |||
! | 3r^2 | |||
| r || 3r || (r + 1) (3r + 3) || 1 + 2/r + 1/r^2 || (9r + 9) × (8r + 3) | |||
|- | |- | ||
|} | |} | ||
== | Notes to table: | ||
* | *Array dimension in tiles (last table column) assumes 2 tiles' space (e.g. inserter + chest) is left either above or below each row of structures, while no extra space is left anywhere else. | ||
* | *The 5-row array (75 structures) is the largest that can be covered by a logistic network generated from roboports located outside its footprint. For larger arrays, at least a minimal number of roboports would need to be strategically placed in the interior to provide coverage, thereby worsening the beacons-to-structures proportion somewhat. | ||
== History == | |||
{{history|0.13.0| | |||
* Renamed from Basic beacon to Beacon.}} | |||
{{history|0.12.17| | |||
* Update icon}} | |||
{{history|0.12.0| | |||
* Inserters can now extract from Beacons.}} | |||
{{history|0.10.1| | |||
* New beacon graphics.}} | |||
{{history|0.9.0| | |||
* Area of effect can now be seen on hover.}} | |||
{{history|0.7.5| | |||
* Deactivated beacons will not give bonuses.}} | |||
{{history|0.7.3| | |||
* Restricted use of productivity modules in beacons.}} | |||
{{history|0.6.0| | |||
* Introduced}} | |||
== | ==See also== | ||
[[ | *[[Crafting]] | ||
*[[Electric system]] | |||
*[[Module|Modules]] | |||
{{ProductionNav}} | |||
{{C|Modules}} |
Latest revision as of 10:39, 17 August 2020
Beacon |
Recipe |
|
+ + + + → | |
Total raw |
|
+ + + + |
Recipe |
|
+ + + + → | |
Total raw |
|
+ + + + |
Map color |
|
Health |
200 |
Stack size |
10 |
Efficiency |
50% |
Dimensions |
3×3 |
Energy consumption |
480 kW (electric) |
Mining time |
0.2 |
Supply area |
9 tiles |
Module slots |
2 slots |
Prototype type |
|
Internal name |
beacon |
Required technologies |
|
Produced by |
|
Overall effect stacks with multiple beacons covering the same machine. |
A beacon is a device that transmits module effects to nearby machines, in a 9×9 square. The effects are transmitted at only half efficiency. However, a beacon allows transmitting the effect of a module to multiple machines and the effect of all beacons in range of a single machine stacks. Additionally, beacons can provide boosts beyond the normal limits of internal module slots, such as boosting a pumpjack's output on a depleted well to 0.25 oil per cycle where, alone, it could only reach 0.2 yield.
The beacon emanates an electrical charge at a steady interval, the color changes depending on which modules are placed into the beacon, or if it contains none at all.
Usage
Beacons are best in these scenarios:
- There are many compatible machines in a dense area
This allows the beacon's effect to reach multiple machines, allowing the player to save materials from crafting modules.
- There is one machine that must have an extreme speed of operation
Mining drills are the best example of this. When an ore patch is small but rich, more speed per drill is necessary to meet demand, since adding more drills isn't possible. So, multiple speed module beacons around a mining drill (with modules in the drill itself) can be used to increase the speed of the individual drill several times, to make up for the low quantity of drills.
Beacons should not be used in these scenarios:
- The machine(s) being boosted operate infrequently
This leads to power waste as beacons will always consume power, even when the machines they're boosting are halted. This however can be circumvented with some planning, and using a power switch.
- Attempting to boost non-module-compatible machines
Only machines that have module slots will be affected by a beacon.
Limitations
- Only buildings with module slots can benefit from beacon effects (i.e. laser turret doesn't benefit). The only exceptions to this rule are beacons themselves which don't benefit from the modules inserted in themselves (or other beacons), so their energy cost can't be reduced.
- Currently, only speed and efficiency modules can be used in beacons, and productivity modules cannot.
- A beacon's effect transmitted is only half of the effect of the modules within. So, two of the same module = one module's worth transmitted. This limitation can be overcome with more beacons with overlapping areas.
Maximum number per building
The maximum number of beacons that can be built in range of a building depend on that building's footprint:
- Buildings from 2×2 to 4×4 size: 12 beacons.
- Note that this configuration may not be practically possible without using robots to supply the building, as there may not be enough room for belts and inserters.
- 5×5 buildings: 16 beacons.
- The only building of this size that can benefit from beacons is the oil refinery. These cannot be supplied by robot, but all their inputs and outputs are piped fluids (except with coal liquefaction), meaning inserters are not needed and also offering the more versatile 9-tile (without transitions) maximum length of the underground pipe.
- 9x9 buildings: 20 beacons.
- Curently, the only building of this size in-game is the rocket silo. Unlike with smaller buildings, this configuration allows for a 2-tile gap in between the beacons and the building and a 1-tile gap between beacons aligned with the center tile of the building, allowing space for belts and inserters.
The maximum number of beacons that can be built in range of a row of buildings:
- Row of 3×3 buidings: 8 beacons.
- Every building in the row can be in range of 8 beacons (end-of-row buildings possibly more) if a double row of beacons (no spaces between) is built in parallel (may be up to 2 tiles distant). However, the center row of buildings to be boosted must be offset relative to the beacon row; i.e., the center tile of no building on the center row may lie on a line connecting the center tiles of any pair of facing beacons on the two beacon rows.
- Row of 5×5 buidings: 10 beacons.
- The same rules apply as before, with the exception that now the center row must not be offset; i.e., centers of boosted buildings must align with the centers of some beacon pair. This requires leaving a gap of 1 tile between buildings on the center row (assuming the beacon rows are gapless). As the only beacon-eligible 5×5 buildings are oil refineries, the free tile is actually useful to make the row player-traversable (a gapless row of refineries is not).
Beacon arrays
Beacons can boost the overall capabilities of a factory quite significantly. However, they consume a considerable amount of power (480 kW apiece), take up nontrivial space, complicate logistics, and also are relatively expensive to craft. Therefore, when building an entire production line with a high beacon boost, it is significantly more economical to build a row of production buildings surrounded by row(s) of beacons, rather than single buildings surrounded by the maximum number of beacons theoretically possible. This also simplifies logistics and makes the design more tiling-friendly.
The maximum possible benefits are reduced somewhat in row-array configuration (for 3×3 buildings, 8 beacons per building are possible instead of 12; for 5×5 buildings, 10 instead of 16), but the number of beacons required to achieve this boost level is considerably lower. For example, for a single row of 3×3 buildings surrounded by a double row of beacons so that each production building is in range of 8 beacons, the total number of beacons required is 2n + 6
, where n is the number of production buildings.
The average number of beacons per building is then 2 + (6 ÷ n)
, which tends toward 2 (i.e., a 75% reduction in the number of beacons needed compared to isolated buildings with 8 distinct beacons each) when n goes to infinity. For e.g. n = 10 the formula evaluates to 2.6, which is still a reduction of 67.5% in beacons needed.
Multi-row arrays
For large numbers of buildings to be boosted, efficiency can be further improved by separating production buildings into multiple rows. In this case, the beacons in all but the edge rows of the array can be shared by the two rows of production buildings on either side. (Note that it does not matter if these are producing different recipes and / or are different buildings altogether.) The total number of beacons required, assuming 3×3 sized production buildings and rows of equal length, is B(r,c) = (r + 1)(c + 3) = rc + 3r + c + 3
, where r is the number of rows of production buildings and c is the number of production buildings in a single row.
The number of beacons per boosted building is then (3 ÷ rc) + (1 ÷ r) + (3 ÷ c) + 1
, which tends to 1 as both r and c go to infinity. For finite arrays, the optimum number of rows is given by r = -0.5 + sqrt[(n ÷ 3) + 0.25]
, where n is the total number of buildings to be boosted.
The formula above does not generally return integer results. If the r thus found is non-integer, iterate around it, i.e., calculate the number of beacons needed with floor(r) (the next lower integer) and ceiling(r) (the next higher integer) rows and compare the results. For each such integer r, calculate c as floor(n ÷ r), then calculate the number of beacons as B(r,c) + mod(n,r) + 1, where B(r,c) is given above and mod(n,r) is n modulo r, i.e., the remainder of (n ÷ r), equal to n - (r × c).
There will in either case be mod(n,r) buildings "left over"; these should be appended one per row to the ends of a contiguous block of neighboring rows for the total beacon count calculation above to be valid. Other configurations for the leftovers (e.g. all appended to the end of a single row, one each at the end of every second row, etc.) require a higher number of beacons to cover.
Optimal arrays
For 3×3 structures, arrays satisfying c = 3r
are optimal, in the sense that they minimize the number of beacons required to cover the total number of structures (rc), therefore allowing the most use out of an individual beacon. Since structures may only be built in integer amounts, there are, below a reasonable cutoff on total array size, only a finite number of integer structure counts rc with which an optimal array such that c = 3r
and c and r are integer may be built. The first few counts, along with associated array sizes and beacons-to-structures ratios, are summarized in the table below.
Structures | Rows | Columns | Beacons | Beacons per structure | Dimensions (tiles)* |
---|---|---|---|---|---|
3 | 1 | 3 | 12 | 4.00 | 18×11 |
12 | 2 | 6 | 27 | 2.25 | 27×19 |
27 | 3 | 9 | 48 | 1.78 | 36×27 |
48 | 4 | 12 | 75 | 1.56 | 45×35 |
75 | 5 | 15 | 108 | 1.44 | 54×43 |
108 | 6 | 18 | 147 | 1.36 | 63×51 |
147 | 7 | 21 | 192 | 1.31 | 72×59 |
... | ... | ... | ... | ... | ... |
3r^2 | r | 3r | (r + 1) (3r + 3) | 1 + 2/r + 1/r^2 | (9r + 9) × (8r + 3) |
Notes to table:
- Array dimension in tiles (last table column) assumes 2 tiles' space (e.g. inserter + chest) is left either above or below each row of structures, while no extra space is left anywhere else.
- The 5-row array (75 structures) is the largest that can be covered by a logistic network generated from roboports located outside its footprint. For larger arrays, at least a minimal number of roboports would need to be strategically placed in the interior to provide coverage, thereby worsening the beacons-to-structures proportion somewhat.
History
- 0.13.0:
- Renamed from Basic beacon to Beacon.
- 0.12.17:
- Update icon
- 0.12.0:
- Inserters can now extract from Beacons.
- 0.10.1:
- New beacon graphics.
- 0.9.0:
- Area of effect can now be seen on hover.
- 0.7.5:
- Deactivated beacons will not give bonuses.
- 0.7.3:
- Restricted use of productivity modules in beacons.
- 0.6.0:
- Introduced