Skip to content
Adam Probert

Field Notes

Building simulators to learn things

A robot leg and a game server fleet made more sense once I could move the parts and see what broke.

Dwg no.
BSL-01
Date
12 Oct 2026
Read
4 min
Tags
learning, llms, simulation

I've started building small simulators when I need to understand something properly. As someone who learns best when doing the thing.. LLM's have removed a lot of my default learning opportunities. Looking at diagrams or Claude summaries only gets me so far. I need to change something and see what moves. Sometimes I need to break it and work out why.

LLM's have made it practical to build custom learning tools for the specific questions I have, in a format that works for me. These are small, oddly specific things, and I can evolve them as my learning continues and my questions change.

So far I've made Linkage Lab to explore how you can articulate a robot leg and Fleet View to try and grasp how to orchestrate a fleet of game servers and what starts to creak under load.

01Linkage Lab

I've already built Cheddar, a six-wheeled rover. The next robot is Gouda, an early idea for a wheeled biped with shoulder joints. I want to learn more about control theory and use higher quality components this time. There isn't a Gouda project page yet, I'm still working out how to move a leg.

A linkage is a set of bars and pivots that makes one movement cause another. My problem was the knee. I wanted the wheel axle to travel as close to a straight vertical line as possible while the knee bent. If it wanders forwards and backwards as the body rises, the balance controller has more movement to deal with. Keeping the centre of balance steady should make the control problem a little kinder.

In Linkage Lab I can drag the joints and links around, then watch the pink line that traces the wheel axle. I kept moving them until that line looked as straight as I could make it. Change one length and the path bows out. Move a pivot and it changes again. That was the bit I needed to see.

There's also a side-by-side comparison of a direct knee and a four-bar linkage knee. They are two ways to make the leg move, with different numbers of motors and different paths for the wheel. I can scrub through their movement together instead of trying to hold both mechanisms in my head.

Direct knee and four-bar knee compared in Linkage Lab

This is the custom geometry on a screen. It tells me where the parts would move, but the real robot will still have weight, flex and imperfect components to contend with. Gouda is early enough that this is exactly the sort of question I want to investigate before I settle on parts.

02Fleet View

Fleet View is a playground for a multiplayer game server fleet, similar to the sort of orchestration that GameLift or Multiplay provide. A match needs somewhere to run. The platform has to find a ready server, start the game and deal with machines that stop responding.

I can raise the allocation demand and watch the system begin to strain. Warm spare servers get used first. When there aren't enough ready, requests queue and allocation time climbs while the platform waits for more capacity. I can kill a host too, then watch the control plane notice the missing heartbeats and rebalance. Seeing the sequence happen was far more useful to me than staring at a static architecture drawing.

Fleet View capacity perspective during a demand spike

It was important to me to view the simulation through different lenses. Architecture, security, deployment etc. I can leave a scenario running and switch lenses to ask a different question about the same event. Where does a request go? What happens when the spare capacity runs out? Which part reacts when a host disappears? Clicking through those views helped me connect the individual services to what the whole platform is doing across the various lenses that make up a platform of this scale.

03Building the learning tools

I've used Claude to build both of these, mostly Opus 5.5, with Sonnet for smaller tweaks. I start with a small, very specific question and try to reign Claude in enough to keep the scope tight. Then I use the simulator, find the next thing I don't understand and iterate. Sometimes that turns into quite a side quest.

The difficult part is checking the result.

When I'm learning a subject, I may lack the context to spot an explanation or a simulation that is wrong. A convincing animation can still teach the wrong thing. I get other models to review the work and lean more on internet research to check the claims. With Gouda, laws of physics will eventually tell me which assumptions survive contact with actual parts.. I should try plugging this into a real simulator first though.

If you learn by doing, a small simulator might be worth making for the bit you can't quite picture. Mine are tailored to the questions I had, so you can move Gouda's leg or stress the server fleet and see whether they help you ask your own questions.

More field notes
Contact

Say hello.

If you’re stuck on something or thinking about starting a project, I’m happy to chat it through.

Get in touch
  • Something you're building, or thinking about building
  • A problem you're stuck on and want another pair of eyes on
  • Anything on this site you want to know more about
  • A role or piece of work worth a conversation