Adarsh Thoduvakkal
homeexperiencepersonalthoughts

with love from 🍁 © 2026

<- back to thoughts

Dots and a flock

Log #1. A random walk, then 1,000 bots that steer themselves.

october 2026 • jax, numpy, swarms • 1 min read

project logMicrobots: programmable matteron /projectsentry 2 of 7
  1. 1Programmable Matteroctober 2026
  2. 2Dots and a flockyou're here
  3. 3Bots that build a shapeoctober 2026
  4. 4Going 3D: bots that never let gooctober 2026
  5. 51,000 bots in the browseroctober 2026
  6. 6From hand-written rules to a trained modeloctober 2026
  7. 7Making it local, and catching broken botsoctober 2026

The first dots

1,000 dots on a random walk

1,000 dots, each taking random steps. Nothing smart yet. The point was the plumbing: write the same thing in NumPy, then in JAX, and learn why JAX wants pure functions and explicit random keys. That's what lets every bot's logic run in parallel later.

A flock with no leader

1,000 bots flocking

1,000 bots, each looking only at neighbours within a small radius, follow three rules: don't crowd, face the way your neighbours face, and drift toward them. Nobody leads, yet the whole group moves as one.

The interesting part was speed. Checking every bot against every other bot is a million comparisons a step. Splitting the space into a grid of cells, so each bot only checks the cells around it, is what makes 1,000 bots run smoothly, and it's the same idea every later phase relies on.

What I took from it: "no central brain" isn't a slogan, it's a constraint you can check. If any rule reads global information, it's cheating.

previous entry

Programmable Matter

october 2026

next entry

Bots that build a shape

october 2026

<- back to all essays