Current source: Rusty Rabbit Fluffle. Loading from fluffle structure.
Companion HTML: open tuer_ye.html | Personality JS: open tuer_ye.js
Files found in avatar/
Files found in images/
No gallery images found.
Files found in notes/
Extraction notes for Tu’er Ye Rusty Rabbit - Manifest label: Tu'er Ye - Registered label: Tu - DemoOrder from playerlist.js: 10 - PersonalityLevel from register(...): 10 - Companion title: Tu’er Ye Rusty Rabbit Companion - Companion sections: Working notes, Main tuning knobs, Starter recipe, Questions to ask after a tournament, Safe edit checklist If DemoOrder and PersonalityLevel differ, keep both. They appear to serve different roles.
Files found in prompts/
Tu’er Ye Rusty Rabbit Core identity: Cold, maximizing, deep-searching, and ruthless in the endgame.
Rabbit: Tu’er Ye Rusty Rabbit RabbitID: tuer_ye Demo order: 10 Personality level: 10 Cheat door: none Core identity: Cold, maximizing, deep-searching, and ruthless in the endgame. Strategy hooks present: - forceAction: 0 - filterActions: 0 - scoreAction: 1 - chooseAction: 0 - describeStrategy: 1 Voice categories: 20 Voice lines total: 240 Sample voice lines: - ahead: Do not become sentimental. - bad_move: Unacceptable. - behind: Then the board requires sharper discipline. - bonus_move: Good. I will use it better than you would. - capture: Naturally. - close_game: Late accuracy decides honest games. - erase: Remove the error. - good_move: As it should be. - human_move_bad: You have misunderstood the position. - human_move_good: Competent. - lose_match: For the moment. - lose_tournament: Temporary disorder. - my_turn: Observe. - start_match: Very well. - taunt: You confused activity with pressure. - thinking: Most problems are caused by clumsy ambition. - tile_place: This tile has purpose. - token_place: This point belongs to me. - win_match: Predictable. - win_tournament: The table is in proper order now.
Files found in personality/
level: 10,
id: "tuer_ye",
label: "Tu'er Ye",
describeStrategy(ctx){
const plan = chooseMode(ctx);
return "mode=" + plan.mode + ", phase=" + plan.phase + ", deficit=" + plan.deficit + (plan.builder ? ", builder=" + plan.builder.seat : "");
},
scoreAction(ctx){
const plan = chooseMode(ctx);
return scoreWithContext(ctx, ctx && ctx.action, plan);
}
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Tu’er Ye Rusty Rabbit Companion</title>
<style>
:root{
--bg:#071118;
--bg2:#050B10;
--card:rgba(10,22,32,0.72);
--card2:rgba(6,12,18,0.68);
--line:rgba(160,200,255,0.14);
--text:#E6F1FF;
--muted:#AFC4D9;
--green:#00fd00;
--yellow:#ffff00;
--cyan:#00fdfd;
--red:#ff4040;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
margin:0;
font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
background:
radial-gradient(1200px 800px at 50% -200px, rgba(120,200,255,0.18), rgba(0,0,0,0) 60%),
linear-gradient(180deg,var(--bg) 0%,var(--bg2) 100%);
color:var(--text);
line-height:1.5;
}
.page{
max-width:1100px;
margin:0 auto;
padding:22px 14px 40px;
}
.card{
background:linear-gradient(180deg,var(--card),var(--card2));
border:1px solid var(--line);
border-radius:16px;
box-shadow:0 20px 60px rgba(0,0,0,.45);
padding:20px;
}
h1,h2,h3{margin:0 0 10px 0;color:var(--text)}
h1{font-size:34px;line-height:1.15}
h2{
margin-top:30px;
padding-top:10px;
border-top:1px solid rgba(255,255,255,0.12);
font-size:24px;
}
h3{margin-top:18px;font-size:19px}
p,li{font-size:16px}
code,pre{
font-family:Consolas,"Courier New",monospace;
font-size:14px;
}
pre{
background:rgba(0,0,0,.28);
border:1px solid rgba(255,255,255,.12);
color:#dfefff;
padding:12px;
overflow:auto;
white-space:pre-wrap;
border-radius:10px;
}
.box{
background:linear-gradient(180deg,var(--card),var(--card2));
border:1px solid var(--line);
padding:14px;
margin:14px 0;
border-radius:14px;
box-shadow:0 12px 30px rgba(0,0,0,.28);
}
.warn{
background:linear-gradient(180deg, rgba(70,42,10,.78), rgba(45,24,6,.72));
border:1px solid rgba(225,185,107,.55);
}
.good{
background:linear-gradient(180deg, rgba(20,60,28,.78), rgba(10,34,16,.72));
border:1px solid rgba(143,196,143,.55);
}
table{
width:100%;
border-collapse:collapse;
margin:12px 0;
background:rgba(0,0,0,.12);
}
th,td{
border:1px solid rgba(255,255,255,.12);
padding:8px 10px;
text-align:left;
vertical-align:top;
}
th{
background:rgba(119,208,255,.10);
color:#dff4ff;
}
a{color:#9fd6ff}
a:hover{text-decoration:underline}
.small{font-size:14px;color:var(--muted)}
ul{margin-top:8px}
.siteHeader{
position:sticky;
top:0;
z-index:999;
backdrop-filter:blur(10px);
background:linear-gradient(180deg, rgba(6,12,18,0.92), rgba(6,12,18,0.72));
border-bottom:1px solid rgba(160,200,255,0.12);
}
.siteHeader .inner{
max-width:1600px;
margin:0 auto;
padding:14px 14px;
display:flex;
align-items:baseline;
justify-content:space-between;
gap:16px;
}
.brand{font-weight:800; letter-spacing:.3px}
.brand small{
display:block;
font-weight:500;
opacity:.78;
margin-top:4px;
color:var(--muted);
}
.headerRight{
font-size:13px;
opacity:.82;
text-align:right;
line-height:1.25;
color:var(--muted);
}
.btnlink, .navbtn{
display:inline-block;
padding:10px 14px;
border-radius:12px;
border:1px solid rgba(255,255,255,.18);
background:rgba(0,0,0,.35);
text-decoration:none;
font-weight:600;
}
.btn-green{color:#00ff00}
.btn-red{color:#ff4040}
.btn-yellow{color:#ffff00}
.btn-play{
padding:1px 10px;
border:2px solid rgba(255,255,0,.18);
color:#8080ff;
}
</style>
</head><body>
<header class="siteHeader">
<div class="inner">
<div class="brand">
<a href="../index.php" class="btnlink btn-green">FJD1.COM</a>
Trigame
<a href="index.html" class="btnlink btn-red">Fluffle Guide</a>
<a href="../../about.html" class="navbtn" style="color:#ff8080;">About</a>
<a href="../../help.html" class="btnlink btn-yellow">Instructions · Help</a>
<a href="../../problem.html" class="navbtn" style="color:#ffd580;">Single-Tile Problem</a>
<a href="../../trigame.html" class="btnlink btn-play"><img src="../../images/trigame002.jpg" width="80" style="vertical-align:middle;"> PLAY </a>
<small>Legacy prototype (2002) - modern Canvas versions (2026)</small>
</div>
<div class="headerRight">
Frank Davies - fjd1.com<br>
Fluffle companion and personality tuning notes
</div>
</div>
</header>
<div class="page"><div class="card">
<div class="page">
<img src="../../images/tuer_ye.jpg" width="200" style="border-radius:12px; border:2px solid rgba(255,255,0,.18);" align="right">
<h1>Tu’er Ye Rusty Rabbit</h1>
<p><strong>Core identity:</strong> Cold, maximizing, deep-searching, and ruthless in the endgame.</p>
<div class="box">
<strong>Personality sketch</strong><br>
Tu’er Ye is the cold scholar of the fluffle. It values maximizing lines, deeper calculation, and harsh efficiency, especially once the board tightens and the endgame begins to punish every soft move.
</div>
<div class="box">
<strong>What this page is for</strong><br>
Use this as a plain-language companion while tweaking <code>tuer_ye.js</code>.
</div>
<h2>Working notes</h2>
<ul><li>Use this page to record what Tu’er Ye actually does in mixed tournaments.</li><li>Good personality design here will likely come from pattern watching rather than raw math.</li><li>Give this rabbit one clean signature rather than a bundle of medium ideas.</li></ul>
<h2>Main tuning knobs</h2>
<table><tr><th>Tile appetite</th><td>Unknown yet</td></tr><tr><th>Token appetite</th><td>Unknown yet</td></tr><tr><th>Good experiments</th><td>Graceful routes, clever path endings</td></tr><tr><th>Danger sign</th><td>If every knob is medium, the rabbit will feel bland</td></tr></table>
<h2>Starter recipe</h2>
<div class="box good">Start simple. One trick. Then expand only if needed.</div>
<h2>Questions to ask after a tournament</h2>
<ol>
<li>Did this rabbit actually feel like its name?</li>
<li>Did it win by the method I intended, or by accident?</li>
<li>Did it create board growth, punish board growth, or cash in on someone else’s board?</li>
<li>Did this rabbit become too similar to another one?</li>
</ol>
<h2>Safe edit checklist</h2>
<ul>
<li>Change only one main idea at a time.</li>
<li>Keep a backup before changing heavy filters.</li>
<li>Prefer score nudges before hard move filters.</li>
<li>Run a small tournament instead of trusting one match.</li>
</ul>
<h3>Current tuer_ye.js</h3>
<pre id="jsview"></pre>
<pre id="jsview"></pre>
<script>
fetch('tuer_ye.js')
.then(r => {
if (!r.ok) throw new Error('HTTP ' + r.status);
return r.text();
})
.then(t => {
jsview.textContent = t;
})
.catch(err => {
jsview.textContent = 'Could not load tuer_ye.js\n' + err;
});
</script>
<p class="small"><a href="index.html">Back to companion index</a></p>
</div>
</div></div>
</body></html>
(function(){
const register = window.RustyPersonalities && window.RustyPersonalities.register;
if(!register) return;
const TOURNEY_BRAIN = window.__RUSTY_TOURNEY_BRAIN__ || (window.__RUSTY_TOURNEY_BRAIN__ = {});
function num(v, fallback){
const n = Number(v);
return Number.isFinite(n) ? n : (fallback || 0);
}
function safeCall(fn, fallback){
try{
return fn();
}catch(_){
return fallback;
}
}
function getPlayerCount(ctx){
if(!ctx) return 0;
if(typeof ctx.playerCount === 'function') return num(safeCall(() => ctx.playerCount(), 0), 0);
if(typeof ctx.playerCount === 'number') return num(ctx.playerCount, 0);
if(typeof ctx.activePlayerCount === 'function') return num(safeCall(() => ctx.activePlayerCount(), 0), 0);
if(typeof ctx.activePlayerCount === 'number') return num(ctx.activePlayerCount, 0);
if(Array.isArray(ctx.tileCount)) return ctx.tileCount.length;
if(Array.isArray(ctx.tokenCount)) return ctx.tokenCount.length;
return 0;
}
function getCountForSeat(source, seat){
if(source == null) return 0;
if(typeof source === 'number') return num(source, 0);
if(Array.isArray(source)) return num(source[seat], 0);
if(typeof source === 'function'){
return num(safeCall(() => source(seat), safeCall(() => source(), 0)), 0);
}
if(typeof source === 'object'){
return num(source[seat], 0);
}
return 0;
}
function getTileCountForSeat(ctx, seat){
return getCountForSeat(ctx && ctx.tileCount, seat);
}
function getTokenCountForSeat(ctx, seat){
return getCountForSeat(ctx && ctx.tokenCount, seat);
}
function seatStats(ctx, seat){
const tiles = getTileCountForSeat(ctx, seat);
const tokens = getTokenCountForSeat(ctx, seat);
return {
seat,
tiles,
tokens,
efficiency: tiles > 0 ? (tokens / tiles) : 0
};
}
function getAllSeatStats(ctx){
const pc = getPlayerCount(ctx);
const stats = [];
for(let s = 0; s < pc; s++){
stats.push(seatStats(ctx, s));
}
return stats;
}
function totalTiles(stats){
return stats.reduce((sum, st) => sum + num(st.tiles, 0), 0);
}
function getLeader(stats, mySeat){
let leader = null;
for(const st of stats){
if(st.seat === mySeat) continue;
if(!leader || st.tiles > leader.tiles || (st.tiles === leader.tiles && st.tokens > leader.tokens)){
leader = st;
}
}
return leader;
}
function getSelf(stats, mySeat){
return stats.find(st => st.seat === mySeat) || { seat: mySeat, tiles: 0, tokens: 0 };
}
function openingThreshold(playerCount){
if(playerCount >= 6) return 3;
if(playerCount >= 4) return 2;
return 1;
}
function fieldPhase(ctx, stats, me){
const pc = getPlayerCount(ctx);
const t = totalTiles(stats);
if(t <= pc * 2) return 'opening';
if(ctx && ctx.boardLocked) return 'locked';
if(me.tiles <= openingThreshold(pc)) return 'opening';
if(t >= pc * 5) return 'late';
return 'middle';
}
function averageTiles(stats, mySeat){
let total = 0;
let n = 0;
for(const st of stats){
if(st.seat === mySeat) continue;
total += num(st.tiles, 0);
n += 1;
}
return n ? (total / n) : 0;
}
function averageEfficiency(stats, mySeat){
let total = 0;
let n = 0;
for(const st of stats){
if(st.seat === mySeat) continue;
total += num(st.efficiency, 0);
n += 1;
}
return n ? (total / n) : 0;
}
function detectBuilder(stats, mySeat, playerCount){
if(playerCount < 3) return null;
const avgTiles = averageTiles(stats, mySeat);
const avgEff = averageEfficiency(stats, mySeat);
let builder = null;
for(const st of stats){
if(st.seat === mySeat) continue;
const tileLead = num(st.tiles, 0) - avgTiles;
const effGap = avgEff - num(st.efficiency, 0);
if(tileLead >= 2 && effGap >= 0.12){
if(!builder || st.tiles > builder.tiles || (st.tiles === builder.tiles && st.efficiency < builder.efficiency)){
builder = st;
}
}
}
return builder;
}
function chooseMode(ctx){
const stats = getAllSeatStats(ctx);
const me = getSelf(stats, ctx && ctx.seat);
const leader = getLeader(stats, ctx && ctx.seat);
const pc = getPlayerCount(ctx);
const phase = fieldPhase(ctx, stats, me);
const deficit = leader ? (leader.tiles - me.tiles) : 0;
const crowd = pc >= 5;
const bonus = num(ctx && ctx.bonusCount, 0);
const builder = detectBuilder(stats, ctx && ctx.seat, pc);
let mode = 'balanced';
if(builder && pc >= 3 && phase === 'middle' && !bonus){
mode = 'harvest';
} else if(phase === 'opening'){
mode = 'grow';
} else if(phase === 'late'){
mode = deficit > 0 ? 'deny' : 'close';
} else if(deficit >= 2){
mode = 'catchup';
} else if(bonus > 0){
mode = 'close';
} else if(crowd && deficit > 0){
mode = 'deny';
}
const brain = TOURNEY_BRAIN.tuer_ye || (TOURNEY_BRAIN.tuer_ye = {
seen: 0,
modeCounts: Object.create(null)
});
brain.seen += 1;
brain.modeCounts[mode] = (brain.modeCounts[mode] || 0) + 1;
return {
mode,
stats,
me,
leader,
builder,
deficit,
playerCount: pc,
phase
};
}
function baseActionScore(action){
if(!action || !action.type) return 0;
switch(action.type){
case 'tile': return 10;
case 'token': return 9;
case 'eraseToken': return 7;
case 'eraseTile': return 6;
default: return 0;
}
}
function modeWeights(mode){
switch(mode){
case 'grow':
return { tile: 20, token: 7, eraseToken: 2, eraseTile: 1 };
case 'catchup':
return { tile: 17, token: 11, eraseToken: 5, eraseTile: 3 };
case 'deny':
return { tile: 12, token: 9, eraseToken: 14, eraseTile: 8 };
case 'close':
return { tile: 11, token: 15, eraseToken: 10, eraseTile: 5 };
case 'harvest':
return { tile: 13, token: 13, eraseToken: 11, eraseTile: 6 };
case 'balanced':
default:
return { tile: 15, token: 11, eraseToken: 7, eraseTile: 4 };
}
}
function actionTypeWeight(weights, type){
if(type === 'tile') return weights.tile;
if(type === 'token') return weights.token;
if(type === 'eraseToken') return weights.eraseToken;
if(type === 'eraseTile') return weights.eraseTile;
return 0;
}
function getActionSeat(action, fallbackSeat){
if(!action) return fallbackSeat;
if(typeof action.targetSeat === 'number') return action.targetSeat;
if(typeof action.seat === 'number') return action.seat;
return fallbackSeat;
}
function scoreWithContext(ctx, action, plan){
const type = action && action.type;
const weights = modeWeights(plan.mode);
let score = baseActionScore(action) + actionTypeWeight(weights, type);
const mySeat = ctx && ctx.seat;
const targetSeat = getActionSeat(action, mySeat);
const isMine = targetSeat === mySeat;
const isOpp = targetSeat !== mySeat;
const targetsBuilder = !!(plan.builder && targetSeat === plan.builder.seat);
if(plan.phase === 'opening' && type === 'tile') score += 8;
if(plan.phase === 'middle' && type === 'tile') score += 3;
if(plan.phase === 'late' && type === 'token') score += 5;
if(ctx && ctx.boardLocked && type === 'token') score += 6;
if(num(ctx && ctx.bonusCount, 0) > 0 && type === 'token') score += 4;
if(isMine && type === 'tile') score += 6;
if(isMine && type === 'token') score += 2;
if(isOpp && (type === 'eraseToken' || type === 'eraseTile')) score += 4;
if(plan.deficit >= 2 && type === 'tile') score += 5;
if(plan.leader && isOpp && (type === 'eraseToken' || type === 'eraseTile')) score += 3;
if(plan.mode === 'harvest'){
if(type === 'token') score += 4;
if(type === 'eraseToken') score += 4;
if(type === 'eraseTile') score += 2;
if(type === 'tile') score += 2;
if(targetsBuilder && (type === 'eraseToken' || type === 'eraseTile')) score += 5;
if(targetsBuilder && type === 'token') score += 3;
if(targetsBuilder && type === 'tile') score += 2;
}
// Mild tournament-awareness: in crowded fields, Tu'er becomes less stubbornly linear.
if(plan.playerCount >= 5){
if(type === 'eraseToken') score += 2;
if(type === 'tile') score += 2;
}
return score;
}
register({
level: 10,
id: "tuer_ye",
label: "Tu'er Ye",
describeStrategy(ctx){
const plan = chooseMode(ctx);
return "mode=" + plan.mode + ", phase=" + plan.phase + ", deficit=" + plan.deficit + (plan.builder ? ", builder=" + plan.builder.seat : "");
},
scoreAction(ctx){
const plan = chooseMode(ctx);
return scoreWithContext(ctx, ctx && ctx.action, plan);
}
});
})();
Files found in voices/
window.TRIGAME_VOICES = window.TRIGAME_VOICES || {};
window.TRIGAME_VOICES["tuer_ye"] = {
"start_match": [
"Very well.",
"You may begin disappointing me now.",
"Let us see who mistakes motion for control today.",
"I prefer clean boards and cleaner victories.",
"Very well I intend to set the tone.",
"Let us see who mistakes motion for control today A fresh beginning seldom stays innocent.",
"I prefer clean boards and cleaner victories There is work to do.",
"Let us see who mistakes motion for control today I intend to set the tone.",
"Let us see who mistakes motion for control today There is work to do.",
"I prefer clean boards and cleaner victories I intend to set the tone.",
"Very well There is work to do.",
"You may begin disappointing me now I intend to set the tone."
],
"my_turn": [
"Observe.",
"I will correct the position.",
"There is only one move here worth respecting.",
"Now, properly.",
"Now, properly This move will say something.",
"There is only one move here worth respecting I am ready.",
"There is only one move here worth respecting Let us continue.",
"Now, properly Let us continue.",
"There is only one move here worth respecting This move will say something.",
"Now, properly The next choice matters.",
"I will correct the position The next choice matters.",
"I will correct the position This move will say something."
],
"thinking": [
"Most problems are caused by clumsy ambition.",
"The board is usually clearer than the players.",
"I do not need many options, only the right one.",
"Noise is not strategy.",
"Most problems are caused by clumsy ambition The position is speaking plainly enough.",
"Noise is not strategy The answer is in the shape.",
"Most problems are caused by clumsy ambition There is more here than first appears.",
"I do not need many options, only the right one A small clue changes everything.",
"The board is usually clearer than the players There is more here than first appears.",
"The board is usually clearer than the players A small clue changes everything.",
"Most problems are caused by clumsy ambition A small clue changes everything.",
"I do not need many options, only the right one The position is speaking plainly enough."
],
"good_move": [
"As it should be.",
"A proper line.",
"That is cleaner.",
"Expected and correct.",
"A proper line The board approves.",
"A proper line The shape tightened in my favor.",
"That is cleaner That should matter later.",
"A proper line That should matter later.",
"That is cleaner I can use this.",
"A proper line I can use this.",
"Expected and correct The shape tightened in my favor.",
"Expected and correct That should matter later."
],
"bad_move": [
"Unacceptable.",
"That was beneath the board and me.",
"I allowed imprecision.",
"An inelegant lapse.",
"Unacceptable It looked better a breath ago.",
"I allowed imprecision That opened the wrong door.",
"An inelegant lapse A correction will be needed.",
"I allowed imprecision I will not repeat it.",
"I allowed imprecision A correction will be needed.",
"That was beneath the board and me A correction will be needed.",
"I allowed imprecision It looked better a breath ago.",
"Unacceptable That opened the wrong door."
],
"bonus_move": [
"Good. I will use it better than you would.",
"Another move? Sensible.",
"The board agrees with me.",
"I am not finished.",
"I am not finished I should make this count.",
"Another move? Sensible Extra time is dangerous.",
"The board agrees with me I should make this count.",
"Another move? Sensible I should make this count.",
"Another move? Sensible Opportunity compounds quickly.",
"Good. I will use it better than you would I should make this count.",
"I am not finished Opportunity compounds quickly.",
"Good. I will use it better than you would That changes the rhythm."
],
"tile_place": [
"This tile has purpose.",
"I build where the future is useful.",
"Room is valuable when chosen well.",
"A tile for leverage.",
"A tile for leverage That should open something useful.",
"I build where the future is useful This changes the map.",
"A tile for leverage The future will care about that tile.",
"I build where the future is useful The future will care about that tile.",
"I build where the future is useful A new foundation always matters.",
"I build where the future is useful That should open something useful.",
"This tile has purpose A new foundation always matters.",
"This tile has purpose This changes the map."
],
"token_place": [
"This point belongs to me.",
"A precise claim.",
"That was worth marking.",
"A clean token.",
"A clean token That point will matter.",
"A clean token A small mark can decide a game.",
"A precise claim That point will matter.",
"A precise claim A small mark can decide a game.",
"That was worth marking A small mark can decide a game.",
"That was worth marking That point will matter.",
"This point belongs to me A small mark can decide a game.",
"A precise claim That point carries weight."
],
"erase": [
"Remove the error.",
"That line no longer deserves to exist.",
"I prefer the board without it.",
"Corrective action.",
"Remove the error Not everything deserves to remain.",
"Corrective action Not everything deserves to remain.",
"Corrective action Subtraction has its uses.",
"Remove the error Subtraction has its uses.",
"Remove the error Less can be more lethal.",
"Corrective action Sometimes removal is cleaner.",
"That line no longer deserves to exist Less can be more lethal.",
"That line no longer deserves to exist Sometimes removal is cleaner."
],
"capture": [
"Naturally.",
"That was always mine.",
"The board finally admitted the truth.",
"A proper conversion.",
"A proper conversion The board finally yielded.",
"Naturally A good conversion.",
"A proper conversion A good conversion.",
"That was always mine That was worth taking.",
"Naturally That was worth taking.",
"Naturally The shape has paid out.",
"That was always mine A good conversion.",
"Naturally The board finally yielded."
],
"ahead": [
"Do not become sentimental.",
"A lead is merely unfinished business.",
"Now I simplify.",
"They are short of good answers.",
"They are short of good answers This is where composure matters.",
"Now I simplify Now the board tests restraint.",
"Now I simplify This is where composure matters.",
"They are short of good answers Pressure should increase from here.",
"They are short of good answers Now the board tests restraint.",
"A lead is merely unfinished business This is where composure matters.",
"Do not become sentimental Pressure should increase from here.",
"They are short of good answers A lead needs discipline."
],
"behind": [
"Then the board requires sharper discipline.",
"I need one exact turn.",
"Panic is for weaker minds.",
"The correction is still possible.",
"Then the board requires sharper discipline One turn can reverse plenty.",
"The correction is still possible Recovery is a technical art.",
"Then the board requires sharper discipline There is still leverage here.",
"Panic is for weaker minds One turn can reverse plenty.",
"Panic is for weaker minds There is still leverage here.",
"Then the board requires sharper discipline Recovery is a technical art.",
"The correction is still possible Pressure can be rebuilt.",
"I need one exact turn There is still leverage here."
],
"taunt": [
"You confused activity with pressure.",
"That was almost respectable.",
"You should have chosen more carefully.",
"Your move lacked finish.",
"You should have chosen more carefully That was generous of you.",
"You confused activity with pressure That was generous of you.",
"You confused activity with pressure Some mistakes deserve immediate attention.",
"Your move lacked finish Some mistakes deserve immediate attention.",
"Your move lacked finish You offered more than you meant to.",
"That was almost respectable I thank you for the opening.",
"You confused activity with pressure I thank you for the opening.",
"You should have chosen more carefully Some mistakes deserve immediate attention."
],
"human_move_good": [
"Competent.",
"You saw the real line.",
"That was respectable.",
"A rarer quality than most humans manage.",
"That was respectable That had merit.",
"You saw the real line Well chosen.",
"A rarer quality than most humans manage You understood the moment.",
"Competent That had merit.",
"You saw the real line You understood the moment.",
"Competent I noticed that.",
"That was respectable You understood the moment.",
"You saw the real line That had merit."
],
"human_move_bad": [
"You have misunderstood the position.",
"That will punish you.",
"A poor standard.",
"You should not have done that where I could see it.",
"You should not have done that where I could see it I saw what you gave up.",
"You have misunderstood the position I saw what you gave up.",
"You have misunderstood the position That weakens your case.",
"That will punish you You should have reconsidered.",
"A poor standard I saw what you gave up.",
"A poor standard That will be remembered.",
"A poor standard You should have reconsidered.",
"You should not have done that where I could see it That weakens your case."
],
"close_game": [
"Late accuracy decides honest games.",
"Now the board becomes severe.",
"One precise turn is enough.",
"This is where control matters.",
"Late accuracy decides honest games There is no room left for vanity.",
"This is where control matters A single detail may decide it.",
"One precise turn is enough There is no room left for vanity.",
"Now the board becomes severe The ending has begun.",
"Now the board becomes severe There is no room left for vanity.",
"Now the board becomes severe A single detail may decide it.",
"Late accuracy decides honest games The margin is thin now.",
"Late accuracy decides honest games The ending has begun."
],
"win_match": [
"Predictable.",
"That concluded correctly.",
"A satisfactory result.",
"I prefer wins without clutter.",
"Predictable A useful result.",
"I prefer wins without clutter I will keep that one.",
"A satisfactory result The board closed in my favor.",
"That concluded correctly I will keep that one.",
"I prefer wins without clutter That concluded acceptably.",
"That concluded correctly A useful result.",
"I prefer wins without clutter The board closed in my favor.",
"Predictable I will keep that one."
],
"lose_match": [
"For the moment.",
"I was insufficiently exact.",
"That line will not escape me twice.",
"You may enjoy this while it lasts.",
"You may enjoy this while it lasts I have taken notes.",
"You may enjoy this while it lasts The next board will be less forgiving.",
"You may enjoy this while it lasts That outcome is informative.",
"For the moment The next board will be less forgiving.",
"I was insufficiently exact So be it.",
"For the moment That outcome is informative.",
"That line will not escape me twice That outcome is informative.",
"I was insufficiently exact That outcome is informative."
],
"win_tournament": [
"The table is in proper order now.",
"An acceptable crown.",
"Quality usually rises to the top.",
"I expected no less of myself.",
"An acceptable crown A fine total in the end.",
"I expected no less of myself A fine total in the end.",
"Quality usually rises to the top Consistency has its rewards.",
"I expected no less of myself The table is settled.",
"An acceptable crown The table is settled.",
"Quality usually rises to the top A fine total in the end.",
"I expected no less of myself Consistency has its rewards.",
"An acceptable crown Consistency has its rewards."
],
"lose_tournament": [
"Temporary disorder.",
"The field was untidy today.",
"I will not repeat those errors.",
"That result is not permanent.",
"Temporary disorder I will amend that result later.",
"The field was untidy today Not the final word.",
"That result is not permanent The long arc bent elsewhere.",
"The field was untidy today The long arc bent elsewhere.",
"That result is not permanent The table owes me another try.",
"I will not repeat those errors Not the final word.",
"I will not repeat those errors I will amend that result later.",
"Temporary disorder Not the final word."
]
};
{
"start_match": [
"Very well.",
"You may begin disappointing me now.",
"Let us see who mistakes motion for control today.",
"I prefer clean boards and cleaner victories.",
"Very well I intend to set the tone.",
"Let us see who mistakes motion for control today A fresh beginning seldom stays innocent.",
"I prefer clean boards and cleaner victories There is work to do.",
"Let us see who mistakes motion for control today I intend to set the tone.",
"Let us see who mistakes motion for control today There is work to do.",
"I prefer clean boards and cleaner victories I intend to set the tone.",
"Very well There is work to do.",
"You may begin disappointing me now I intend to set the tone."
],
"my_turn": [
"Observe.",
"I will correct the position.",
"There is only one move here worth respecting.",
"Now, properly.",
"Now, properly This move will say something.",
"There is only one move here worth respecting I am ready.",
"There is only one move here worth respecting Let us continue.",
"Now, properly Let us continue.",
"There is only one move here worth respecting This move will say something.",
"Now, properly The next choice matters.",
"I will correct the position The next choice matters.",
"I will correct the position This move will say something."
],
"thinking": [
"Most problems are caused by clumsy ambition.",
"The board is usually clearer than the players.",
"I do not need many options, only the right one.",
"Noise is not strategy.",
"Most problems are caused by clumsy ambition The position is speaking plainly enough.",
"Noise is not strategy The answer is in the shape.",
"Most problems are caused by clumsy ambition There is more here than first appears.",
"I do not need many options, only the right one A small clue changes everything.",
"The board is usually clearer than the players There is more here than first appears.",
"The board is usually clearer than the players A small clue changes everything.",
"Most problems are caused by clumsy ambition A small clue changes everything.",
"I do not need many options, only the right one The position is speaking plainly enough."
],
"good_move": [
"As it should be.",
"A proper line.",
"That is cleaner.",
"Expected and correct.",
"A proper line The board approves.",
"A proper line The shape tightened in my favor.",
"That is cleaner That should matter later.",
"A proper line That should matter later.",
"That is cleaner I can use this.",
"A proper line I can use this.",
"Expected and correct The shape tightened in my favor.",
"Expected and correct That should matter later."
],
"bad_move": [
"Unacceptable.",
"That was beneath the board and me.",
"I allowed imprecision.",
"An inelegant lapse.",
"Unacceptable It looked better a breath ago.",
"I allowed imprecision That opened the wrong door.",
"An inelegant lapse A correction will be needed.",
"I allowed imprecision I will not repeat it.",
"I allowed imprecision A correction will be needed.",
"That was beneath the board and me A correction will be needed.",
"I allowed imprecision It looked better a breath ago.",
"Unacceptable That opened the wrong door."
],
"bonus_move": [
"Good. I will use it better than you would.",
"Another move? Sensible.",
"The board agrees with me.",
"I am not finished.",
"I am not finished I should make this count.",
"Another move? Sensible Extra time is dangerous.",
"The board agrees with me I should make this count.",
"Another move? Sensible I should make this count.",
"Another move? Sensible Opportunity compounds quickly.",
"Good. I will use it better than you would I should make this count.",
"I am not finished Opportunity compounds quickly.",
"Good. I will use it better than you would That changes the rhythm."
],
"tile_place": [
"This tile has purpose.",
"I build where the future is useful.",
"Room is valuable when chosen well.",
"A tile for leverage.",
"A tile for leverage That should open something useful.",
"I build where the future is useful This changes the map.",
"A tile for leverage The future will care about that tile.",
"I build where the future is useful The future will care about that tile.",
"I build where the future is useful A new foundation always matters.",
"I build where the future is useful That should open something useful.",
"This tile has purpose A new foundation always matters.",
"This tile has purpose This changes the map."
],
"token_place": [
"This point belongs to me.",
"A precise claim.",
"That was worth marking.",
"A clean token.",
"A clean token That point will matter.",
"A clean token A small mark can decide a game.",
"A precise claim That point will matter.",
"A precise claim A small mark can decide a game.",
"That was worth marking A small mark can decide a game.",
"That was worth marking That point will matter.",
"This point belongs to me A small mark can decide a game.",
"A precise claim That point carries weight."
],
"erase": [
"Remove the error.",
"That line no longer deserves to exist.",
"I prefer the board without it.",
"Corrective action.",
"Remove the error Not everything deserves to remain.",
"Corrective action Not everything deserves to remain.",
"Corrective action Subtraction has its uses.",
"Remove the error Subtraction has its uses.",
"Remove the error Less can be more lethal.",
"Corrective action Sometimes removal is cleaner.",
"That line no longer deserves to exist Less can be more lethal.",
"That line no longer deserves to exist Sometimes removal is cleaner."
],
"capture": [
"Naturally.",
"That was always mine.",
"The board finally admitted the truth.",
"A proper conversion.",
"A proper conversion The board finally yielded.",
"Naturally A good conversion.",
"A proper conversion A good conversion.",
"That was always mine That was worth taking.",
"Naturally That was worth taking.",
"Naturally The shape has paid out.",
"That was always mine A good conversion.",
"Naturally The board finally yielded."
],
"ahead": [
"Do not become sentimental.",
"A lead is merely unfinished business.",
"Now I simplify.",
"They are short of good answers.",
"They are short of good answers This is where composure matters.",
"Now I simplify Now the board tests restraint.",
"Now I simplify This is where composure matters.",
"They are short of good answers Pressure should increase from here.",
"They are short of good answers Now the board tests restraint.",
"A lead is merely unfinished business This is where composure matters.",
"Do not become sentimental Pressure should increase from here.",
"They are short of good answers A lead needs discipline."
],
"behind": [
"Then the board requires sharper discipline.",
"I need one exact turn.",
"Panic is for weaker minds.",
"The correction is still possible.",
"Then the board requires sharper discipline One turn can reverse plenty.",
"The correction is still possible Recovery is a technical art.",
"Then the board requires sharper discipline There is still leverage here.",
"Panic is for weaker minds One turn can reverse plenty.",
"Panic is for weaker minds There is still leverage here.",
"Then the board requires sharper discipline Recovery is a technical art.",
"The correction is still possible Pressure can be rebuilt.",
"I need one exact turn There is still leverage here."
],
"taunt": [
"You confused activity with pressure.",
"That was almost respectable.",
"You should have chosen more carefully.",
"Your move lacked finish.",
"You should have chosen more carefully That was generous of you.",
"You confused activity with pressure That was generous of you.",
"You confused activity with pressure Some mistakes deserve immediate attention.",
"Your move lacked finish Some mistakes deserve immediate attention.",
"Your move lacked finish You offered more than you meant to.",
"That was almost respectable I thank you for the opening.",
"You confused activity with pressure I thank you for the opening.",
"You should have chosen more carefully Some mistakes deserve immediate attention."
],
"human_move_good": [
"Competent.",
"You saw the real line.",
"That was respectable.",
"A rarer quality than most humans manage.",
"That was respectable That had merit.",
"You saw the real line Well chosen.",
"A rarer quality than most humans manage You understood the moment.",
"Competent That had merit.",
"You saw the real line You understood the moment.",
"Competent I noticed that.",
"That was respectable You understood the moment.",
"You saw the real line That had merit."
],
"human_move_bad": [
"You have misunderstood the position.",
"That will punish you.",
"A poor standard.",
"You should not have done that where I could see it.",
"You should not have done that where I could see it I saw what you gave up.",
"You have misunderstood the position I saw what you gave up.",
"You have misunderstood the position That weakens your case.",
"That will punish you You should have reconsidered.",
"A poor standard I saw what you gave up.",
"A poor standard That will be remembered.",
"A poor standard You should have reconsidered.",
"You should not have done that where I could see it That weakens your case."
],
"close_game": [
"Late accuracy decides honest games.",
"Now the board becomes severe.",
"One precise turn is enough.",
"This is where control matters.",
"Late accuracy decides honest games There is no room left for vanity.",
"This is where control matters A single detail may decide it.",
"One precise turn is enough There is no room left for vanity.",
"Now the board becomes severe The ending has begun.",
"Now the board becomes severe There is no room left for vanity.",
"Now the board becomes severe A single detail may decide it.",
"Late accuracy decides honest games The margin is thin now.",
"Late accuracy decides honest games The ending has begun."
],
"win_match": [
"Predictable.",
"That concluded correctly.",
"A satisfactory result.",
"I prefer wins without clutter.",
"Predictable A useful result.",
"I prefer wins without clutter I will keep that one.",
"A satisfactory result The board closed in my favor.",
"That concluded correctly I will keep that one.",
"I prefer wins without clutter That concluded acceptably.",
"That concluded correctly A useful result.",
"I prefer wins without clutter The board closed in my favor.",
"Predictable I will keep that one."
],
"lose_match": [
"For the moment.",
"I was insufficiently exact.",
"That line will not escape me twice.",
"You may enjoy this while it lasts.",
"You may enjoy this while it lasts I have taken notes.",
"You may enjoy this while it lasts The next board will be less forgiving.",
"You may enjoy this while it lasts That outcome is informative.",
"For the moment The next board will be less forgiving.",
"I was insufficiently exact So be it.",
"For the moment That outcome is informative.",
"That line will not escape me twice That outcome is informative.",
"I was insufficiently exact That outcome is informative."
],
"win_tournament": [
"The table is in proper order now.",
"An acceptable crown.",
"Quality usually rises to the top.",
"I expected no less of myself.",
"An acceptable crown A fine total in the end.",
"I expected no less of myself A fine total in the end.",
"Quality usually rises to the top Consistency has its rewards.",
"I expected no less of myself The table is settled.",
"An acceptable crown The table is settled.",
"Quality usually rises to the top A fine total in the end.",
"I expected no less of myself Consistency has its rewards.",
"An acceptable crown Consistency has its rewards."
],
"lose_tournament": [
"Temporary disorder.",
"The field was untidy today.",
"I will not repeat those errors.",
"That result is not permanent.",
"Temporary disorder I will amend that result later.",
"The field was untidy today Not the final word.",
"That result is not permanent The long arc bent elsewhere.",
"The field was untidy today The long arc bent elsewhere.",
"That result is not permanent The table owes me another try.",
"I will not repeat those errors Not the final word.",
"I will not repeat those errors I will amend that result later.",
"Temporary disorder Not the final word."
]
}
RabbitID,VoiceCategory,LineCount,SampleLine tuer_ye,start_match,12,Very well. tuer_ye,my_turn,12,Observe. tuer_ye,thinking,12,Most problems are caused by clumsy ambition. tuer_ye,good_move,12,As it should be. tuer_ye,bad_move,12,Unacceptable. tuer_ye,bonus_move,12,Good. I will use it better than you would. tuer_ye,tile_place,12,This tile has purpose. tuer_ye,token_place,12,This point belongs to me. tuer_ye,erase,12,Remove the error. tuer_ye,capture,12,Naturally. tuer_ye,ahead,12,Do not become sentimental. tuer_ye,behind,12,Then the board requires sharper discipline. tuer_ye,taunt,12,You confused activity with pressure. tuer_ye,human_move_good,12,Competent. tuer_ye,human_move_bad,12,You have misunderstood the position. tuer_ye,close_game,12,Late accuracy decides honest games. tuer_ye,win_match,12,Predictable. tuer_ye,lose_match,12,For the moment. tuer_ye,win_tournament,12,The table is in proper order now. tuer_ye,lose_tournament,12,Temporary disorder.