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

Beacon: Difference between revisions

From Official Factorio Wiki
Jump to navigation Jump to search
m (whitespace)
m (→‎Limitations: fixed links)
(17 intermediate revisions by 7 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. 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.
[[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 23: 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 31: Line 30:
== Limitations ==
== 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 [[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.
* 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#Effectivity_Module|efficiency]] modules can be used in beacons, and [[Module#Productivity Module|productivity]] modules cannot.
* 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.
* 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 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.


== 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'''.
: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.
: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'''.
* 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.
: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:
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'''.
: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.
: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'''.
* 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).
: 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 ==
== Beacon arrays ==
Line 57: Line 56:
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 63: Line 62:
=== 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 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'').
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 ==
Line 99: Line 143:
==See also==
==See also==
*[[Crafting]]
*[[Crafting]]
*[[Electric network]]
*[[Electric system]]
*[[Module|Modules]]
*[[Module|Modules]]


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

Revision as of 09:37, 31 July 2023

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. 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.
  • 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.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