So far, we have been focused on what robots look like. But what about how they move?
This is the most ambitious part of the project — and the hardest. The challenge here is no longer about shapes and appearances, but about motion: can the AI watch a video of a robot moving and judge whether it matches a description like "a jumping robot", "a dancing robot", or "a robot walking in a unique mood"? And more importantly, can that judgment actually guide evolution toward robots that genuinely move that way?
The short answer is: partially. The AI can pick up on the broad strokes of a movement — whether something is rotating, jumping, or staying still — but it misses the details. It sometimes confidently describes things that are simply not happening in the video, like praising the "great stability" of a robot that is clearly falling over. This is what researchers call hallucination, and it is a real problem when you are trying to use the AI as a reliable judge.
Despite these limitations, the results are not without merit — and the lessons learned here point clearly toward what needs to improve for this approach to fully work. The visuals below show both the promising outcomes and the current boundaries of the method.
To make robots move, we needed a completely different approach from the morphology search. Each robot's movement is controlled by a small neural network — think of it as the robot's brain — trained using a technique called reinforcement learning (PPO), where the brain learns by trial and error to maximize a score. But here is the key question: what score? Instead of letting the AI judge every single training step (which would be extremely slow and expensive), we define the score as a recipe — a weighted combination of simple, physical ingredients like "move forward", "rotate", "jump high", or "stay upright". Evolution then searches for the best recipe, not the best brain directly. Each new recipe produces a differently motivated brain, and the AI watches the final result on video to judge whether it matches the target description.
This recipe approach is a deliberate design choice. A completely free score — like a raw neural network — could theoretically produce anything, but in practice it produces chaos: most random configurations lead to robots that spin in place, collapse, or do nothing at all. By sticking to human-readable ingredients, every recipe produces something identifiable and meaningful, and small tweaks to the recipe lead to predictably different behaviors. The tradeoff is that if a behavior requires something not in the ingredient list — like perfectly synchronized leg movements — the system cannot discover it. Like a baker missing an ingredient, it can get close, but never quite achieve certain results. To further improve reliability, each robot is scored by the AI three times independently, and the final score is the average — reducing the risk of a single hallucination sending evolution in the wrong direction.
Controller optimization pipeline. Controllers are trained with PPO on randomly weighted combinations of physical terms (recipe) — such as forward displacement, z-axis rotation, mean robot height, and movement amplitude. The resulting behaviors are rendered as videos and scored by the VLM. The loss functions yielding the highest-scoring behaviors are saved to the archive, then mutated to produce offspring, which are retrained by PPO and re-evaluated by the VLM. This process runs for typically 5–10 generations with 20–50 mutated candidates per generation.
The most natural first target was walking. Can the AI guide evolution toward a robot that simply... walks?
The answer is yes — and faster than expected. In just 3 generations of (mu + lambda) strategy, starting from 10 random robots and keeping the 3 best at each step, evolution produced a robot that walks.
But when we looked under the hood, something concerning appeared. One of the great advantages of our setup is that the AI doesn't just give a score — it also explains its reasoning in plain English. And reading those explanations revealed a telling mistake: the AI described the robot as having "moved forward by approximately one full tile width", when in reality it had traveled much further. A useful reminder that even when the final result looks good, the AI's internal reasoning may not be as reliable as we would hope.
We then pushed the AI further into subjective territory — searching not just for a jumping robot, but for a "jumpy and happy" one. The idea was to see whether the AI could pick up on something as abstract and human as an emotion expressed through movement. We used MAP-Elites to organize the results into three feeling categories: "sadness", "neutral", and "happiness" — letting the AI decide which robot belongs where.
The results were humbling. While the AI managed to find robots that did small jumps or bumps, it completely failed at the emotional classification. The most striking example: a robot performing small, repetitive bumps with its head hanging down was labelled "happy" by the AI. To any human observer, that posture reads much more like sadness. The AI could see that the robot was jumping but missed the emotional weight of the head-down posture entirely. It was looking at the right robot but reading the wrong feeling.
This reveals a fundamental gap: emotions expressed through body language rely on subtle, combined cues — posture, speed, rhythm, orientation — that the AI simply cannot yet piece together in a low-fidelity virtual environment. It sees the outline of a movement, but not its soul.
Not all classifications were off, though. For the same target, some robots landed in more convincing categories like this one, performing wild, high-energy bounces that the AI labelled "happy". In this case, the classification actually makes intuitive sense: the chaotic, exuberant movement does feel joyful in its own way. The catch, however, is that this result was likely more accidental than intentional. The robot's frantic bouncing looks less like a carefully evolved "happy" behavior and more like a random mutation that happened to produce something extremely energetic, which then tricked the AI into giving it a high score.
This pattern showed up repeatedly across all our movement experiments. The AI consistently grasped the big picture — rotation, jumping, staying upright — but fell apart on the details. The best example of this is our "upright, rotating, and dancing robot" experiment. Evolution did produce a diverse grid of rotating robots: some standing, some crawling, some rolling, some doing small jumps. But they were all clumsy, and the AI's written justifications often described something quite different from what was actually happening on screen.
The most glaring case: the AI praised one robot for handling both the "upright" and "rotating" aspects "simultaneously and with great stability" — while the robot visibly collapses to the ground at the end of the video. It is hard to imagine a bigger gap between description and reality. The AI had correctly identified that rotation was happening, but then filled in the rest with confident-sounding details that were simply invented.
This is hallucination at its most problematic: not a vague misunderstanding, but a specific, authoritative wrong answer. And in an evolutionary process where the AI's score is the only judge, a hallucination like this can send an entire generation of robots in the wrong direction.
So where does that leave us? The honest answer is: promising, but not there yet.
On the positive side, the AI reliably captures the broad strokes of movement. Robots do end up roughly matching their targets — rotating robots rotate, jumping robots jump. The AI also handles high-level descriptors surprisingly well. When asked to classify robots by energy level — from "almost static" to "extremely energetic" — it did so consistently and meaningfully. Anything that can be described in terms of general shape or overall movement is within reach.
The recipe-based approach to movement also proved its worth. By letting evolution search over simple, human-readable movement ingredients rather than raw neural network weights, the system found interesting behaviors quickly and cheaply — without hammering the AI with thousands of video evaluation requests. The AI only needs to watch the final result, not every step of the training process.
The ceiling, for now, is detail. The finer the movement — the subtler the posture, the more precise the spatial reasoning required — the more the AI struggles. It sees the dance, but misses the steps. As AI vision models continue to improve, and as virtual environments become more realistic, these gaps will narrow. The foundation is there; what is needed next is resolution.
The solution may be at the rendering steps, the model used or the settings. Further works is needed to continue exploring this new approach of reward model.