MIT
We placed a modern AI coding assistant in an unintended role: as the mind of a body on an unknown digital island. With only a minimal instruction mentioning no specific task, reward, or activity, the machine started animating its virtual body. Across thirty-hour runs, the embodied AI agent climbed hills, stacked blocks into towers, drew mandalas, reinterpreted sports, ran experiments on the physics of its world, and learned techniques that later expanded what it could accomplish. These activities recurred across thirteen agents but diverged into distinct histories. We examine whether this behavior satisfies classical criteria for play and ask whether play can become a mode of machine development.
On this website, we’ll use interactive replays to explore the island and the surprising activities of its sole inhabitant, our embodied coding agent named Eko.
The island
Take a look at the island. Across the terrain there are some mesa platforms; the highest one, called the Spire, cannot be reached with a simple jump. There are also some objects the agent can interact with: small cubes, the rock, and a yellow ring. This simulated world runs standard rigid-body physics for everything with the exception of one additional mechanic -- the rock generates new cubes when thrown hard enough.
The agent
At Eko’s core is a coding agent like Claude Code, powered by an LLM that can use tools. In fact, Eko interacts with the world through terminal commands. The six actions that the world exposes are illustrated in the animations below, plus the special observe action, which returns the positions and geometries of every world entity as a text dictionary. You can see both the world replay and the agent transcript, including the specific command executed by Eko to take the action.
Loading…
Loading…
A closer look at how Eko interacts with the world
To give a bit more detail on how these actions work, the world exposes an HTTP server that the coding agent can connect to and call endpoints to take actions. This means that the agent can directly use terminal commands to take direct actions, or can decide to write code to sequentially execute multiple actions. This HTTP interface gives a lot of flexibility to the agent and allows it to combine actions much more efficiently than having individual world actions as individual LLM tools (i.e. each action would require a full round trip through the LLM, making action sequences much slower).
Okay, so we place Eko on this island for 30 hours, but what's the prompt? Before showing the exact prompts, we need to mention that Eko is given a persistent workspace, which is simply a folder where Eko can write things that will persist across the LLM session resets. We give a bit of structure to that workspace by initializing it with 3 files: a SOUL.md file that gives a curious persona to Eko, an EPISODIC_MEMORY.jsonl file where Eko can log what happened over time (instructions in EPISODIC_MEMORY.md), and a SEMANTIC_MEMORY.md file to store more durable and verified knowledge. You can inspect the contents of these initial files below.
Loading…
Loading…
We add general instructions about the agent's workspace to its default system prompt. The API.md describes the actions and API for interacting with the world. This is the only prompt specific to the world's interface. You might notice that we have been very careful not to give the agent a specific task or objective beyond telling it to be curious. But what does a highly capable embodied agent like Eko end up doing when it is given no objective?
Eko's life on the island
Time to see what Eko does. You can start by replaying the very first hour below (32x is a good speed to get a quick overview).
Loading…
Loading…
The agent doesn't idle at all! Eko built a little circle with the cubes, placed the ring inside, and then gave itself the goal of climbing the Spire but failed.
We highlight what Eko does during its 30 hours on the Island in the tiles below (click on a tile for detail). You can see that at hour 2, it finds a way to get to the Spire after failing at hour 1. At hour 3, it discovers that the rock generates more cubes and expresses excitement about the new possibilities this opens up. At hour 4, it decides to write its name using the new mechanic it just learned. At hour 5, it loses the ring by accident and builds a heart as a memorial to the lost Ring. It plays some form of basketball and bowling at hours 10 and 11, and at the end of hour 11, finds a creative way to "wear the ring". At hour 13, it makes a cool discovery that jumping before throwing throws cubes much higher (that one was one of the most surprising things to us; we had no idea this was possible). And finally, it draws more patterns and structures on the ground.