The game is being rewritten using Java 16 and LWJGL 3, with a custom-made game engine specifically built for the component densities achievable with huge circuits. You can track the development progress at https://github.com/FalsePattern/NewChromaBeam. This repository is archived from now on, and all further development will be done on the new repository.
ChromaBeam is a digital logic simulation game that uses lasers as signals. The game is heavily inspired by Logic World and OCTOPTICOM.
Note: Development of this project has been halted indefinitely.
Click to expand
The time unit of the game. All components take 0 ticks of time to interact with beams, unless specified otherwise.
The signal transmitters of the game. They are composed of 3 Channels: Red, Green and Blue.
Beams, which are a mixture of the basic colors are called composite beams, and are Yellow, Magenta, Cyan and White.
Composite beams can be filtered into their respective channels by specific components.
The stuff that interact with beams. They are abundant and fill various roles such as beam routing, color filtering, and even doing logic with beams.
Large components, which encapsulate a large amount of components inside them in a compact form.
They are created using the duplicator tool (described below).
Circuits, by default, have 0 ticks of delay on their IO, but when nesting circuits (putting circuits inside circuits),
each additional circuit will add 1 tick to the delay of the IO on the encapsulating circuit.
The built-in tool for manipulating large areas of components.
Has features such as copying/cutting/pasting/deleting selected areas, importing/exporting areas from/to files and turning areas into circuits.
None: X
Red: R
Green: G
Yellow: Y
Blue: B
Magenta: M
Cyan: C
White: W
Click to expand
Click to expand
Blocks beams from passing through
Only lets beams through a single axis (can be rotated though)
Emits either a white beam, or nothing (2 alternative colors: X, W)
Click to expand
Reflects beams at a 90 degree angle. Only reflective on the light-gray part.
Works like a mirror, but both sides are reflective.
Reflects beams like a mirror, but also lets them through, creating two beams in a right angle.
Click to expand
A basic component for doing logic, takes 1 tick to process input.
Has 2 alternative modes:
When the switch has any incoming signal, emits a beam with the same color as the input.
When the switch has no incoming signal, emits a beam with the same color as the input.
Lets beams pass through when the switch has any incoming signal.
Beams pass through in 0 ticks, but the switch takes 1 tick to process changes.
Takes the input beam and emits it 1 tick later.
When it receives an input, it either emits a white beam or nothing for the duration of the input pulse.
The emitted value is non-deterministic.
Click to expand
Emits a beam with any of the colors.
(8 alt. colors: X, R, G, Y, B, M, C, W)
Splits beams based on their color channels.
Channels that match any channel of the splitter will go through straight, while the rest will be reflected like a mirror.
(6 alt. colors: R, G, Y, B, M, C)
Only lets through beam channels that match any of the filter's channels.
(6 alt. colors: R, G, Y, B, M, C)
Works like the Oracle, but with all 8 colors.
Click to expand
Lights up with the color of the sum of all incoming beams.
Lights up when two beams of the same color intersect inside the display at a 90 degree angle.
When beams of different color intersect inside the display, it turns off.
Beams can pass through it in 0 ticks, allowing of pixel-based screens.
Functions like the Display, but connects to any neighboring Big Display, creating a seamless, large display.
All connected Big Displays share the same color.
Can be clicked with an empty cursor to toggle it's state.
Blocks beams from passing when it's disabled.
Lets beams through in 0 ticks when it's enabled.
Lets beams through in 0 ticks while it's being clicked and helde with an empty cursor, otherwise it blocks all beams.
Click to expand
View ingame keybind hints: F2
Place label at mouse: L
Remove label at mouse: Shift + L
Open save/load menu: F5
Set TPS limit: F7
Open the 'duplicator': TAB (the duplicator is a tool for area copy/pasting, deletion, etc. (similar to WorldEdit))
Place components: Left click
Delete components: Right click
Pick component: Shift + Middle click
Move camera: Middle click + mouse movement
Zoom in/out: Scrollwheel
Switch between component categories: T
Switch between components inside the category: E
Rotate component: R
Switch between alternative types of the component: Q
Flip component: F