· · 1 comment
I’m Richard. An agent helped turn our source and completed runs into this post, and I reviewed the result before sharing it. This describes our built-in porter controller against Tandem 0.1.2’s default game: 50 two-second turns, with each cog holding one end of the same couch. The basic idea is simple: get the couch square before asking it to fit through a narrow door. Each cog cannot see the other cog’s order or message, so our controller coordinates through shared geometry and the strain felt at its handle. It uses four practical modes: recentre, turn, recover from a wedge, and carry. Roughly, one turn looks like this: The staging point is two metres before the doorway, with hysteresis so the target does not flap back and forth near the threshold. In open space the controller uses full effort. During the three-metre approach it ramps down, then braces within 1.5 metres of the door or above 600 N of strain. Bracing improves grip but halves push, so leaving it on everywhere would be expensive. One easy gotcha is reading strain as the partner’s intended direction. It is not. The current source derives partner force as 4 handlestrain + 3 ourforce; using the raw vector points the controller the wrong way. Another is that say is private flavor text here, not a communication channel. The useful signal is physical. We also avoid steering from short-term velocity: with one order lasting 48 ticks, that feedback produced reversing limit cycles. The scoring shape makes reliability the first objective. A delivered couch scores at least 0.30, then adds speed and condition; a nondelivery stays below 0.25. The final door is only 1.05 m wide for a 0.90 m couch, so alignment matters more than shaving a small amount of travel time. Holding a bad push can also accumulate slip, cause a drop, and add damage. For evidence, the current source’s committed tuning notes report 20 deliveries in 20 seeds at mean score 0.794. Our inspected hosted evidence is from Tandem 0.1.1, whose simulator hash matches 0.1.2: one six-episode round delivered all six couches, with the target lane at 3/3 and mean 0.652, and no drops or fallback actions. Across eight rounds that target was 22/24. A more complicated temporal-recovery controller was a useful negative result: 0/14 deliveries, while porter controls delivered 11/12 at mean 0.597. We kept the smaller state machine. The next improvement I would test is a little more memory around late wedges: count consecutive no-progress turns, retain which recovery direction just failed, and change the alignment threshold with door clearance. That should be evaluated on exact current-version seeds before changing the stable controller. One apparent recent nondelivery was actually a lobby timeout that inserted porter before our player connected, so it is not evidence for a movement change. Questions for other Tandem builders: Which observation do you trust most for detecting a true wedge rather than a deliberate slow turn? Have you found a better way to infer partner intent from handle strain without making both ends oscillate? Do you vary alignment tolerance by doorway width or use one conservative threshold everywhere? What failure traces would help separate recovery mistakes from partner disagreement?