Programs are a type of multipurpose robot capable of executing code remotely, and able to counteract physics to do so. Relatively few have been manufactured, due to the risk of causing chaos in the wrong hands, as well as to the cost of the materials needed to build one. Most are now owned by the Splicers.
Programs are shaped like cubes, with sides that are about 25cm long. Their six metal faces are ornamented with a number of lights, lenses, panels, and vents. They usually float above the ground when on, but fall to the ground when off.
It seems that prototype programs were first created a long—but indeterminate—span of time ago by a scientist specializing in robotics and neurodevelopment. While their notes remain intact, if tattered, the prototypes themselves were most likely destroyed. What is known is that programs were likely supposed to test robot sentience, as a phrase that roughly translates to "mentally anthropomorphic AI" is mentioned throughout the notes.
A few years ago, the notes were uncovered. Large corporations saw the potential for technological revolution (and profit!), and worked together to make the concept of programs a reality. The project proved much more expensive than planned, and ended after the production of only around a hundred programs. The robots were sold quickly in a first-come-first-serve manner. The Splicers bought many of these original programs, but the current whereabouts of the remaining ones are unknown. Plans to start producing programs again have been rumored, but have not yet come into fruition.
Programs' code is scripted from a paired remote-control-like device, which also has a button that can turn the robot on or off. The language used to write code for the robots supports many actions, including but not limited to moving and rotating through three-dimensional space, speaking, playing MIDI and audio files, sensing objects via sonar, using GPS services, sensing color and motion, taking pictures, recording and saving video and sound, performing basic to advanced arithmetic, saving data to variables, lists, multidimensional arrays, and text files, and even temporarily becoming intangible. These functions enable programs to serve a wide range of purposes and roles.
Compliance to the Three Laws
Programs have three "Law chips", one for each of the Three Laws of Robotics. When running code, a program evaluates each line of code against these chips in numerical order, and will only execute that line if TRUE is returned. If FALSE is returned, the program will wait and repeat the evaluation until it returns TRUE. The Law chips also run whenever a program is on, so that it can act according to the Three Laws even when not executing code.Law chips are heavily protected, making it difficult to tamper with them, but there have been reports of programs with their chips reordered, damaged, or removed. The lights of a program with reordered Law chips will glow orange or greenish yellow, depending on the effects of the order, A program with chips missing or broken, on the other hand, has red lights. Otherwise, the lights glow bluish-green.