Skip to main content

Gameplay mechanics

Introduction

This page lists all gameplay mechanics that can appear in Lasers-Enigma puzzles.

⚠️ Spoiler warning — This page reveals every mechanic a puzzle can contain, including advanced and hidden ones. If you want to discover them on your own through gameplay, stop reading here.

Most mechanic are tied to a specific component and describes a distinct interaction that a player may encounter and learn while solving puzzles.

This list is or will be used internally to:

  • classify puzzle difficulty and order puzzles in a progression.
  • track player progression
  • avoid sending a player to a puzzle that uses too much mechanics he have never encountered before.

Mechanics

ComponentGame mechanicLearning difficulty (/100)Complexity weight (/100)
Laser Senderfixed rotation53
Laser Senderhorizontal rotation105
Laser Sendervertical rotation158
Laser Senderhorizontal & vertical rotation4035
Laser Senderscheduled action4520
Laser Senderprimary color53
Laser Sendersecondary color158
Laser Senderwhite105
Laser Senderconditional5530
Laser Receiverfixed rotation55
Laser Receiverhorizontal rotation108
Laser Receiververtical rotation2010
Laser Receiverhorizontal & vertical rotation4025
Laser Receiverscheduled action4525
Laser Receiversame incoming color58
Laser Receivercombine 2 primary colors (→ secondary)2520
Laser Receivercombine 3 primary colors (→ white)4030
Laser Receivercombine 1 primary + 1 secondary (→ white)6535
Laser Receiverlet-through (laser passes through)3520
Laser Receivermust remain deactivated5030
Burnable Blocksame incoming color2015
Burnable Blockcombine 2 primary colors (→ secondary)4025
Burnable Blockcombine 3 primary colors (→ white)5530
Burnable Blockcombine 1 primary + 1 secondary (→ white)7035
Burnable Blockscheduled action5020
Concentratorfixed rotation1510
Concentratorhorizontal rotation2015
Concentratorvertical rotation2015
Concentratorhorizontal & vertical rotation5035
Concentratorno color combination1510
Concentratorscheduled action5025
Concentratorcombine 2 primary colors (→ secondary)4025
Concentratorcombine 3 primary colors (→ white)6030
Concentratorcombine 1 primary + 1 secondary (→ white)7035
Concentratorinvolved in a laser loop9040
Prismprimary color input (passes through unchanged)1510
Prismsecondary color input (decomposed into 2 primaries)4520
Prismwhite input (decomposed into all 6 colors)6535
Prismmultiple laser inputs6030
Filtering Spherescheduled action5025
Filtering Spherewhite mirror (identity, all passes through)2010
Filtering Spheresame laser color (color unchanged)2010
Filtering Spherewhite laser, primary or secondary mirror (extracts mirror color)4525
Filtering Sphereprimary laser, secondary mirror (extracts the common primary)6530
Filtering Spheresecondary laser, primary mirror (extracts primary)6030
Filtering Spheresecondary laser, different secondary mirror (intersection extracted)9555
Filtering Sphereintentionally blocking a laser3520
Filtering Spheremultiple laser inputs5530
Filtering Spheremirror placement or retrieval1510
Reflecting Spherescheduled action5025
Reflecting Spherewhite mirror (reflects all, color unchanged)1510
Reflecting Spheresame laser color (full reflection)1510
Reflecting Spherewhite laser, primary or secondary mirror (reflects mirror color)4025
Reflecting Sphereprimary laser, secondary mirror (reflects common primary)6030
Reflecting Spheresecondary laser, primary mirror (reflects primary)5530
Reflecting Spheresecondary laser, different secondary mirror (reflects intersection)9555
Reflecting Sphereintentionally blocking a laser3020
Reflecting Spheremultiple laser inputs5030
Reflecting Spheremirror placement or retrieval1510
Glass and Glass Paneswhite (identity, all passes through)53
Glass and Glass Panessame laser color (passes through)53
Glass and Glass Paneswhite laser, primary or secondary glass (extracts glass color)2512
Glass and Glass Panesprimary laser, secondary glass (extracts common primary)5020
Glass and Glass Panessecondary laser, primary glass (extracts primary)4520
Glass and Glass Panessecondary laser, different secondary glass (intersection extracted)9250
Glass and Glass Panesintentionally blocking a laser158
Glass and Glass Panesmultiple laser inputs4018
Mirror Blockwhite (full reflection, color unchanged)53
Mirror Blocksame laser color (full reflection)53
Mirror Blockwhite laser, primary or secondary mirror (reflects mirror color)2512
Mirror Blockprimary laser, secondary mirror (reflects common primary)5020
Mirror Blocksecondary laser, primary mirror (reflects primary)4520
Mirror Blocksecondary laser, different secondary mirror (reflects intersection)9560
Mirror Blockintentionally blocking a laser158
Mirror Blockmultiple laser inputs3518
Mirror Blockinvolved in a laser loop8035
Mirror Supportwhite mirror, face (full reflection, color unchanged)55
Mirror Supportwhite mirror, face, multiple laser inputs1510
Mirror Supportwhite mirror, face, involved in a laser loop7030
Mirror Supportwhite mirror, edge (color unchanged)3515
Mirror Supportblack mirror, face (laser both reflected and transmitted)5525
Mirror Supportblack mirror, face, multiple laser inputs6030
Mirror Supportblack mirror, face, laser loop source (black facing mirror/concentrator/mirror block)8535
Mirror Supportblack mirror, edge (color unchanged)4018
Mirror Supportcolored mirror, face, same primary/secondary laser color (full reflection, nothing passes)2515
Mirror Supportcolored mirror, face, no color intersection (laser passes, nothing reflected)5020
Mirror Supportcolored mirror, face, white laser, primary mirror (mirror color reflected, complement passes)6075
Mirror Supportcolored mirror, face, white laser, secondary mirror (mirror color reflected, complement passes)7075
Mirror Supportcolored mirror, face, secondary laser, primary mirror (common primary reflected, remainder passes)7575
Mirror Supportcolored mirror, face, secondary laser, different secondary mirror (intersection reflected, rest passes)9585
Mirror Supportcolored mirror, face, multiple laser inputs7540
Mirror Supportcolored mirror, face, involved in a laser loop9545
Mirror Supportcolored mirror, edge, same laser color (color unchanged)3015
Mirror Supportcolored mirror, edge, white laser (mirror color passes)4520
Mirror Supportcolored mirror, edge, primary laser, secondary mirror (common primary passes)6530
Mirror Supportcolored mirror, edge, secondary laser, primary mirror (primary passes)6028
Mirror Supportcolored mirror, edge, secondary laser, different secondary mirror (intersection passes)9560
Mirror Supportcolored mirror, edge, intentionally blocking a laser4018
Mirror Supporthorizontal rotation108
Mirror Supportvertical rotation2012
Mirror Supporthorizontal & vertical rotation5040
Mirror Supportmirror placement or retrieval108
Mirror Supportscheduled action5025
Mirror Chestget mirrors105
Mirror Chestget portal gun158
Portal Gunplace portals on walls (vertical)2010
Portal Gunplace portals on floor/ceiling (horizontal)3015
Portal Gunplayer teleportation (wall to wall)2515
Portal Gunplayer teleportation (wall to floor/ceiling, momentum redirection)5030
Portal Guninfinite loop (floor ↔ ceiling, momentum accumulation)6540
Portal Gunlaser teleportation through portals5535
Portal Gunlaser loop between facing portals (light storage)8045
Portal Gunmulti-player portals (distinct color pairs)3520
Portal Surfaceportal surface placement (enables portal placement)103
Lock and Key Chestsingle key required108
Lock and Key Chestmultiple keys required2515
Lock and Key Chestoptional keys2010
Elevatorelevator105
Call Buttoncall button158
Redstone Sensorredstone sensor3015
Gravitational Sphererepulsion, fixed configuration3020
Gravitational Sphererepulsion, player-modifiable radius6045
Gravitational Sphereattraction, fixed configuration4525
Gravitational Sphereattraction, player-modifiable radius7550
Gravitational Spherescheduled action5025
Bonusat least one bonus collected during a winning run3080

Scoring method

These values and formulas are inherently arbitrary and subjective. They are not meant to provide an objective or exhaustive measure of a puzzle's actual complexity — real difficulty depends on many factors that cannot be fully captured by a static formula (puzzle layout, player experience, interactions between mechanics, etc.). This scoring system is a best-effort approximation intended to guide puzzle ordering and player progression, not a ground truth.

The difficulty score of a puzzle is computed from two complementary sources: static scores derived from the mechanics present in the puzzle, and empirical scores derived from actual player data once enough runs have been recorded.

Static score (mechanics-based)

Each mechanic contributes to the overall difficulty score of a puzzle through two independent values:

  • Learning difficulty (/100): the cognitive cost of encountering this mechanic for the first time. It reflects how counter-intuitive the behavior is and how much prior knowledge of the color system is required to understand it. This value is fixed per mechanic and does not change based on the puzzle.

  • Complexity weight (/100): the additional complexity that each extra occurrence of this mechanic adds to a puzzle, beyond the first one. A low weight means repetition is mostly spatial (e.g. a second fixed sender barely adds difficulty). A high weight means each new instance creates a new independent sub-problem to solve (e.g. a second differently-colored mirror requires fresh reasoning).

Static difficulty score = Σ learning_difficulty (first occurrence of each mechanic) + Σ complexity_weight × (number of occurrences − 1)

This formula avoids inflating difficulty through simple repetition while still accounting for the genuine added complexity of multiple interacting instances of the same mechanic.

Empirical score (player data-based)

Once a puzzle has been completed by at least 20 distinct players, two additional empirical parameters are computed from the first winning run of each player:

  • Trimmed mean time: the average time elapsed to complete the first successful run, after discarding the top 20% and bottom 20% of values. Discarding outliers on both ends removes the impact of players who gave up and came back much later (inflating time) as well as players who already knew the solution (deflating time).

  • Trimmed mean actions: the average number of actions performed during the first successful run, after discarding the top 20% and bottom 20% of values. This reflects the typical amount of trial-and-error the puzzle requires, independently of time.

Both trimming operations are applied independently: a player discarded from the time calculation is not necessarily discarded from the action calculation.

Below the 20-player threshold, these empirical parameters are not available and the difficulty score relies solely on the static score.

Combined score (when empirical data is available)

Once empirical data is available, the three components (static score, trimmed mean time, trimmed mean actions) are combined into a single total difficulty score between 0 and 100.

Normalization

The static score and the two empirical parameters do not share the same unit or scale. Before combining them, each must be normalized independently into a 0–100 range using the distribution of all puzzles on the server that have reached the 20-player threshold.

For each parameter, normalization is done using percentile rank: a puzzle ranked at the Nth percentile among all eligible puzzles gets a normalized score of N.

  • Static score → percentile rank among all static scores → S (0–100)
  • Trimmed mean time → percentile rank among all trimmed mean times → T (0–100)
  • Trimmed mean actions → percentile rank among all trimmed mean action counts → A (0–100)

Percentile-based normalization is preferred over min-max normalization because it is robust to extreme outliers (e.g. an exceptionally long or short puzzle would not compress all other values into a narrow range).

Weighting

The three normalized components are combined with the following weights:

ComponentWeightRationale
Static score S40%Captures structural complexity before any player data is available; remains a useful signal even with data.
Trimmed mean time T35%Strong indicator of actual difficulty; reflects the total cognitive and exploration effort.
Trimmed mean actions A25%Reflects trial-and-error but is noisier than time (play style varies more across players in terms of actions).

Total difficulty score = 0.40 × S + 0.35 × T + 0.25 × A

The result is a value between 0 and 100.

Transition between static-only and combined score

When a puzzle crosses the 20-player threshold, switching abruptly from the static score to the combined score could cause sudden rank changes. To smooth this transition, a linear blend is applied between 20 and 30 players:

  • At exactly 20 players: combined score weight = 0% (static score only)
  • At exactly 30 players: combined score weight = 100% (combined score only)
  • Between 20 and 30: total = static_score × (1 − α) + combined_score × α, where α = (n − 20) / 10 and n is the number of qualifying players

Above 30 players, the combined score is used exclusively.