GitHub: private
Goal: What happens when you give simple entities survival constraints,
free will, and 64 memory slots? Do they behave like... humans?
I always wanted to see how real intelligence would behave given certain
constraints. Basically a simulator like Conway's Game of Life — which
I discovered AFTER I built my own version. Classic.
I thought I'd need a neural net for emergent behaviour. Turns out: a
few hundred lines of Python and some Claude-generated logic are enough.
The agent ("Grug") has exactly 3 drives: hunger, pain, fatigue. A
64-slot memory that forces importance-based forgetting. And a simple
perception → recall → decide → act → update loop.
That's it. No transformers. No embeddings. No GPU. Just constraints.
Stack:
- Python (PyGame for simulation/visualization)
- Claude (code generation, logic design)
- No external APIs at runtime — pure local execution
Architecture:
- Entities with running-average memory (not exact facts)
- Worlds with food, dangers, physics
- Single agent ("Grug") or tribe mode (multiple agents)
- Hyperspeed mode for batch simulation runs
Success metric: Did Caveman survive longer this run than last? That's it.
Learnings:
- You don't need neural nets for emergent behaviour. Constraints
plus simple rules plus memory limitations produce surprisingly
human-like patterns. Grug hoards food. Grug avoids pain. Grug
forgets unimportant things. Sound familiar?
- The results of this experiment are basically exactly what I
already knew from 50 years of watching humans. Intelligence
isn't about complexity — it's about survival under constraints.
- 64 memory slots forces prioritization. The agent MUST decide
what's worth remembering. That's not a limitation — that's
what makes it realistic. Humans do the same thing.
- This was a philosophical precursor to Friend's ANIMA system.
Same idea (drives that decay, constrained resources) but
Caveman is the minimal proof that the concept works.
Timeline:
- 2024-12: Built in a few days. Experimented. Watched Grug
survive (or not). Nodded knowingly. Moved on.
Status: Complete. The experiment proved what it needed to prove.
Sometimes the best projects are the ones you finish quickly.