In other languages: Deutsch Français 日本語 Polski Русский Українська 简体中文

Beacon: Difference between revisions

From Official Factorio Wiki
Jump to navigation Jump to search
(Added section on the optimal geometry of beacon arrays to minimize beacons needed for maximum beacons per building.)
(Replaced "beacons only transmit half of the modules in beacons" to "multiple beacons overlapping the same machine will have diminishing returns")
 
(28 intermediate revisions by 11 users not shown)
Line 1: Line 1:
{{Languages}}
{{Languages}}{{:Infobox:Beacon}}
{{:Infobox:Beacon}}
A '''beacon''' is a device that transmits [[module]] effects to nearby machines, in a 9×9 square, while also boosting the effects of said modules. A beacon allows transmitting the effect of a module to multiple machines, and multiple beacons can affect the same machine, albeit with diminishing returns. Additionally, beacons can provide boosts beyond the normal limits of internal module slots. <!-- Pumpjacks were previously used as an example here. I removed the example because the stats were outdated. Could be re-added with post-2.0 stats. -->
[[File:factorio-beacon.png|thumb|right|Beacon and 12 [[Electric furnace]]s affected by it.]]
 
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 ==
== Usage ==
Line 16: Line 14:
* There is one machine that must have an extreme speed of operation
* 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.  
Mining drills present an example of this usefulness. 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.  


----
----
Line 24: Line 22:
* The machine(s) being boosted operate infrequently
* 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]].
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
* Attempting to boost non-module-compatible machines
Line 30: Line 28:
Only machines that have module slots will be affected by a beacon.
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.


== Limitations ==
* Currently, only [[Module#Speed_module|speed]] and [[Module#Efficiency_module|efficiency]] modules can be used in beacons, and [[Module#Productivity module|productivity]] and [[Module#Quality_module|quality]]{{SA}} modules cannot.


* Only buildings with module slots can benefit from beacon effects (i.e. [[laser turret]] doesn't benefit). The only exceptions to this rule are [[Assembling machine 1]]s, [[Burner mining drill]]s (both of which don't accept modules but ''are'' affected by beacons), and beacons themselves which ''don't'' benefit from the modules inserted in themselves (or other beacons), so their energy cost can't be reduced.
* Multiple beacons overlapping the same machine will have diminishing returns, so it's more efficient to surround buildings around beacons than surround beacons around buildings.


* Currently, only [[Module#Speed_Module|speed]] and [[Module#Effectivity_Module|efficiency]] modules can be used in beacons, and [[Module#Productivity Module|productivity]] modules cannot.
== Transmission strength ==
The effect of modules placed in beacons is not equal to those placed in the machines themselves. Rather, it is multiplied by a factor called "transmission strength". This factor is applied to all stats affected by the module, both good and bad.


* 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.
The transmission strength itself depends on two factors. One is the distribution efficiency stat of the beacon; For normal beacons, this is always 1.5, but quality can increase it up to 2.5 for legendary beacons. The second factor is the reciprocal square root of the number of beacons affecting each machine. Therefore, in total, <code>n</code> beacons affecting the same machine will have a combined transmission strength of <code>n^0.5</code>.
 
* The beacon itself is 3 × 3 tiles, making it difficult to fit between buildings sometimes. It may be necessary to place the beacon first and design the system around it.


In practical terms, this means that there are diminishing returns on increasing the number of beacons affecting the same machine, as the effect per beacon decreases when more are added.


== Maximum number per building ==
== Maximum number per building ==


The maximum number of beacons that can be built in range of a building depend on that building's footprint:
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'''.
* Buildings from 2×2 to 4×4 size: '''12 beacons''', with an effect of 3.46 times that of a single beacon.
: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.
* Buildings from 5×5 to 7x7 size: '''16 beacons''', with an effect of 4 times that of a single beacon.
* 5 × 5 buildings: '''16 beacons'''.
* Buildings from 8x8 to 10x10 size: '''20 beacons''', with an effect of 4.47 times that of a single beacon.
: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.
 
It should be noted that, because the space between a beacon and a machine can not be greater than two tiles without putting the machine outside of the beacon's range, belt routing can become a challenge. In some situations, use of the logistic network may be required in order to supply the machines.


The maximum number of beacons that can be built in range of a row of buildings:
The maximum number of beacons that can be built in range of a row of buildings:
* Row of 3 × 3 buidings: '''8 beacons'''.
* Row of 3×3 buidings: '''8 beacons''', with an effect of 2.83 times that of a single beacon.
: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''', with an effect of 3.16 times that of a single beacon.
* Row of 5 × 5 buidings: '''10 beacons'''.
Note that when buildings and beacons are arranged in parallel rows like this, the offset between buildings and beacons along the direction of the rows is important. For example, imagine placing a row of [[assembling machine 3]]s between two rows of beacons. If the sides of the beacons and the assembling machines line up, every assembling machine is affected by six beacons in total. Howevever, if either the beacons or the assembling machines are shifted by one tile relative to the other, then each assembling machine is affected by eight beacons in total.
: 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).
 
[[File:Beacon alignment (3 wide).jpg|400px]]


In general, depending on the width of the machines modulo 3:
* If the width of the machines is divisible by three, then the arrangement is optimal when the sides of a machine do not align with the sides of a beacon on the axis perpendicular to the direction of the rows.
* If the width of the machines modulo 3 is 1 (such as a width of 4), then any offset leads to an optimal layout.
* If the width of the machines modulo 3 is 2 (such as a width of 5), then the arrangement is optimal when the center of a machine aligns with the center of a beacon on the axis perpendicular to the direction of the rows. Note that this requires a one-tile gap between the machines.


== Beacon arrays ==
== Beacon arrays ==
Line 62: Line 68:
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.
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 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.
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.
Line 68: Line 74:
=== Multi-row arrays ===
=== 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.
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 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 lower integer) rows and compare the results. For each ''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'').
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.
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"
!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 ==
{{History|2.0.7|
* Increased beacon stack size from 10 to 20.
* Diminishing return of beacons effect. ([https://factorio.com/blog/post/fff-409 FFF-409 - Diminishing beacons])
}}


{{history|0.13.0|
{{history|0.13.0|
Line 104: Line 159:
==See also==
==See also==
*[[Crafting]]
*[[Crafting]]
*[[Electric network]]
*[[Electric system]]
*[[Module|Modules]]
*[[Module|Modules]]


{{ProductionNav}}
{{ProductionNav}}
{{C|Modules}}
{{C|Modules}}

Latest revision as of 19:00, 29 November 2024

Beacon.png
Beacon

Beacon anim.gif

Recipe

Time.png
15
+
Advanced circuit.png
20
+
Copper cable.png
10
+
Electronic circuit.png
20
+
Steel plate.png
10
Beacon.png
1

Total raw

Time.png
232.5
+
Copper plate.png
135
+
Iron plate.png
60
+
Plastic bar.png
40
+
Steel plate.png
10

Map color

Health

Quality normal.png 200
Quality uncommon.png 260 Quality rare.png 320
Quality epic.png 380 Quality legendary.png 500

Stack size

20

Efficiency

Quality normal.png 1.5
Quality uncommon.png 1.7 Quality rare.png 1.9
Quality epic.png 2.1 Quality legendary.png 2.5

Dimensions

3×3

Energy consumption

Quality normal.png 480 kW
Quality uncommon.png 400 kW Quality rare.png 320 kW
Quality epic.png 240 kW Quality legendary.png 80 kW
(electric)

Mining time

0.2

Supply area

9x9 tiles

Module slots

2 slots

Prototype type

beacon

Internal name

beacon

Required technologies

Effect transmission (research).png

Produced by

Assembling machine 1.png
Assembling machine 2.png
Assembling machine 3.png
Player.png

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, while also boosting the effects of said modules. A beacon allows transmitting the effect of a module to multiple machines, and multiple beacons can affect the same machine, albeit with diminishing returns. Additionally, beacons can provide boosts beyond the normal limits of internal module slots.

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 present an example of this usefulness. 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.
  • Multiple beacons overlapping the same machine will have diminishing returns, so it's more efficient to surround buildings around beacons than surround beacons around buildings.

Transmission strength

The effect of modules placed in beacons is not equal to those placed in the machines themselves. Rather, it is multiplied by a factor called "transmission strength". This factor is applied to all stats affected by the module, both good and bad.

The transmission strength itself depends on two factors. One is the distribution efficiency stat of the beacon; For normal beacons, this is always 1.5, but quality can increase it up to 2.5 for legendary beacons. The second factor is the reciprocal square root of the number of beacons affecting each machine. Therefore, in total, n beacons affecting the same machine will have a combined transmission strength of n^0.5.

In practical terms, this means that there are diminishing returns on increasing the number of beacons affecting the same machine, as the effect per beacon decreases when more are added.

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, with an effect of 3.46 times that of a single beacon.
  • Buildings from 5×5 to 7x7 size: 16 beacons, with an effect of 4 times that of a single beacon.
  • Buildings from 8x8 to 10x10 size: 20 beacons, with an effect of 4.47 times that of a single beacon.

It should be noted that, because the space between a beacon and a machine can not be greater than two tiles without putting the machine outside of the beacon's range, belt routing can become a challenge. In some situations, use of the logistic network may be required in order to supply the machines.

The maximum number of beacons that can be built in range of a row of buildings:

  • Row of 3×3 buidings: 8 beacons, with an effect of 2.83 times that of a single beacon.
  • Row of 5×5 buidings: 10 beacons, with an effect of 3.16 times that of a single beacon.

Note that when buildings and beacons are arranged in parallel rows like this, the offset between buildings and beacons along the direction of the rows is important. For example, imagine placing a row of assembling machine 3s between two rows of beacons. If the sides of the beacons and the assembling machines line up, every assembling machine is affected by six beacons in total. Howevever, if either the beacons or the assembling machines are shifted by one tile relative to the other, then each assembling machine is affected by eight beacons in total.

Beacon alignment (3 wide).jpg

In general, depending on the width of the machines modulo 3:

  • If the width of the machines is divisible by three, then the arrangement is optimal when the sides of a machine do not align with the sides of a beacon on the axis perpendicular to the direction of the rows.
  • If the width of the machines modulo 3 is 1 (such as a width of 4), then any offset leads to an optimal layout.
  • If the width of the machines modulo 3 is 2 (such as a width of 5), then the arrangement is optimal when the center of a machine aligns with the center of a beacon on the axis perpendicular to the direction of the rows. Note that this requires a one-tile gap between the machines.

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.0:
    • Inserters can now extract from Beacons.
  • 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.

See also