🎮ArcadeLab

Barry: Show No Mercy

by PixelKoala12
236 lines7.8 KB
▶ Play
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Barry: Show No Mercy</title>
<style>
    body {
        margin: 0; padding: 0; background: #0a0a0a; color: #ffcc00; font-family: 'Courier New', monospace;
        text-align: center; overflow: hidden;
    }
    #game {
        max-width: 800px; margin: 20px auto; border: 4px solid #ff00aa; background: #111;
        box-shadow: 0 0 30px #ff00aa;
    }
    canvas { image-rendering: pixelated; background: #000; }
    #log {
        height: 220px; overflow-y: auto; background: #1a0000; padding: 15px; text-align: left;
        font-size: 15px; line-height: 1.5; color: #ff99cc; border-top: 3px solid #ff00aa;
    }
    button {
        background: #ff00aa; color: white; border: none; padding: 12px 20px; margin: 5px;
        font-size: 16px; cursor: pointer; font-weight: bold; border-radius: 4px;
    }
    button:hover { background: #ff66cc; }
    .stats { display: flex; justify-content: space-around; background: #220022; padding: 10px; font-size: 14px; }
    h1 { margin: 10px; color: #ff00aa; text-shadow: 0 0 10px #ff00aa; }
</style>
</head>
<body>

<h1>🔥 BARRY: SHOW NO MERCY 🔥</h1>
<div id="game">
    <canvas id="canvas" width="800" height="300"></canvas>
    <div class="stats">
        <div><strong>Barry</strong><br>
            Lust: <span id="lust">100</span> | Stamina: <span id="stamina">80</span> | 
            Strength: <span id="str">15</span> | Charisma: <span id="cha">12</span>
        </div>
        <div><strong>Reputation:</strong> <span id="reputation">0</span></div>
    </div>
    <div id="log"></div>
    <div id="buttons"></div>
</div>

<script>
// ====================== BARRY THE BEAR RPG ======================
const canvas = document.getElementById('canvas');
const ctx = canvas.getContext('2d');
const logEl = document.getElementById('log');
const buttonsEl = document.getElementById('buttons');

let player = {
    name: "Barry",
    lust: 100,
    stamina: 80,
    strength: 15,
    charisma: 12,
    reputation: 0,
    loadCount: 0
};

let currentEnemy = null;
let gameState = "exploring"; // exploring | combat

const enemies = [
    { name: "Femboy Fox", hp: 60, lustDamage: 18, desc: "a slim fox with a big ass and needy eyes", weakness: "strength" },
    { name: "Muscle Wolf", hp: 90, lustDamage: 14, desc: "a huge ripped wolf who thinks he can top", weakness: "charisma" },
    { name: "Busty Bunny Succubus", hp: 55, lustDamage: 22, desc: "a thicc bunny with hypnotic tits", weakness: "strength" },
    { name: "Twink Dragon", hp: 45, lustDamage: 25, desc: "a cocky little dragon with a surprising bulge", weakness: "charisma" }
];

function log(text) {
    logEl.innerHTML += `<div>\${text}</div>`;
    logEl.scrollTop = logEl.scrollHeight;
}

function updateStats() {
    document.getElementById('lust').textContent = player.lust;
    document.getElementById('stamina').textContent = player.stamina;
    document.getElementById('str').textContent = player.strength;
    document.getElementById('cha').textContent = player.charisma;
    document.getElementById('reputation').textContent = player.reputation;
}

function drawBarry() {
    ctx.fillStyle = '#fff';
    ctx.fillRect(80, 80, 120, 160); // body
    ctx.fillStyle = '#222';
    ctx.fillRect(110, 50, 60, 60); // head
    ctx.fillStyle = '#ff00aa';
    ctx.fillRect(140, 160, 40, 60); // massive bulge
    ctx.fillStyle = '#fff';
    ctx.font = 'bold 30px Courier';
    ctx.fillText('B2B', 95, 210);
}

function drawEnemy() {
    if (!currentEnemy) return;
    ctx.fillStyle = '#0ff';
    ctx.fillRect(520, 100, 100, 140);
    ctx.fillStyle = '#000';
    ctx.font = '20px Courier';
    ctx.fillText(currentEnemy.name.toUpperCase(), 510, 80);
}

function startCombat() {
    currentEnemy = {...enemies[Math.floor(Math.random()*enemies.length)]};
    currentEnemy.maxHp = currentEnemy.hp;
    gameState = "combat";
    log(`<span style="color:#ff00aa">A \${currentEnemy.desc} approaches!</span>`);
    renderButtons();
}

function playerAttack(type) {
    if (!currentEnemy) return;

    let damage = 0;
    let flavor = "";

    if (type === "pound") {
        damage = player.strength + Math.floor(Math.random()*8);
        flavor = `Barry grabs \${currentEnemy.name} and breeds him senseless!`;
        player.stamina -= 8;
    } 
    else if (type === "tease") {
        damage = player.charisma + Math.floor(Math.random()*6);
        flavor = `Barry flexes and dirty talks. "\${currentEnemy.name}, you're already mine."`;
        player.lust += 5;
    } 
    else if (type === "finish") {
        if (player.lust >= 60) {
            damage = 999;
            flavor = `<span style="color:#ff00ff">BARRY GOES FULL BEAST MODE — \${currentEnemy.name} gets absolutely wrecked!</span>`;
            player.loadCount++;
            player.reputation += 25;
            player.lust = Math.max(20, player.lust - 50);
        } else {
            log("You're not horny enough for your ultimate move yet...");
            return;
        }
    }

    currentEnemy.hp -= damage;
    log(flavor);

    if (currentEnemy.hp <= 0) {
        log(`<span style="color:#00ff99">\${currentEnemy.name} submits completely!</span>`);
        player.reputation += 15;
        setTimeout(() => {
            log("You move deeper into the club...");
            gameState = "exploring";
            currentEnemy = null;
            renderButtons();
        }, 1800);
    } else {
        // Enemy attacks back
        setTimeout(() => {
            const enemyDmg = currentEnemy.lustDamage + Math.floor(Math.random()*7);
            player.lust = Math.max(0, player.lust - enemyDmg);
            log(`<span style="color:#ff6666">\${currentEnemy.name} makes Barry throb for \${enemyDmg} Lust!</span>`);
            
            if (player.lust <= 0) {
                log("<span style='color:red; font-size:18px'>Barry blows his load too early and blacks out...</span>");
                setTimeout(resetGame, 2500);
            } else {
                renderButtons();
            }
        }, 800);
    }

    updateStats();
    if (currentEnemy && currentEnemy.hp > 0) renderButtons();
}

function renderButtons() {
    buttonsEl.innerHTML = '';

    if (gameState === "exploring") {
        const btn = document.createElement('button');
        btn.textContent = "🔥 Enter the Backroom (Find Trouble)";
        btn.onclick = startCombat;
        buttonsEl.appendChild(btn);
    } 
    else if (gameState === "combat" && currentEnemy) {
        const btn1 = document.createElement('button');
        btn1.textContent = "💪 Pound Them";
        btn1.onclick = () => playerAttack("pound");
        buttonsEl.appendChild(btn1);

        const btn2 = document.createElement('button');
        btn2.textContent = "😏 Tease & Dominate";
        btn2.onclick = () => playerAttack("tease");
        buttonsEl.appendChild(btn2);

        const btn3 = document.createElement('button');
        btn3.textContent = "🐻 SHOW NO MERCY (Ultimate)";
        btn3.style.background = "#ff00ff";
        btn3.onclick = () => playerAttack("finish");
        buttonsEl.appendChild(btn3);
    }
}

function resetGame() {
    player = {
        name: "Barry",
        lust: 100,
        stamina: 80,
        strength: 15,
        charisma: 12,
        reputation: player.reputation,
        loadCount: player.loadCount
    };
    currentEnemy = null;
    gameState = "exploring";
    logEl.innerHTML = "<div><strong>Welcome back, stud. Ready to wreck some holes?</strong></div>";
    updateStats();
    renderButtons();
}

// Initialize
log("<strong>Barry the Bear has entered the underground club...</strong>");
log("Your goal: Dominate everyone. Show. No. Mercy.");
updateStats();
drawBarry();
renderButtons();

// Simple idle animation
setInterval(() => {
    ctx.clearRect(0, 0, canvas.width, canvas.height);
    drawBarry();
    if (currentEnemy) drawEnemy();
}, 200);

</script>
</body>
</html>

Game Source: Barry: Show No Mercy

Creator: PixelKoala12

Libraries: none

Complexity: complex (236 lines, 7.8 KB)

The full source code is displayed above on this page.

Remix Instructions

To remix this game, copy the source code above and modify it. Add a ARCADELAB header at the top with "remix_of: barry-show-no-mercy-pixelkoala12" to link back to the original. Then publish at arcadelab.ai/publish.