Programs in Embrio are made by connecting nodes together into groups called Agents. The main area of the application is the node screen editor. Open an agent for editing by double clicking on it in the project tree. In the bottom right of the node screen is a refresh rate drop down, this controls how many times per second the nodes on this screen update. The default is 32, which means the nodes will update every 31.25 milliseconds.
To add a node to a node screen, place your mouse curser where you want to add the node and click the right mouse button, then select the node from one of the folders.
Nodes have inputs in the top left, and outputs in the bottom right. The two main types of input and output in Embrio are activations and triggers. Activations are green, and triggers are blue. To make a connection, simply click on an output and drag to an input of the same type.
To change the value of an activation input you can click and drag on it, or to enter a value you can right click on it and select “edit value”.
Next to the inputs and outputs are some button icons. Hold your mouse them to see what they do. The first icon makes that input or output available to be attached to from another agent, this is discussed further in the Agents tutorial. This is available for all input and output types.
Activation inputs and outputs have some more buttons. The next button opens up a graph of the value. You can change the duration to record data in the playback control on the bottom of the screen. The default is 10 seconds.
Most activation values use the range of 0 to 1. Sometimes you also want to use a negative range. Click on the minus sign icon to expand that input or outputs range. Notice that inputs and outputs clamp values to their range, so if you need to use the full range, make sure to set it on all inputs or outputs that use it. Activation inputs also have a blend mode, this is how multiple connections are blended together. The options are Add, Multiply, and Average. Click on the last button to cycle through them.
The Multipy blend mode is very important. A lot of what agent do is activate and suppress other agents. Imagine you have a value that you only want to pass on if a switch is on. Connect both output activations to the same input activation and set it to Multiply. Now the value is only passed through when the switch is on and its output activation is 1, because multiplying a number by 1 equals the number. When the switch is off, its activation is 0, which when multiplied by a number equals 0.
Unlike activations that update at every refresh, triggers update at a single moment. When an output trigger fires, all input triggers that it is connected to fire. For example with Above or Below node an output trigger fires whenever the input activation goes above or below the threshold value, and the toggle trigger fires when either happens. Connect a trigger by dragging from an output trigger to an input trigger, like on this switch node. Here I’ll connect the go above trigger to the Turn On input, and the go below to the turn off input. By moving the input activation on the Above or Below node I can turn the switch on and off.
The last node input and output type is Text. To change a text input, right click on it and select Edit Text. Use a Text Activator to select which text to pass through. When the activation is over .5 the input text passes through. In a text input, the connected text outputs add together, and clamp to the max length value.