Beaming is a free, open source, browser-based puzzle game that involves directing beams through a hexagonal grid. The rules and solution for each puzzle can be inferred by interaction and visual cues. Both desktop and mobile devices are supported.
The core gameplay involves selecting a hexagonal tile and interacting with the toolbar at the bottom of the screen that contains actions that can be used to manipulate items in the puzzle. The solution for each puzzle varies. The requirements for solving a puzzle will be displayed in the upper right corner of the screen.
The actions shown in the toolbar at the bottom of the screen are updated based on the currently selected tile. Actions which are available to use on any tile will always show up in the toolbar, whereas actions which belong to a specific tile, indicated by the corresponding icon within the tile, will only be available when that tile is currently selected. You will notice that some tiles also contain attributes which can change the way a tile behaves. Actions which are available generally but cannot be applied in the current situation, for example because no tile is selected, will still be visible in the toolbar but disabled.
In general, puzzles can be solved strictly by tapping. You tap on a tile to select it, and then tap on an action in the toolbar to apply it to that tile. Some actions support additional behaviors, which are listed below and expanded upon in the Actions section below:
As mentioned in The Basics above, the requirements for solving each puzzle vary and are indicated by the text and icons on the right side of the top toolbar. Generally, solutions will require that a user meet one or more threshold requirements. Click or tap on an icon below to learn more about it.
A connection is formed when a beam emitted from one terminus enters an available opening in another terminus of the same color.
A move is stored any time the user makes a decision, generally in relation to taking an action. Note that some actions may result in multiple moves. For example, if an action causes a beam to enter a portal with multiple potential exit portals, the resulting decision will result in an additional move.
As mentioned in The Basics above, attributes change the way a tile behaves and are indicated on a tile by a light gray icon. Click or tap on an icon below to learn more about it.
The tile, and the items within the tile, cannot be modified in any way. Any available actions are disabled.
Any available actions applied to the tile will become locked to the tile and will no longer be available for use on other tiles. A maximum of six actions can be locked to a single tile, at which point no further actions will be available for the tile.
As previously mentioned in The Basics above, actions manipulate the items within tiles and are indicated by the icons in the toolbar at the bottom of the screen. Click or tap on an icon below to learn more about it.
Any valid (toggleable) items in the tile will have their state toggled. For example, toggling a terminus item will turn beams on and off.
Any valid (rotatable) items in the tile will be rotated in the direction indicated by the icon (either clockwise or counter-clockwise). This action supports swiping, which can be used to change the direction of the applied rotation.
Any valid (movable) items in the tile will be moved from the currently selected tile to a valid tile of your choice. This action utilizes a mask for selecting the valid tile.
Any valid (movable) items in the currently selected tile will trade places with any valid (movable) items in a valid tile of your choice. This action utilizes a mask for selecting the valid tile.
If you have a suggestion or encounter any problem, please use the form below to report them. Email address is optional, but you can include it if you want to get a response back.
You might be wondering what all that stuff in the URL is. Each URL parameter is separated by a forward slash (/). The parameter after the hash (#) symbol is the puzzle ID. The parameter after that is the state of the current puzzle, stored base64 encoded and compressed. Both of these parameters are optional and will be automatically updated when you load and interact with the game. In addition to storing state in the URL, which is useful when sharing the state of a puzzle with others, state is also stored locally in your browser's localStorage cache. If for some reason you need to clear cache for a puzzle, you can insert ?clearCache=[puzzle ID] in the URL right after the opening forward slash. If you want to clear all cache, omit the =[puzzle ID], or execute localStorage.clear() in your browser's console.
/
#
localStorage
?clearCache=[puzzle ID]
=[puzzle ID]
localStorage.clear()
This game was primarily inspired by The Talos Principle and The Witness, two highly recommended puzzle games. Additionally, this game would not have been possible without the Paper.js library.
If you're enjoying the game, please consider sharing it with others!
😁