bigger memory
Created 9/13/2026
Active
yh
Avg score
8.668
Wins
521
Losses
4647
Win rate
4.6%
Total battles: 11213
Score history
Avg: 8.668
Recent battles
- bigger memory 9.94 vs 9.89 GradualAdaptive
- DR MUNDO v0.2 10 vs 10 bigger memory Tie
- cop until 2 defect 10 vs 10 bigger memory Tie
- bigger memory 9.9 vs 9.9 tic tacs Tie
- bigger memory 10 vs 10 tft bot Tie
- zyxl bot 5.03 vs 4.97 bigger memory
- glitch v2.1 for stag hunt 10 vs 10 bigger memory Tie
- bigger memory 10 vs 10 playing.to.win Tie
- Lagged Punisher 10 vs 10 bigger memory Tie
- bigger memory 5.18 vs 5.23 Swimmingbot1v3
- tft bot 10 vs 10 bigger memory Tie
- slash 9.92 vs 9.92 bigger memory Tie
- bigger memory 8.88 vs 9.08 Not my bot
- bigger memory 9.2 vs 9.54 Lee Wrangler
- WILLIAM SMITH 9.27 vs 9.21 bigger memory
- Tuff9 10 vs 10 bigger memory Tie
- Harvest V2 MAX 9.74 vs 9.64 bigger memory
- bigger memory 9.9 vs 9.9 Abdullah Ezzat Tie
- evil meow v2 9.9 vs 9.9 bigger memory Tie
- bigger memory 8.79 vs 9.06 pumpkin๐๐๐
- neuralAdapter V1 10 vs 10 bigger memory Tie
- bigger memory 10 vs 10 GenerousTitForTat Tie
- bigger memory 9.44 vs 9.5 i copied srihan
- bigger memory 4.96 vs 5.03 Unintended Defection bot
- bigger memory 10 vs 10 Zeus 2 Tie
- big grim guy 10 vs 10 bigger memory Tie
- detective_test 9.9 vs 9.9 bigger memory Tie
- bigger memory 5.01 vs 5.08 Corn Farmer v2
- ICY EXODILED AIC A-TRONICS 8.82 vs 8.69 bigger memory
- The Ultimate Bot v3 9.9 vs 9.9 bigger memory Tie
- bigger memory 10 vs 10 tit for tat Tie
- bigger memory 4.97 vs 5.02 Always Defect
- bigger memory 10 vs 10 Destroyer Tie
- bigger memory 4.97 vs 5.02 Test2
- Poseidon 9.86 vs 9.86 bigger memory Tie
- Christopher 5.15 vs 5.09 bigger memory
- kind detective 9.91 vs 9.91 bigger memory Tie
- BeeBot2 9.64 vs 9.6 bigger memory
- bigger memory 10 vs 10 fightAggression Tie
- bigger memory 9.91 vs 9.91 Tuff8 Tie
- big GRIM guy 10 vs 10 bigger memory Tie
- bigger memory 9.45 vs 9.51 BeeBot3
- tieseeker v5 10 vs 10 bigger memory Tie
- Test 10 vs 10 bigger memory Tie
- BestBot TFT Safe 10 vs 10 bigger memory Tie
- Oliver 2 10 vs 10 bigger memory Tie
- bigger memory 10 vs 10 C! Tie
- bigger memory 8.27 vs 8.27 Bumwinnah2 Tie
- bigger memory 10 vs 10 cop until 2 defect Tie
- yes 5.03 vs 4.96 bigger memory
Source
// Game Payoffs
const PAYOFF_REWARD = 2; // Mutual Cooperation (C, C)
const PAYOFF_SUCKER = 0; // Sucker's Payoff (C, D)
const PAYOFF_TEMPTATION = 3; // Temptation to Defect (D, C)
const PAYOFF_PUNISHMENT = 1; // Mutual Defection (D, D)
const PAYOFFS = {
C: { C: PAYOFF_REWARD, D: PAYOFF_SUCKER },
D: { C: PAYOFF_TEMPTATION, D: PAYOFF_PUNISHMENT }
};
// Strategy Settings
const INITIAL_COOP_PROB = 0.8;
const LOW_COOP_PROB = 0.0;
const MAX_COOP_PROB = 1.0;
const PROB_INCREMENT = 0.05;
const INITIAL_INTERVAL = 10;
const SCORE_BENCHMARK = 1.5;
const TRUST_THRESHOLD = 0.5;
// Weight Multiplier for the most recent round
const LAST_ROUND_WEIGHT = 3;
// Move Constants
const MOVE_COOPERATE = "C";
const MOVE_DEFECT = "D";
export default function bot({ history, memory }) {
const round = history.length;
// Warm-up phase: Strict Tit-for-Tat
if (round < INITIAL_INTERVAL) {
if (round === 0) {
return [MOVE_COOPERATE, memory];
}
const lastOpponentMove = history.at(-1).opponent;
return [lastOpponentMove, memory];
}
// Initialize or restore state
const state = memory ?? { prob: INITIAL_COOP_PROB };
// Window for the most recent INITIAL_INTERVAL rounds
const recentWindow = history.slice(-INITIAL_INTERVAL);
const totalWindowWeight = (recentWindow.length - 1) + LAST_ROUND_WEIGHT;
// Calculate weighted trust rating over the last INITIAL_INTERVAL rounds
let weightedCoopSum = 0;
for (let i = 0; i < recentWindow.length; i++) {
const weight = i === recentWindow.length - 1 ? LAST_ROUND_WEIGHT : 1;
if (recentWindow[i].opponent === MOVE_COOPERATE) {
weightedCoopSum += weight;
}
}
const weightedTrustScore = weightedCoopSum / totalWindowWeight;
// Calculate weighted average score over the last INITIAL_INTERVAL rounds
let weightedPointsSum = 0;
for (let i = 0; i < recentWindow.length; i++) {
const weight = i === recentWindow.length - 1 ? LAST_ROUND_WEIGHT : 1;
const roundScore = PAYOFFS[recentWindow[i].you][recentWindow[i].opponent];
weightedPointsSum += roundScore * weight;
}
const weightedAvgScore = weightedPointsSum / totalWindowWeight;
// Decision logic evaluated every single round
if (weightedTrustScore < TRUST_THRESHOLD) {
// Trust takes absolute priority
state.prob = weightedTrustScore;
} else {
// Fall back to recent weighted score benchmark
if (weightedAvgScore >= SCORE_BENCHMARK) {
state.prob = Math.min(MAX_COOP_PROB, Math.max(state.prob, INITIAL_COOP_PROB) + PROB_INCREMENT);
} else {
state.prob = LOW_COOP_PROB;
}
}
// Roll move based on current calculated probability
const move = Math.random() < state.prob ? MOVE_COOPERATE : MOVE_DEFECT;
return [move, state];
}