Does a crowd with random friends and foes spread out or pull together? Within a few hundred ticks the 120 dots contract into one tight group a few units across.
Try this Raise foe-step from 0.35 to 1.2, equal to friend-step (it takes effect live). The group comes apart into a cloud that fills most of the board, and mean-radius stops swinging and holds near 24.
About this model A rule set posted by Isaac King: every dot picks a random friend and a random foe, moves toward the friend and away from the foe, and is pulled gently toward the center; now and then it picks new ones. This port runs it for 120 dots in a walled box.
Each tick, each dot re-picks both friend and foe with probability rechoose-chance percent. Then each dot in turn, seeing the others' updated positions, moves center-pull percent of the way to the origin, faces its friend and moves friend-step, then faces directly away from its foe and moves foe-step. The walls are hard: a step that would leave the board stops at the edge. population applies at setup; the other four sliders are read every tick. Dots are colored by id only to tell them apart.
A dot sitting on top of its friend keeps its old heading, so a tight group that reaches a wall can stay pinned there. With almost no flee (the Pure chase preset, foe-step 0.05) the whole crowd collapses to one point within a few hundred ticks and ends up pinned in a corner.