Skip to main content

Command Palette

Search for a command to run...

SOUP - Machi's Biome System

Updated
3 min readView as Markdown
SOUP - Machi's Biome System

For the Machi project to reach its full potential, I need emergence that doesn’t just exist—it needs to speak for itself. The world must feel truly alive, pulsing with intent, beauty, and consequence.

To achieve that, I’m launching a sub-project called SOUP—the Super Organism Upbringing Project.

SOUP is Machi’s biome engine. Its purpose is to transform the barren, lifeless grid into a lush, self-growing forest—where every tile evolves, remembers, and responds to the agents that live within it.

We call it “”—the Korean word for forest. But more than trees, represents interconnectedness. It’s a breathing, growing superorganism where memory, mood, and meaning take root in the soil of the simulation.

This is how we bring Machi to life—not with scripts, but with roots.


Reference image (generated on MidJourney)

Now, do we achieve a biome engine that would self organize to produce something like this?

I’m lost, but first I setup this repo for rapid prototyping.

Then, I performed deep research using both ChatGPT and Claude Code.

In Phase 2, we perform a DEEEEEEP Research on previous arts on emergence that can help with the project. This document examines prior work in multi-agent simulation systems that create emergent forest-like patterns in 2D environments. The research reveals multiple approaches to achieving biological emergence, each offering unique insights for our SOUP prototype.

Asked Claude Code to create a proposal and an implementation plan, and iterated few rounds. Then, I asked Claude Code to see if it can find any previous art of using concept of “diffusion“ on multi-agent simulation.

Now, let's study more on what is state-of-art research on using the concept of "diffusion" to simulate multi-agent simulation. If there is any.

Then, asked the agent to start developing it. After few iterations, we get something like this.

It’s okay but it doesn’t seem like it is designed in a side-scrolling manner. So, asked Claude Code to code to switch to side view. It was able to produce a Ascii art with whatever it thought.

Sky/Canopy Layer (y=0-7):    . . @@@ . . @@@
                              . @@@@@@ . @@@@
Upper Growth (y=8-15):        . . ||| . . ||
                              . . |B|--- |B|
Mid Growth (y=16-23):         . . ||| . . ||
                              ---B||| . . ||
Ground Level (y=24-27):       ████|█████████
                              ████|█████████
Root Layer (y=28-31):         ████r█████████
                              ████r█████████

Legend: @ = leaves, | = trunk, B = branch point,
        - = branch, █ = soil, r = roots, . = air

After about 100 back-and-forth iterations… We have this.

We then added root growth system.

Next Step: I need to first decipher what the generated code is doing and make it my own.

Preview: https://kndlt.github.io/soup

Machi

Part 13 of 39

Follow the development of Machi, a side-scrolling simulation world built to test AI agents, tile-based emergence, and the future of embodied intelligence. Coming Soon: https://machi.sprited.app

Up next

Dev Log — SOUP: Building a Voxel Terrarium with PyTorch

Day 16 of Sprited