would they develop language? would they reproduce? would they evolve as energy dependent systems? what would they even talk about?
so i decided to make myself a god, and built WERLD - an open-ended artificial life sim, where the agent's evolve their own neural architecture.
Werld drops 30 agents onto a graph with NEAT neural networks that evolve their own topology, 64 sensory channels, continuous motor effectors, and 29 heritable genome traits. communication bandwidth, memory decay, aggression vs cooperation — all evolvable. No hardcoded behaviours, no reward functions. - they could evolve in any direction.
Pure Python, stdlib only — brains evolve through survival and reproduction, not backprop. There's a Next.js dashboard ("Werld Observatory") that gives you a live-view: population dynamics, brain complexity, species trajectories, a narrative story generator, live world map.
thought this would be more fun as an open-source project!
can't wait to see where this could evolve - i'll be in the comments and on the repo.
In the days when Sussman was a novice, Minsky once came to him as he sat hacking at the PDP-6.
"What are you doing?", asked Minsky.
"I am training a randomly wired neural net to play Tic-tac-toe", Sussman replied.
"Why is the net wired randomly?", asked Minsky.
"I do not want it to have any preconceptions of how to play", Sussman said.
Minsky then shut his eyes.
"Why do you close your eyes?" Sussman asked his teacher.
"So that the room will be empty."
At that moment, Sussman was enlightened.
Werld's room has walls. The graph topology, energy mechanics, metabolic costs, seasons, those are all design choices. But those are the physics, not the behavior. I chose the laws of nature, not what agents do with them.
Whether they cooperate or attack, broadcast or stay silent, grow complex brains or prune them down, that's selection, not me.
The agents also aren't randomly wired like Sussman's net — they start with minimal NEAT networks and evolve structure through survival. So the preconceptions are there, I just tried to make them physics rather than policy.
Curious how you would approach removing those from an artificial sim like this?
In a world where setting them up and letting rogue agents run rampant becomes relatively low cost and fast, I think focusing on the desired outcomes, the story telling and specially the UX for the human user, is key and maybe we can take some learnings from Will Wright on "Designing User Interfaces to Simulation Games" [1].
I'm going to be unable to do much this weekend so I can't say I'll try check this out (yet?) but I'd be interested in your own experiences so far. Any surprises? Things you'd like to do next? What's most fun/challenging?
An actual report/writeup will probably resonate more than a repo for people who can't check it out easily or are not willing to.
- [1] https://donhopkins.medium.com/designing-user-interfaces-to-s...
Actually posted this on X 2 weeks ago, hosted the werld observatory public, and had gemini stream a new chapter of the story in natural language every 10,000 ticks - so it felt like reading through a david attenburgh novel of werld being born.
Most interesting thing from the last run was definitely the language and the behaviours, they decoding what they were actually saying was a difficult one, and noticing them group within their diverged species.
Up next, i want to get the storytelling side up and running too - kept running out of storage, and cloudflare playing up as usual - maybe get gemini to visualise each chapter - and get an upgraded interface for the werld observatory.
If you want to check out my previous attempt at streaming the story line - it's still on my X - https://x.com/im_urav?s=21&t=6Si-w-DvNJC7RfvSz2Aw-w
How does the narrative story generator work?
I played around a bit with NEAT networks, and tried to create a bitcoin trading bot, but the best I could do was a +10% gain over many months. I was hoping for at least 30% each month. Oh well, I guess it doesn't all just depend on past price history.
Building out a more engaging version, and will hopefully stream it onto X again as a story - but this time without chewing api tokens every couple of seconds.
NEAT for trading is interesting - on BTC i used a kernels method that worked quite well and closer to that <2 sharpe on a monthly.
If they can hack their reward functions won't this always converge on some kind of agentic opium den?
they're only living/evolving to survive, and fork (reproduce).
can't wirehead natural selection if the brain does nothing useful, they'd die and their genome would die with them.
And yeah hardware has caught up a bit since the early 2000s, though my hard drive is having a hard time. Thanks for the reference, going to dig into Yaeger's papers.
wonder if the black mirror episode was based on polyworld then?
Reminds me of that Black Mirror episode with the circular QR code.
On the dying immediately thing - offspring get a fraction of the parent's energy when they fork. If the parent forks too early (low energy), the kid spawns with barely anything and can't cover its tick cost + brain metabolic cost.
That's working as intended — reproducing too early is a bad strategy and selection should punish it. But if everything dies instantly, something else might be off.
the ones that survived population crashes were the ones passing down leaner, better-inherited brains. Cheap forking works when there's plenty of energy around, falls apart in famine.