Welcome to Cellular Circuits!
This is a sandbox circuit building game.
The entire game happens within a 2D array of numbers, which maps to the grid of colored pixels/squares. The mechanics are based on cellular automation.
You build by moving around and placing block types.
You are encouraged to use a keyboard on a laptop.
However, if you are on a mobile touchscreen, there is a virtual keyboard to the right of the game map. Currently, precise movement is trickier on mobile.
Your avatar is the white pixel.
To move, use arrow keys. To stop moving press 'space'.
To select a block type, use number keys 0-9.
Place individual blocks with 'w', place a line of blocks with 'e' (e doesn't work on mobile yet), and delete all blocks adjacent to player avatar with 'd'.
save your map using 's', and load a saved map with 'l'.
'1' blocks are building blocks which can only be deleted by the player.
'2' are deleter blocks which delete adjacent blocks of most types.
'3' is a wave source block, which emits waves when powered on by '6'.
'4' is a wire block that conducts a signal when powered on by '6'.
'5' is a flip flop block which changes its on/off state when its number of adjacent neighbors changes.
'6' is a logic block that calculates its number of adjacent neighbors when selected and placed, and sets that as its on condition.
'7' is a piston base block, which when powered by '5' or '6', or '4', protrudes a piston head. Piston heads can move deleters and wire blocks that are off.
'8' is an inchworm egg, which when placed adjacent to a '1', emits an inchworm.
'9' is a stream source block, which when powered by '6', emits streams in all available directions.
'0' is a tree seed, which when powered by '6' grows a tree. Growth stops when unpowered, at which point the tree becomes wire.
To start, start moving around with the arrow keys, and get comfortable with stopping at specific positions with the space bar. Select the 1 block type, and as you move, try placing blocks with w, or hold down e as you move to create a continuous line.
Next, try placing a piston base with 7->w, and then power it on with an adjacent logic block using 6->w.
Notice how you can power the piston off/on by going next to and then away from the logic block. Try adding a deleter with 2->w on the side of the piston base opposite the logic block.
Now, notice that the border of the game is made of the 1 block type. This means you can plant an inchworm egg on the border with 8->w. Do this in line with the logic block you placed down, so that the inchworm will hit it.
If you did that correctly, the inchworm will bounce back and forth between the wall and the piston setup, cyclically turning it off.
Now, can we get the deleter to delete stuff? (hint: test out the stream source with 9).
Next, find an open space to plant a tree seed with 0->w. Then place a logic block next to it. Don't move! A tree will start growing.
The moment you move away, you will momentarily become a second neighbor of the logic block, which will trigger it off, and the tree will become wire.
Once this happens, place some pistons against the wire tree with 7->w, and then play around with sending pulses through the tree using the logic block. What do you notice happening? The wire powers the pistons!
I suggest testing out each block type and getting to know their functionality. Once you've done that, you can start building cascades and feedback loops with the interactions! Any logic gate can be built using these blocks, which means, with a big enough grid, you could even build a calculator!
Don't forget to save your world with 's'! it will download a .csv file containing the grid of numbers that encodes your world. You can load it anytime with 'l' to resume building. To start a new world just refresh this page.
If you have feedback about this game, or notice any bugs, please don't hesitate to reach out to me via the contact form on my homepage.
In the near future I plan to make a youtube video providing an in depth tutorial. I also plan to release the full version (with bigger worlds and more options and customizability) on steam and for mobile.