Current source: Rusty Rabbit Fluffle. Loading from fluffle structure.
Companion HTML: open newb_bble.html | Personality JS: open newb_bble.js
Files found in avatar/
Files found in images/
No gallery images found.
Files found in notes/
Extraction notes for Newb-Bble Rusty Rabbit - Manifest label: Newb-Bble - Registered label: Newb-Bble - DemoOrder from playerlist.js: 2 - PersonalityLevel from register(...): 2 - Companion title: Newb-Bble 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/
Newb-Bble Rusty Rabbit Core identity: Older than Kit, and notices immediate sub-tile gains... sometimes.
Rabbit: Newb-Bble Display name: Newb-Bble Rusty Rabbit Known note: Likes more tiles. Working metadata: - Tier: starter - Temperament: playful - Strategy: tile_happy - VoiceTone: playful TODO: - Replace inferred metadata with values taken from the current JavaScript personality source. - Add signature lines / prompts / flavor text here.
Rabbit: Newb-Bble Rusty Rabbit RabbitID: newb_bble Demo order: 2 Personality level: 2 Cheat door: none Core identity: Older than Kit, and notices immediate sub-tile gains... sometimes. Strategy hooks present: - forceAction: 0 - filterActions: 1 - scoreAction: 1 - chooseAction: 0 - describeStrategy: 0 Voice categories: 20 Voice lines total: 240 Sample voice lines: - ahead: I am ahead? Wonderful and suspicious. - bad_move: Well, that became awkward. - behind: The answer is obviously more tiles. - bonus_move: Bonus! More board for everyone. - capture: Ha! It worked. - close_game: Everything matters now. Exciting. - erase: Gone! Problem solved. - good_move: Yes! That felt lively. - human_move_bad: I am definitely pouncing on that. - human_move_good: Ooh, that was sharp. - lose_match: Next time I will build even more. - lose_tournament: I still had fun. - my_turn: My turn, my turn. - start_match: Tiles! Excellent. - taunt: You left that out in the open. - thinking: More room is usually good. - tile_place: Here, have another tile. - token_place: I should put a token there before I forget. - win_match: I won! By enthusiasm, mostly. - win_tournament: A whole tournament? Magnificent.
Files found in personality/
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Newb-Bble 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/newb_bble.jpg" width="200" style="border-radius:12px; border:2px solid rgba(255,255,0,.18);" align="right">
<h1>Newb-Bble Rusty Rabbit</h1>
<p><strong>Core identity:</strong> Older than Kit, and notices immediate sub-tile gains... sometimes.</p>
<div class="box">
<strong>Personality sketch</strong><br>
Newb-Bble has begun to notice obvious local rewards, especially quick sub-tile payoffs, but still drifts and misreads the larger shape. He is part learner, part blunderer, and often dangerous only in the short term.
</div>
<div class="box">
<strong>What this page is for</strong><br>
Use this as a plain-language companion while tweaking <code>newb_bble.js</code>.
</div>
<h2>Working notes</h2>
<ul><li>Newb-Bble is the natural place to push raw board growth.</li><li>He works well as a rabbit that causes trouble for smarter rabbits to exploit.</li><li>If his games stay tiny, raise hard tile filtering before raising token penalties again.</li></ul>
<h2>Main tuning knobs</h2>
<table><tr><th>Tile appetite</th><td>High to very high</td></tr><tr><th>Token appetite</th><td>Delayed</td></tr><tr><th>Good experiments</th><td>Longer tile-only opening</td></tr><tr><th>Danger sign</th><td>If he starts winning by precision, he no longer feels newb-like</td></tr></table>
<h2>Starter recipe</h2>
<div class="box good">Use filterActions() early. Keep tile bonuses large. Delay token scoring until tileCount is well above the opening size.</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 newb_bble.js</h3>
<pre id="jsview"></pre>
<pre id="jsview"></pre>
<script>
fetch('newb_bble.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 newb_bble.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;
function num(v, fallback){
const n = Number(v);
return Number.isFinite(n) ? n : (fallback || 0);
}
function getTileCountForSeat(ctx, seat){
if(!ctx) return 0;
const tc = ctx.tileCount;
if(typeof tc === 'number') return num(tc, 0);
if(Array.isArray(tc)) return num(tc[seat], 0);
if(typeof tc === 'function'){
try{
return num(tc(seat), 0);
}catch(_){
try{
return num(tc(), 0);
}catch(__){
return 0;
}
}
}
if(tc && typeof tc === 'object'){
return num(tc[seat], 0);
}
return 0;
}
function countMyPlacedTiles(ctx){
return getTileCountForSeat(ctx, ctx && ctx.seat);
}
function countOppPlacedTiles(ctx){
if(!ctx) return 0;
if(typeof ctx.rivalSeat === 'number'){
return getTileCountForSeat(ctx, ctx.rivalSeat);
}
if(typeof ctx.playerCount === 'function'){
let total = 0;
try{
const pc = num(ctx.playerCount(), 0);
for(let s = 0; s < pc; s++){
if(s === ctx.seat) continue;
total += getTileCountForSeat(ctx, s);
}
return total;
}catch(_){
return 0;
}
}
return 0;
}
register({
level: 2,
id: "newb_bble",
label: "Newb-Bble",
filterActions(ctx){
const tileActions = ctx.actions.filter(a => a.type === 'tile');
if(!tileActions.length) return ctx.actions;
// Newb-Bble is now aggressively growth-first for longer.
if(ctx.phase === 0 && countMyPlacedTiles(ctx) <= 10) return tileActions;
if(ctx.phase === 1 && countMyPlacedTiles(ctx) <= 6) return tileActions;
return ctx.actions;
},
scoreAction(ctx){
let score = 0;
if(ctx.action.type === 'tile'){
score += countMyPlacedTiles(ctx) <= 1 ? 260 : (countMyPlacedTiles(ctx) <= 4 ? 190 : (countMyPlacedTiles(ctx) <= 8 ? 120 : 64));
try{
score += (ctx.adjacentPlacedCount(ctx.action.move) || 0) * 26;
}catch(e){}
try{
score += ctx.withTempTileForSeat(
ctx.action.move,
ctx.seat,
()=> Math.min(44, (ctx.openSocketMoves(true).length || 0) * 0.38)
) || 0;
}catch(e){}
}
if(ctx.action.type === 'token'){
if(countMyPlacedTiles(ctx) <= 2) score -= 60;
else if(countMyPlacedTiles(ctx) <= 5) score -= 32;
else if(countMyPlacedTiles(ctx) <= 8) score -= 14;
}
if(ctx.action.type === 'eraseTile') score -= 26;
if(ctx.action.type === 'eraseToken') score -= 8;
return score;
}
});
})();
level: 2,
id: "newb_bble",
label: "Newb-Bble",
filterActions(ctx){
const tileActions = ctx.actions.filter(a => a.type === 'tile');
if(!tileActions.length) return ctx.actions;
// Newb-Bble is now aggressively growth-first for longer.
if(ctx.phase === 0 && countMyPlacedTiles(ctx) <= 10) return tileActions;
if(ctx.phase === 1 && countMyPlacedTiles(ctx) <= 6) return tileActions;
return ctx.actions;
},
scoreAction(ctx){
let score = 0;
if(ctx.action.type === 'tile'){
score += countMyPlacedTiles(ctx) <= 1 ? 260 : (countMyPlacedTiles(ctx) <= 4 ? 190 : (countMyPlacedTiles(ctx) <= 8 ? 120 : 64));
try{
score += (ctx.adjacentPlacedCount(ctx.action.move) || 0) * 26;
}catch(e){}
try{
score += ctx.withTempTileForSeat(
ctx.action.move,
ctx.seat,
()=> Math.min(44, (ctx.openSocketMoves(true).length || 0) * 0.38)
) || 0;
}catch(e){}
}
if(ctx.action.type === 'token'){
if(countMyPlacedTiles(ctx) <= 2) score -= 60;
else if(countMyPlacedTiles(ctx) <= 5) score -= 32;
else if(countMyPlacedTiles(ctx) <= 8) score -= 14;
}
if(ctx.action.type === 'eraseTile') score -= 26;
if(ctx.action.type === 'eraseToken') score -= 8;
return score;
}
Files found in voices/
window.TRIGAME_VOICES = window.TRIGAME_VOICES || {};
window.TRIGAME_VOICES["newb_bble"] = {
"start_match": [
"Tiles! Excellent.",
"Let us make a splendid mess.",
"I brought enthusiasm.",
"I vote for more board.",
"Let us make a splendid mess A fresh beginning seldom stays innocent.",
"Tiles! Excellent I intend to set the tone.",
"Tiles! Excellent A fresh beginning seldom stays innocent.",
"I brought enthusiasm A fresh beginning seldom stays innocent.",
"I vote for more board A fresh beginning seldom stays innocent.",
"I vote for more board There is work to do.",
"Let us make a splendid mess There is work to do.",
"I vote for more board I intend to set the tone."
],
"my_turn": [
"My turn, my turn.",
"Ooh, I see a place.",
"Time to put something somewhere.",
"I am feeling lucky.",
"Time to put something somewhere Let us continue.",
"My turn, my turn This move will say something.",
"Ooh, I see a place This move will say something.",
"Time to put something somewhere This move will say something.",
"My turn, my turn I am ready.",
"Ooh, I see a place I am ready.",
"I am feeling lucky I am ready.",
"Ooh, I see a place The next choice matters."
],
"thinking": [
"More room is usually good.",
"I wonder what happens if I just keep going.",
"This looks fun already.",
"I should open things up.",
"I should open things up A small clue changes everything.",
"This looks fun already A small clue changes everything.",
"I should open things up The position is speaking plainly enough.",
"I wonder what happens if I just keep going A small clue changes everything.",
"More room is usually good There is more here than first appears.",
"I should open things up The answer is in the shape.",
"I should open things up There is more here than first appears.",
"More room is usually good A small clue changes everything."
],
"good_move": [
"Yes! That felt lively.",
"Oh, I liked that one.",
"Now the board has possibilities.",
"That made things interesting.",
"Yes! That felt lively That should matter later.",
"That made things interesting The board approves.",
"Yes! That felt lively I can use this.",
"That made things interesting I can use this.",
"Oh, I liked that one The shape tightened in my favor.",
"Now the board has possibilities I can use this.",
"Yes! That felt lively The shape tightened in my favor.",
"Now the board has possibilities The board approves."
],
"bad_move": [
"Well, that became awkward.",
"Hmm. I regret nothing. Perhaps a little.",
"That was less brilliant than intended.",
"Oopsy.",
"Well, that became awkward I will not repeat it.",
"Well, that became awkward That opened the wrong door.",
"Hmm. I regret nothing. Perhaps a little I will not repeat it.",
"Hmm. I regret nothing. Perhaps a little That opened the wrong door.",
"Hmm. I regret nothing. Perhaps a little A correction will be needed.",
"Oopsy It looked better a breath ago.",
"That was less brilliant than intended That opened the wrong door.",
"That was less brilliant than intended I will not repeat it."
],
"bonus_move": [
"Bonus! More board for everyone.",
"Another move? Do not mind if I do.",
"Excellent. I was not finished.",
"One more! One more!",
"Bonus! More board for everyone Opportunity compounds quickly.",
"One more! One more That changes the rhythm.",
"Another move? Do not mind if I do Extra time is dangerous.",
"Excellent. I was not finished Extra time is dangerous.",
"One more! One more Opportunity compounds quickly.",
"Bonus! More board for everyone That changes the rhythm.",
"One more! One more Extra time is dangerous.",
"One more! One more I should make this count."
],
"tile_place": [
"Here, have another tile.",
"The board wants to grow.",
"This place looks lonely.",
"A bigger board is a better board.",
"A bigger board is a better board This changes the map.",
"This place looks lonely That should open something useful.",
"A bigger board is a better board That should open something useful.",
"This place looks lonely A new foundation always matters.",
"The board wants to grow The future will care about that tile.",
"The board wants to grow That should open something useful.",
"A bigger board is a better board A new foundation always matters.",
"Here, have another tile That should open something useful."
],
"token_place": [
"I should put a token there before I forget.",
"A cheerful little marker.",
"That spot looked available.",
"Mine now, probably.",
"That spot looked available A small mark can decide a game.",
"Mine now, probably A small mark can decide a game.",
"That spot looked available Claims should be deliberate.",
"That spot looked available That point carries weight.",
"A cheerful little marker That point carries weight.",
"A cheerful little marker That point will matter.",
"Mine now, probably That point will matter.",
"Mine now, probably That point carries weight."
],
"erase": [
"Gone! Problem solved.",
"I removed it because I could.",
"That looked expendable.",
"Let us pretend that was intentional.",
"Gone! Problem solved Sometimes removal is cleaner.",
"I removed it because I could Less can be more lethal.",
"I removed it because I could Sometimes removal is cleaner.",
"That looked expendable Less can be more lethal.",
"That looked expendable Sometimes removal is cleaner.",
"Let us pretend that was intentional Sometimes removal is cleaner.",
"I removed it because I could Subtraction has its uses.",
"Gone! Problem solved Not everything deserves to remain."
],
"capture": [
"Ha! It worked.",
"I stumbled into that nicely.",
"Look at me go.",
"I meant to do that.",
"I stumbled into that nicely The board finally yielded.",
"I meant to do that A good conversion.",
"Look at me go That was worth taking.",
"I stumbled into that nicely A good conversion.",
"Ha! It worked The board finally yielded.",
"Ha! It worked A good conversion.",
"I stumbled into that nicely The shape has paid out.",
"Ha! It worked That was worth taking."
],
"ahead": [
"I am ahead? Wonderful and suspicious.",
"I should keep doing whatever this is.",
"More pressure. More pressure.",
"Now I am excited.",
"More pressure. More pressure Now the board tests restraint.",
"Now I am excited Now the board tests restraint.",
"More pressure. More pressure Pressure should increase from here.",
"I am ahead? Wonderful and suspicious This is where composure matters.",
"Now I am excited A lead needs discipline.",
"I am ahead? Wonderful and suspicious Now the board tests restraint.",
"I am ahead? Wonderful and suspicious Pressure should increase from here.",
"I should keep doing whatever this is This is where composure matters."
],
"behind": [
"The answer is obviously more tiles.",
"I can catch up by making this bigger.",
"I refuse to be discouraged.",
"Chaos may still rescue me.",
"The answer is obviously more tiles One turn can reverse plenty.",
"The answer is obviously more tiles Recovery is a technical art.",
"I can catch up by making this bigger Recovery is a technical art.",
"Chaos may still rescue me Recovery is a technical art.",
"I refuse to be discouraged Recovery is a technical art.",
"I refuse to be discouraged There is still leverage here.",
"I can catch up by making this bigger Pressure can be rebuilt.",
"I can catch up by making this bigger One turn can reverse plenty."
],
"taunt": [
"You left that out in the open.",
"I saw a shiny opportunity.",
"You should have tidied that.",
"Thank you for the opening.",
"You left that out in the open That was generous of you.",
"You left that out in the open You offered more than you meant to.",
"Thank you for the opening You offered more than you meant to.",
"You should have tidied that I thank you for the opening.",
"I saw a shiny opportunity Some mistakes deserve immediate attention.",
"You should have tidied that You offered more than you meant to.",
"You should have tidied that That was generous of you.",
"Thank you for the opening I thank you for the opening."
],
"human_move_good": [
"Ooh, that was sharp.",
"You built that well.",
"That was annoyingly good.",
"Nicely spotted, human.",
"You built that well Well chosen.",
"That was annoyingly good Well chosen.",
"Ooh, that was sharp I noticed that.",
"You built that well That had merit.",
"That was annoyingly good You understood the moment.",
"Ooh, that was sharp You understood the moment.",
"Nicely spotted, human I noticed that.",
"That was annoyingly good That had merit."
],
"human_move_bad": [
"I am definitely pouncing on that.",
"That seems regrettable.",
"I appreciate the donation.",
"You made this easier.",
"I am definitely pouncing on that That will be remembered.",
"That seems regrettable That will be remembered.",
"I appreciate the donation That will be remembered.",
"That seems regrettable I saw what you gave up.",
"You made this easier That weakens your case.",
"You made this easier That will be remembered.",
"That seems regrettable That weakens your case.",
"You made this easier I saw what you gave up."
],
"close_game": [
"Everything matters now. Exciting.",
"The board feels crowded and dramatic.",
"This is where silly becomes dangerous.",
"No more casual moves.",
"This is where silly becomes dangerous The ending has begun.",
"Everything matters now. Exciting The ending has begun.",
"Everything matters now. Exciting A single detail may decide it.",
"This is where silly becomes dangerous A single detail may decide it.",
"No more casual moves The margin is thin now.",
"The board feels crowded and dramatic A single detail may decide it.",
"No more casual moves The ending has begun.",
"Everything matters now. Exciting There is no room left for vanity."
],
"win_match": [
"I won! By enthusiasm, mostly.",
"That was delightfully untidy.",
"Victory through expansion.",
"Never underestimate cheerful persistence.",
"Victory through expansion That concluded acceptably.",
"Victory through expansion The board closed in my favor.",
"Never underestimate cheerful persistence A useful result.",
"I won! By enthusiasm, mostly That concluded acceptably.",
"That was delightfully untidy I will keep that one.",
"I won! By enthusiasm, mostly The board closed in my favor.",
"Never underestimate cheerful persistence I will keep that one.",
"Never underestimate cheerful persistence The board closed in my favor."
],
"lose_match": [
"Next time I will build even more.",
"I regret being outplayed. Briefly.",
"That only means the next board gets bigger.",
"Fine. Again.",
"I regret being outplayed. Briefly So be it.",
"I regret being outplayed. Briefly I have taken notes.",
"Next time I will build even more That outcome is informative.",
"Fine. Again That outcome is informative.",
"That only means the next board gets bigger The next board will be less forgiving.",
"That only means the next board gets bigger That outcome is informative.",
"Fine. Again I have taken notes.",
"Fine. Again So be it."
],
"win_tournament": [
"A whole tournament? Magnificent.",
"The fluffle cannot resist my energy.",
"That was a glorious pile of tiles.",
"I shall celebrate by opening more sockets.",
"That was a glorious pile of tiles A fine total in the end.",
"I shall celebrate by opening more sockets The table is settled.",
"That was a glorious pile of tiles Consistency has its rewards.",
"The fluffle cannot resist my energy The table is settled.",
"A whole tournament? Magnificent A fine total in the end.",
"I shall celebrate by opening more sockets Consistency has its rewards.",
"I shall celebrate by opening more sockets The longer arc favored me.",
"The fluffle cannot resist my energy A fine total in the end."
],
"lose_tournament": [
"I still had fun.",
"Defeat is merely unfinished expansion.",
"The next tournament will be messier.",
"I remain optimistic.",
"I still had fun Not the final word.",
"I still had fun The long arc bent elsewhere.",
"I remain optimistic The long arc bent elsewhere.",
"The next tournament will be messier I will amend that result later.",
"I remain optimistic The table owes me another try.",
"The next tournament will be messier Not the final word.",
"I still had fun The table owes me another try.",
"Defeat is merely unfinished expansion I will amend that result later."
]
};
{
"start_match": [
"Tiles! Excellent.",
"Let us make a splendid mess.",
"I brought enthusiasm.",
"I vote for more board.",
"Let us make a splendid mess A fresh beginning seldom stays innocent.",
"Tiles! Excellent I intend to set the tone.",
"Tiles! Excellent A fresh beginning seldom stays innocent.",
"I brought enthusiasm A fresh beginning seldom stays innocent.",
"I vote for more board A fresh beginning seldom stays innocent.",
"I vote for more board There is work to do.",
"Let us make a splendid mess There is work to do.",
"I vote for more board I intend to set the tone."
],
"my_turn": [
"My turn, my turn.",
"Ooh, I see a place.",
"Time to put something somewhere.",
"I am feeling lucky.",
"Time to put something somewhere Let us continue.",
"My turn, my turn This move will say something.",
"Ooh, I see a place This move will say something.",
"Time to put something somewhere This move will say something.",
"My turn, my turn I am ready.",
"Ooh, I see a place I am ready.",
"I am feeling lucky I am ready.",
"Ooh, I see a place The next choice matters."
],
"thinking": [
"More room is usually good.",
"I wonder what happens if I just keep going.",
"This looks fun already.",
"I should open things up.",
"I should open things up A small clue changes everything.",
"This looks fun already A small clue changes everything.",
"I should open things up The position is speaking plainly enough.",
"I wonder what happens if I just keep going A small clue changes everything.",
"More room is usually good There is more here than first appears.",
"I should open things up The answer is in the shape.",
"I should open things up There is more here than first appears.",
"More room is usually good A small clue changes everything."
],
"good_move": [
"Yes! That felt lively.",
"Oh, I liked that one.",
"Now the board has possibilities.",
"That made things interesting.",
"Yes! That felt lively That should matter later.",
"That made things interesting The board approves.",
"Yes! That felt lively I can use this.",
"That made things interesting I can use this.",
"Oh, I liked that one The shape tightened in my favor.",
"Now the board has possibilities I can use this.",
"Yes! That felt lively The shape tightened in my favor.",
"Now the board has possibilities The board approves."
],
"bad_move": [
"Well, that became awkward.",
"Hmm. I regret nothing. Perhaps a little.",
"That was less brilliant than intended.",
"Oopsy.",
"Well, that became awkward I will not repeat it.",
"Well, that became awkward That opened the wrong door.",
"Hmm. I regret nothing. Perhaps a little I will not repeat it.",
"Hmm. I regret nothing. Perhaps a little That opened the wrong door.",
"Hmm. I regret nothing. Perhaps a little A correction will be needed.",
"Oopsy It looked better a breath ago.",
"That was less brilliant than intended That opened the wrong door.",
"That was less brilliant than intended I will not repeat it."
],
"bonus_move": [
"Bonus! More board for everyone.",
"Another move? Do not mind if I do.",
"Excellent. I was not finished.",
"One more! One more!",
"Bonus! More board for everyone Opportunity compounds quickly.",
"One more! One more That changes the rhythm.",
"Another move? Do not mind if I do Extra time is dangerous.",
"Excellent. I was not finished Extra time is dangerous.",
"One more! One more Opportunity compounds quickly.",
"Bonus! More board for everyone That changes the rhythm.",
"One more! One more Extra time is dangerous.",
"One more! One more I should make this count."
],
"tile_place": [
"Here, have another tile.",
"The board wants to grow.",
"This place looks lonely.",
"A bigger board is a better board.",
"A bigger board is a better board This changes the map.",
"This place looks lonely That should open something useful.",
"A bigger board is a better board That should open something useful.",
"This place looks lonely A new foundation always matters.",
"The board wants to grow The future will care about that tile.",
"The board wants to grow That should open something useful.",
"A bigger board is a better board A new foundation always matters.",
"Here, have another tile That should open something useful."
],
"token_place": [
"I should put a token there before I forget.",
"A cheerful little marker.",
"That spot looked available.",
"Mine now, probably.",
"That spot looked available A small mark can decide a game.",
"Mine now, probably A small mark can decide a game.",
"That spot looked available Claims should be deliberate.",
"That spot looked available That point carries weight.",
"A cheerful little marker That point carries weight.",
"A cheerful little marker That point will matter.",
"Mine now, probably That point will matter.",
"Mine now, probably That point carries weight."
],
"erase": [
"Gone! Problem solved.",
"I removed it because I could.",
"That looked expendable.",
"Let us pretend that was intentional.",
"Gone! Problem solved Sometimes removal is cleaner.",
"I removed it because I could Less can be more lethal.",
"I removed it because I could Sometimes removal is cleaner.",
"That looked expendable Less can be more lethal.",
"That looked expendable Sometimes removal is cleaner.",
"Let us pretend that was intentional Sometimes removal is cleaner.",
"I removed it because I could Subtraction has its uses.",
"Gone! Problem solved Not everything deserves to remain."
],
"capture": [
"Ha! It worked.",
"I stumbled into that nicely.",
"Look at me go.",
"I meant to do that.",
"I stumbled into that nicely The board finally yielded.",
"I meant to do that A good conversion.",
"Look at me go That was worth taking.",
"I stumbled into that nicely A good conversion.",
"Ha! It worked The board finally yielded.",
"Ha! It worked A good conversion.",
"I stumbled into that nicely The shape has paid out.",
"Ha! It worked That was worth taking."
],
"ahead": [
"I am ahead? Wonderful and suspicious.",
"I should keep doing whatever this is.",
"More pressure. More pressure.",
"Now I am excited.",
"More pressure. More pressure Now the board tests restraint.",
"Now I am excited Now the board tests restraint.",
"More pressure. More pressure Pressure should increase from here.",
"I am ahead? Wonderful and suspicious This is where composure matters.",
"Now I am excited A lead needs discipline.",
"I am ahead? Wonderful and suspicious Now the board tests restraint.",
"I am ahead? Wonderful and suspicious Pressure should increase from here.",
"I should keep doing whatever this is This is where composure matters."
],
"behind": [
"The answer is obviously more tiles.",
"I can catch up by making this bigger.",
"I refuse to be discouraged.",
"Chaos may still rescue me.",
"The answer is obviously more tiles One turn can reverse plenty.",
"The answer is obviously more tiles Recovery is a technical art.",
"I can catch up by making this bigger Recovery is a technical art.",
"Chaos may still rescue me Recovery is a technical art.",
"I refuse to be discouraged Recovery is a technical art.",
"I refuse to be discouraged There is still leverage here.",
"I can catch up by making this bigger Pressure can be rebuilt.",
"I can catch up by making this bigger One turn can reverse plenty."
],
"taunt": [
"You left that out in the open.",
"I saw a shiny opportunity.",
"You should have tidied that.",
"Thank you for the opening.",
"You left that out in the open That was generous of you.",
"You left that out in the open You offered more than you meant to.",
"Thank you for the opening You offered more than you meant to.",
"You should have tidied that I thank you for the opening.",
"I saw a shiny opportunity Some mistakes deserve immediate attention.",
"You should have tidied that You offered more than you meant to.",
"You should have tidied that That was generous of you.",
"Thank you for the opening I thank you for the opening."
],
"human_move_good": [
"Ooh, that was sharp.",
"You built that well.",
"That was annoyingly good.",
"Nicely spotted, human.",
"You built that well Well chosen.",
"That was annoyingly good Well chosen.",
"Ooh, that was sharp I noticed that.",
"You built that well That had merit.",
"That was annoyingly good You understood the moment.",
"Ooh, that was sharp You understood the moment.",
"Nicely spotted, human I noticed that.",
"That was annoyingly good That had merit."
],
"human_move_bad": [
"I am definitely pouncing on that.",
"That seems regrettable.",
"I appreciate the donation.",
"You made this easier.",
"I am definitely pouncing on that That will be remembered.",
"That seems regrettable That will be remembered.",
"I appreciate the donation That will be remembered.",
"That seems regrettable I saw what you gave up.",
"You made this easier That weakens your case.",
"You made this easier That will be remembered.",
"That seems regrettable That weakens your case.",
"You made this easier I saw what you gave up."
],
"close_game": [
"Everything matters now. Exciting.",
"The board feels crowded and dramatic.",
"This is where silly becomes dangerous.",
"No more casual moves.",
"This is where silly becomes dangerous The ending has begun.",
"Everything matters now. Exciting The ending has begun.",
"Everything matters now. Exciting A single detail may decide it.",
"This is where silly becomes dangerous A single detail may decide it.",
"No more casual moves The margin is thin now.",
"The board feels crowded and dramatic A single detail may decide it.",
"No more casual moves The ending has begun.",
"Everything matters now. Exciting There is no room left for vanity."
],
"win_match": [
"I won! By enthusiasm, mostly.",
"That was delightfully untidy.",
"Victory through expansion.",
"Never underestimate cheerful persistence.",
"Victory through expansion That concluded acceptably.",
"Victory through expansion The board closed in my favor.",
"Never underestimate cheerful persistence A useful result.",
"I won! By enthusiasm, mostly That concluded acceptably.",
"That was delightfully untidy I will keep that one.",
"I won! By enthusiasm, mostly The board closed in my favor.",
"Never underestimate cheerful persistence I will keep that one.",
"Never underestimate cheerful persistence The board closed in my favor."
],
"lose_match": [
"Next time I will build even more.",
"I regret being outplayed. Briefly.",
"That only means the next board gets bigger.",
"Fine. Again.",
"I regret being outplayed. Briefly So be it.",
"I regret being outplayed. Briefly I have taken notes.",
"Next time I will build even more That outcome is informative.",
"Fine. Again That outcome is informative.",
"That only means the next board gets bigger The next board will be less forgiving.",
"That only means the next board gets bigger That outcome is informative.",
"Fine. Again I have taken notes.",
"Fine. Again So be it."
],
"win_tournament": [
"A whole tournament? Magnificent.",
"The fluffle cannot resist my energy.",
"That was a glorious pile of tiles.",
"I shall celebrate by opening more sockets.",
"That was a glorious pile of tiles A fine total in the end.",
"I shall celebrate by opening more sockets The table is settled.",
"That was a glorious pile of tiles Consistency has its rewards.",
"The fluffle cannot resist my energy The table is settled.",
"A whole tournament? Magnificent A fine total in the end.",
"I shall celebrate by opening more sockets Consistency has its rewards.",
"I shall celebrate by opening more sockets The longer arc favored me.",
"The fluffle cannot resist my energy A fine total in the end."
],
"lose_tournament": [
"I still had fun.",
"Defeat is merely unfinished expansion.",
"The next tournament will be messier.",
"I remain optimistic.",
"I still had fun Not the final word.",
"I still had fun The long arc bent elsewhere.",
"I remain optimistic The long arc bent elsewhere.",
"The next tournament will be messier I will amend that result later.",
"I remain optimistic The table owes me another try.",
"The next tournament will be messier Not the final word.",
"I still had fun The table owes me another try.",
"Defeat is merely unfinished expansion I will amend that result later."
]
}
RabbitID,VoiceCategory,LineCount,SampleLine newb_bble,start_match,12,Tiles! Excellent. newb_bble,my_turn,12,"My turn, my turn." newb_bble,thinking,12,More room is usually good. newb_bble,good_move,12,Yes! That felt lively. newb_bble,bad_move,12,"Well, that became awkward." newb_bble,bonus_move,12,Bonus! More board for everyone. newb_bble,tile_place,12,"Here, have another tile." newb_bble,token_place,12,I should put a token there before I forget. newb_bble,erase,12,Gone! Problem solved. newb_bble,capture,12,Ha! It worked. newb_bble,ahead,12,I am ahead? Wonderful and suspicious. newb_bble,behind,12,The answer is obviously more tiles. newb_bble,taunt,12,You left that out in the open. newb_bble,human_move_good,12,"Ooh, that was sharp." newb_bble,human_move_bad,12,I am definitely pouncing on that. newb_bble,close_game,12,Everything matters now. Exciting. newb_bble,win_match,12,"I won! By enthusiasm, mostly." newb_bble,lose_match,12,Next time I will build even more. newb_bble,win_tournament,12,A whole tournament? Magnificent. newb_bble,lose_tournament,12,I still had fun.