Movement

Motion is perhaps the most important feature of the agents, as it allows them to go after sources of food, avoid sources of harm, and otherwise appear alive

Agents for now have only "Wheels" which take a constant Output and provide a corresponding velocity to the left or right sides. The two wheels also have 2 outputs each, a forward and a reverse. Agents can spin in place by having full positive on one wheel and full negative on the other (possible), or if the values roughly match then the agent will drive straight (rare), or some combination in between (common).

The speed of the wheels is modified by the Exhaustion value, where if an agent has high exhaustion, it moves more slowly.

The wheel velocities are continuous outputs, and they do not jump extremely in value, but can only change according to the agent's Strength. A higher strength value means the wheels are more responsive to instant changes, while a weaker value leaves room for slow adjustment.

The wheels will cease to be in sole direct control of the agent's position under several conditions:

  • The agent Jumps. The last average direction and speed of motion is preserved and used so long as the agent is Airborne.

  • The agent is being Grabbed or is grabbing another agent. The grab function pulls the agents together and resists letting them drift apart.

  • The user takes Direct Control, completely overriding the agent's brain outputs to the wheels as long as control is enabled

Boost

Boost is another separate output. For a cost of Energy, or alternately (by config) doubling Health Loss from natural causes like aging and wheel use, the agent can double their speed. Intended as a "scurry" escape mechanic, it is visually indicated with a blurry afterimage behind them. Boost also prevents food & hazard intake from the cell layer.

Jump

Agents can "Jump", which effectively disconnects them from many interactions. They cannot be stabbed, collided with, or grabbed, and they cannot intake food/hazard while their jump value continues to be non-zero (they are Airborne). The agent cannot rotate, and will "float" forward at a constant speed until they "land" and recover wheel use. Typically they get a slight forward movement boost from jumping over normal movement.