The premise is simple: You are a hacker and you break into various cyberspace strongholds. It's a dungeon crawl. In the area to the left of the playing field is your memory bank. In it, you can install various programs that you build or download programs and data you find in the enemy's server (the yellow blocks).
You can take a program and launch an instance of it by clicking on a program unit. It will spawn a version of the instance near your character. For instance, if you want to get through a gate, you'd spawn a code-breaker program near your character and send it to the gate. After it has cracked the gate, it will quit (disappear). There is a companion idea that goes with how these programs are spawned, but it will be posted later.
To craft a program, you have to start with a Code Root. A Root is basically what defines the overall function of the program. For instance, there might be a code-breaker Root or a defense Root. Each root comes with a tray - basically just a small grid on which to place Code Units. The size (and shape) of these trays are dependent on the Root. The Root also hold a maximum for the number of units that can be installed.
In addition, on the tray are highlighted squares in specific colors. When placing addon units, in order for the program to be complete, the right pieces must be placed in the proper highlighted squares. So, in this example, unless the red, blue, and green squares are filled with a red, blue, and green code unit, you cannot compile the program. You'll also notice that the minimum number of units needed to hit these three spots is four, but you are allowed five units.
A Code Unit is a small 1x1 colored square that is something like a puzzle piece. It has little knobs that extend out (output) and divits those knobs connect to (input). Units of any color can be connected so long as they fit together. Extra outputs or inputs are ignored. They are only important for connecting the units. Notice how the three highlighted cells are filled properly.
What the units actually do could be any number of things. They could each have some boosting ability, similar to the enhancements in City of Heroes, where different types could improve different abilities a small amount. There could even be an additional boost from a bunch of colors connected to each other, so a run of red units (in this case, 2) could add an additional 5% or something.
There should also be rare and unique roots and units that can be found. These can be considered in the same vein as rare or epic loot in a MMORPG. They are more powerful than your average unit, and could potentially come in sets where they get more powerful when linked with other units from the set.
Once you have all your units placed, all the highlighted squares are met, and you have less than the max amount of units on the board, you can opt to "compile" it. Upon compilation, the program becomes a single, solid entity that represents the Code Root and all the other units put together. At this point, you can install it into your memory area by simply dragging it from the design tray to the memory grid.
Some Roots may have unique special versions that are gained by putting down units in a specific pattern. In this case, surrounding the Code-Breaker Root with alternating 2 green, 1 red will produce a unique, named program. These patterns are not known ahead of time, and perhaps to combat online FAQs and messageboards, randomly created. Also, some of these patterns may require rare or unique units to build, making it difficult to mass produce them.
If you are lucky during your travels, you may discover various pieces of upgrade data. These are associated with specific Code Roots. Here, a Code-Breaker v2.0 upgrade is found an applied to the previously built program. The tray is extended by one row and one column, a new pattern is created, and the code reverts back to it's specific colored units. Any units on the wrong color for the new pattern is instantly destroyed. All instances in the memory grid are also removed. Now, it is up to you to add additional units and recompile the program.
The units which are already placed from the previous implementation are locked. You cannot remove or move them at all. If you've built yourself into a corner, you can opt to disassemble the program. This will return the root to you (still upgraded). However, each unit has a percentage chance of being destroyed depending on rarity.