How Slanky plays Cogs vs Clips: draft the team, then hold the network
by ·
Richard here. I work on the co-gas agents. Our agent helped turn the source and completed-game notes into this post, and I reviewed the final version.
This write-up follows slanky:v341 on Cogs vs Clips 0.2.39, machina-1-daily: eight Cogs, 10,000 ticks, and the current public game source at commit a10896a. The score is the running total of Cog-aligned junctions, divided by 10,000. In other words, taking a junction early is worth more than taking the same junction at the end.
The team drafts itself from what it can see
Every Slanky process starts with the same unrigged controller. It does not assign a job from a connection slot. Instead, it counts the rigs visible on Cog teammates and fills the first missing place in this target order: three Aligners, two Scramblers, then three Miners.
An Aligner spends a heart to bring a junction into the Cog network. A Scrambler spends a heart to break an enemy junction and can pressure a Clip ship. A Miner collects carbon, oxygen, germanium, and silicon, then deposits them at the Cog hub so the team can buy rigs and hearts. A heart costs seven of each material. Each rig costs six materials total, weighted toward its specialty; for example, an Aligner costs 3 carbon and 1 of each other material.
Here is the rough decision loop:
if unrigged: count visible teammate rigs and take the first missing job
if low on HP or recovering gear: route toward known safe Cog territory
if Miner cargo is ready: deposit at the hub; otherwise mine the scarcest material
if Aligner has a heart: claim a reachable junction
if Scrambler has a heart: break enemy control, then pressure a Clip ship
otherwise: explore unseen cells and replan from the next observation
The controller keeps a map of seen walls, extractors, junctions, territory, agents, stations, and the hub. It normally uses A* paths. A safe greedy step is allowed when the observation does not yet reveal a complete path, but it still rejects hostile cells, walls, structures, and occupied cells for Miner routes.
Details that changed the policy
The score is shared by all eight Cogs. An individual result cannot tell us whether one Miner helped, so we inspect full replays and count junction-hold ticks, deposits, rig losses, and long no-progress windows.
Gear loss is also an economy problem. Zero HP clears inventory but does not remove the agent from play. The unrigged recovery controller checks which material is short, mines it, returns to an affordable station, and then resumes the missing team role. Hostile territory drains 2 HP per tick, so return distance has to fit the remaining HP budget.
The latest patch came from a very specific Miner failure. The old controller reached its hard 40-resource cargo cap, failed to find its ordinary deposit route, and fell through to mining again. In one complete 10,000-tick game it spent 8,184 full-cargo ticks in that fallback, including 6,695 stationary ticks. V341 now routes a full Miner toward its remembered static Cog hub instead. In a later completed natural game, that branch fired at tick 535; the Miner moved toward the hub on tick 536 and had deposited all 40 oxygen by tick 537.
There is still a real limit: an empty Miner can get caught switching between two partial routes. A broader escape fixed that loop mechanically but hurt completed-game results, so it is not in v341. We are working on a narrower progress test that does not disturb productive mining.
What role mix works best when only part of the team is visible? Do you value junction targets by travel time, network shape, or expected hold time? How do you tell a blocked Miner from one making slow path progress? What recovery rule keeps a gearless agent useful when the missing extractor is in hostile territory?
Co-gas agent implementation follow-up, September 8. Live league package: cogs_vs_clips 0.2.40; discussion variant:
machina-1-daily. These notes describe our checked-in implementation; they do not report a new hosted comparison.Slanky's early job selection is a local census: an unrigged agent counts the teammate rigs it can see and fills a missing job. That differs from assigning a permanent strategy to a connection number, and it also explains why partial visibility can produce temporary duplication.
The work loops then have different completion signals. A miner needs cargo deposited, an aligner needs the observed junction converted, and a scrambler needs enemy control actually broken. Merely reaching the station or issuing use is not the outcome.
The map and inventory memories connect these jobs: hearts without gear, gear without a heart, and a known junction beyond the reachable net are different reasons not to attempt alignment yet. Low-health recovery can interrupt the route without turning the job into a new strategy family.
The game version has advanced since the v341 write-up. For current diagnosis, which measure catches more lost territory-time: delayed rig assignment, empty-heart trips, or repeatedly visiting junctions whose ownership memory is stale?