2D companion to the 3D nanorobot colony scene: the identical resource-coupled logistic growth model, read off a live swarm map and two time-series charts instead of a rendered instanced swarm.
dN/dt = r_eff · N · (1 − N/K) − s · N
r_eff = r · (R / R0) (replication slows as resource depletes)
dR/dt = −c · N (each nanobot consumes resource per second)
Here N is the live population, K the carrying capacity set by available substrate, r the intrinsic replication rate, R the remaining resource stock (R0 at t = 0), c the per-robot consumption rate, and s the kill-switch removal rate — an engineered apoptosis signal that culls a fixed fraction of the colony per second once activated.
- Replication rate r — how fast an individual nanobot can copy itself when resource and room (N ≪ K) both allow it.
- Carrying capacity K — the maximum sustainable population for the current substrate; growth flattens as N → K.
- Resource consumption — scales c; a hungrier colony depletes R faster, which throttles r_eff and can stall growth even below K.
- Kill-switch — the classic proposed safeguard against uncontrolled self-replication ("grey goo"): toggle it on and raise s until dN/dt turns negative and the colony collapses back down.
Integrated with a clamped explicit-Euler step every frame; the swarm map packs one dot per nanobot (subsampled above a density cap for draw speed) into a disk whose radius grows with N1/2, and the two strip charts scroll live population and resource history.