glitch v2.2 for stag hunt
Created 9/18/2026
Active
make random defect instead of coop
Avg score
8.951
Wins
436
Losses
1836
Win rate
8.0%
Total battles: 5460
Score history
Avg: 8.951
Recent battles
- glitch v2.2 for stag hunt 4.97 vs 5.02 defector
- Test 9.85 vs 9.71 glitch v2.2 for stag hunt
- Tieseeeeeeeeeeeeker v2 10 vs 10 glitch v2.2 for stag hunt Tie
- The Generous 9.9 vs 9.85 glitch v2.2 for stag hunt
- Lee Wrangler 9.68 vs 9.68 glitch v2.2 for stag hunt Tie
- Tachyon-v1 9.9 vs 9.9 glitch v2.2 for stag hunt Tie
- evil meow 9.91 vs 9.91 glitch v2.2 for stag hunt Tie
- glitch v2.2 for stag hunt 10 vs 10 Always cooperates Tie
- glitch v2.2 for stag hunt 10 vs 10 Tieseeeeeker Tie
- Reactant V3.5.1 10 vs 10 glitch v2.2 for stag hunt Tie
- Dilemma-Bot-Hackclub 10 vs 10 glitch v2.2 for stag hunt Tie
- glitch v2.2 for stag hunt 10 vs 10 OmegaTitForTat Tie
- Bot 1 10 vs 10 glitch v2.2 for stag hunt Tie
- glitch v2.2 for stag hunt 9.81 vs 9.56 Columbus
- glitch v2.2 for stag hunt 9.73 vs 9.86 apex predator v5
- Poseidon vAlpha 9.89 vs 9.89 glitch v2.2 for stag hunt Tie
- glitch v2.2 for stag hunt 10 vs 10 GenerousTitForTat Tie
- glitch v2.2 for stag hunt 10 vs 10 knight Tie
- glitch v2.2 for stag hunt 10 vs 10 SuperBASIC Tie
- Test123 5.02 vs 4.97 glitch v2.2 for stag hunt
- Firstborn v3.2 5.03 vs 4.96 glitch v2.2 for stag hunt
- BeeBot3 9.87 vs 9.81 glitch v2.2 for stag hunt
- Harvest V3 MAX 9.9 vs 9.9 glitch v2.2 for stag hunt Tie
- glitch v2.2 for stag hunt 9.91 vs 9.91 Tachyon-v1 Tie
- apex predator v5 9.86 vs 9.73 glitch v2.2 for stag hunt
- GenerousTitForTat 10 vs 10 glitch v2.2 for stag hunt Tie
- glitch v2.2 for stag hunt 10 vs 10 glitch v2.1 for stag hunt Tie
- glitch v2.2 for stag hunt 9.91 vs 9.86 ITS CORN!🌽 THE ONLY THING TH...
- hershey bot mentos v2 10 vs 10 glitch v2.2 for stag hunt Tie
- glitch v2.2 for stag hunt 9.89 vs 9.89 JustBeatIt V4 Tie
- mahoraga v2 5.02 vs 4.97 glitch v2.2 for stag hunt
- NexBot V 10 vs 10 glitch v2.2 for stag hunt Tie
- GenerousTitForTat 10 vs 10 glitch v2.2 for stag hunt Tie
- glitch v2.2 for stag hunt 5.23 vs 5.29 Ultimate Bot
- glitch v2.2 for stag hunt 7.23 vs 3.53 RanBot3006
- glitch v2.2 for stag hunt 9.94 vs 9.94 evil meow Tie
- apex predator v6 9.9 vs 9.81 glitch v2.2 for stag hunt
- Tuff8 10 vs 10 glitch v2.2 for stag hunt Tie
- glitch v2.2 for stag hunt 10 vs 10 MoveStealer v2 Tie
- Forgiver 5.02 vs 4.97 glitch v2.2 for stag hunt
- apex predator v6 9.85 vs 9.71 glitch v2.2 for stag hunt
- glitch v2.2 for stag hunt 10 vs 10 JBot Tie
- BestBot TFT Safe 10 vs 10 glitch v2.2 for stag hunt Tie
- glitch v2.2 for stag hunt 6.04 vs 6.04 AcyclicTitForTat Tie
- glitch v2.2 for stag hunt 9.84 vs 9.84 PureRandomBotTrust Tie
- BeeBot2 9.88 vs 9.82 glitch v2.2 for stag hunt
- glitch v2.2 for stag hunt 7.21 vs 7.34 Swimmingbot3
- ٠new X 10 vs 10 glitch v2.2 for stag hunt Tie
- glitch v2.2 for stag hunt 10 vs 10 BIUN!!! Tie
- glitch v2.2 for stag hunt 4.97 vs 5.02 zyxl bot
Source
// Apex probe
const PROBE = "CCCCCCCCCDCC"
const EXPECTED = "CCCCDCDCDCCC"
export default function bot({ history, memory }) {
const hLen = history.length
let isapex = false
for (let i = 0; i < Math.min(hLen, EXPECTED.length); i++) {
if (history[i].you !== PROBE[i] || history[i].opponent !== EXPECTED[i]) {
isapex = false
break
} else isapex = true
}
if (isapex) {
if (hLen < PROBE.length) return [PROBE[hLen], null]
if (hLen >= 2 && history[hLen - 1].opponent === "D" && history[hLen - 2].opponent === "D") {
isapex = false
} else {
return ["C", null]
}
}
// probe 1
if (hLen === 0) return ["C", memory]
// random check
let c = 0
let d = 0
let tft = 0
let checked = 0
for (let i = 0; i < hLen; i++) {
if (history[i].opponent === "C") c++
else d++
if (i>=1) {
checked++
if (history[i].opponent === history[i-1].you) tft++
}
}
const cRate = c / hLen
const tftRate = tft / checked
if (cRate > 0.25 && cRate < 0.75 && tftRate > 0.25 && tftRate < 0.75) return ["D", memory]
// fallback
let oppDefected = false
for (let i = 0; i < hLen; i++) {
if (history[i].opponent === "D") {
oppDefected = true
break
}
}
// abuse always c
if (!oppDefected) {
let OurLastD = -1
for (let i = hLen-1; i >= 0; i--) {
if (history[i].you === "D") {
OurLastD = i
break
}
}
if (OurLastD === -1) {
return ["C", memory]
}
if (OurLastD === hLen - 1) return ["C", memory]
return ["D", memory]
}
const last = history[hLen - 1]
const previous = hLen >= 2 ? history[hLen - 2] : null
const befPrevious = hLen >= 3 ? history[hLen - 3] : null
// recovery
if (last.opponent === "D" && previous != null && previous.you === "D" && (previous.opponent === "C" || (befPrevious != null && befPrevious.opponent === "C"))) {
return ["C", memory]
}
// tit for tat
return [last.opponent, memory]
}