Nanomachines

Nanomachines are a configurable buff system. Using energy as a resource, they are able to apply various positive and negative effects to the player.

Basic Usage

The player has to “eat” them before they can be used. Once ingested, a power indicator in the HUD, positioned left of the item bar, will indicate how much energy the nanomachines have left. Their energy can be recharged by standing close to a Charger. Energy is slowly used over time proportional to the number of active inputs. A small amount of energy is still lost over time even when all inputs are deactivated.

They provide a certain number of “inputs” that can be toggled, causing many different effects on the player, ranging from visual effects such as particles spawning near the player, to select potion effects and some more rare and special behaviors.

Which input triggers what effect depends on the current configuration of the nanomachines, the actual “connections” being random per configuration. Which input does what is not clear to the player until they try it. The configuration can be changed by ingesting a new batch of nanomachines. Additionally, enabling too many inputs at a time has severe negative effects.

See the nanomachines section in the config for fine tuning to your preference.

To dispose of nanomachines, the player has to drink Grog.

Crafting

Nanomachines are crafted using the following recipe:

Programming

Programming the machines happens through wireless messages. The range nanomachines are able to receive messages from is only about two meters, though this can be circumvented easily by using a tablet to send the messages. However, the nanomachines do not check which device sent the messages they receive.

Nanomachines react to a simple, proprietary protocol: each packet must consist of multiple parts, the first of which is the “header” and must equal the string nanomachines. The second part must be the command name. Additional parts are parameters for the command. The following commands are available, formatted as commandName(arg1, ...):

For example, in OpenOS:

See also

Nanomachines Preview (slightly outdated)

Contents