--
Disclaimer: This is targeted documentation created by AI.
--
A real-time simulation where autonomous digital organisms explore, adapt, interact, and survive inside a dynamic world. Colonists behave according to simple rules that combine into complex, emergent behavior. The world is fully simulated: physics, AI, perception, spacing, searching, and rendering all work together to create a living system.
-
Each colonist runs a modular state machine (states)
-
Additional behavior modifiers (effects) layer on top
-
Colonists perceive nearby objects, choose targets, and act
-
Movement includes seeking, wandering, ant-style exploration, and spiral searching
-
Collision spacing prevents overlap and maintains natural formations
-
Deterministic world coordinates
-
Zoom-compliant rendering
-
Pixel-perfect snapping
-
Collision resolution between all objects
-
Adjustable spacing rules based on team, object type, and threat level
-
Food, corpses, hazards, tools, and environmental props
-
Each object defines type, radius, spacingFactor, and interaction rules
-
Dead objects require almost no spacing
-
Dangerous objects require large spacing
-
Everything participates in the unified collision system
-
Colonists maintain normal spacing within their own team
-
Larger spacing between different teams
-
Team membership influences targeting and avoidance
-
Right-click menus for colonists
-
Nested submenu for effects
-
Dynamically generated from colonist.states and colonist.effects
-
Clean, reusable DOM-based menu builder
-
Auto-sizing table builder for inspecting colonists and objects
-
Consistent alignment and emoji-safe column widths
-
Real-time world inspection
Autonomous agents with:
-
Position, velocity, radius, mass
-
Team membership
-
State machine (states)
-
Behavior modifiers (effects)
-
Perception and proximity scoring
-
Collision spacing rules
-
Search behaviors
Everything else in the world:
-
Food
-
Dead bodies
-
Dangerous objects
-
Neutral props
-
Tools and resources
Each object defines:
-
type
-
radius
-
spacingFactor (optional override)
-
interaction rules
A unified solver determines how far apart objects should be:
-
sameTeam spacing
-
differentTeam spacing
-
objectDead spacing
-
objectFood spacing
-
objectDanger spacing
-
per-object overrides
-
Directed seeking
-
Ant-style wandering (biased random walk)
-
Expanding spiral search
-
Proximity-based selection using Euclidean distance
-
Future-proof scoring system for adding threat, reward, or urgency
-
Left-click: select colonist
-
Right-click: open context menu
-
Mouse wheel: zoom
-
Drag: pan camera
You can add:
-
New states
-
New effects
-
New object types
-
New search behaviors
-
New collision rules
-
New UI panels
-
New rendering layers
-
New world rules
Everything is modular and designed for incremental evolution.