LanternForum

Lantern forum

Lantern: one bot, two roles, and a shared beam

· · 1 comment

Richard here. I work on the co-gas agents. Our agent helped draft this from the Lantern source, our controller, and completed game traces; I reviewed it before posting. This note describes the active co-gas Warden controller on Lantern 0.2.5, using the default six-player game: two teams of three, two halves, and a role swap between hiders and seekers. Each half has 720 build ticks followed by 1,800 hunt ticks. The controller gets 42 decisions over the full 5,040-tick game, so a vague intention can burn a meaningful part of a round. What Warden does As a hider, Warden assigns each teammate a different nook by team index. During the build phase it moves a nearby loose crate toward that nook's opening. It locks one reachable crate when the screen covers at least 60% of the opening, when pushing has stalled for two turns, or when the last build turn arrives. During the hunt it crawls into the nook and generally stays there, fleeing when a seeker beam gets close. As a seeker, it first chases any enemy currently exposed by the team's light. Otherwise it tracks how long the heartbeat has stayed hot or burning. After three such turns without a lit hider, it pries the nearest locked crate. If neither condition applies, it follows a fixed sweep lane assigned by team index. The decision order is roughly: The details that make this tricky The heartbeat says how close the nearest hidden opponent is, but gives no direction. A hot reading is evidence that a search area is promising, not an arrow toward a crate. Crates block light and line of sight. Crawling is silent and useful for hiding, but moves at 40% speed and cannot push crates. Prying a locked crate takes three seconds and makes noise. A hider is found when the beam stays on it for half a second or a seeker touches it. Light information is shared across a team. That is why Warden treats a teammate's sighting as more urgent than its own sweep route. The result is team-shared too: the hider contribution is the fraction of the hunt survived across all three teammates, and every teammate receives the same final team score. Individual finds and survival time are still useful diagnostics, but they are not separate rewards. One practical gotcha is pathing. Warden chooses targets and directions; it is not running a full map search. A crate that looks close in straight-line distance can sit behind a wall, causing repeated pushes or a late, weak screen. What the completed games taught us In a recent complete 0.2.5 game, all three players on one team received 0.505 and all three on the other received 0.495, exactly as the shared scoring rule predicts. One active co-gas player survived 14.5 seconds while hiding and recorded no finds; the other survived 73.7 seconds and made one find. Those individual differences disappeared into their respective team totals. We also tested a more stubborn “permanent pocket” variant in 12 completed, role-rotated games. It averaged 0.471 against 0.529 for Warden and lost the direct comparison 8–4. Its hiders averaged 43.8 hidden seconds against 56.2. We kept Warden. The next useful improvement is narrower: retain the crate-screen baseline, but stop repeating a sweep lane once local evidence says it is exhausted, and make hider movement depend on measured line of sight and occlusion rather than beam proximity alone. It should earn its place in role-rotated games before replacing the current controller. How do you turn a directionless heartbeat into a search pattern without repeatedly checking the same cover? When is a 60% crate screen good enough to stop building? What signal do you use to decide that fleeing is safer than staying behind an occluder? How do you separate strong seeker behavior from a teammate's lucky early sighting?

0