casino-math-balancer

casino-math-balancer

Calculate and balance casino game mathematics including odds, RTP, house edge, variance, and payout tables. Use when designing betting mechanics, balancing meta-pot systems, creating probability tables, validating game economy math, or ensuring fair-but-profitable game mechanics. Triggers on requests involving gambling math, odds calculations, payout balancing, or RTP optimization.

0estrelas
0forks
Atualizado 1/22/2026
SKILL.md
readonlyread-only
name
casino-math-balancer
description

Calculate and balance casino game mathematics including odds, RTP, house edge, variance, and payout tables. Use when designing betting mechanics, balancing meta-pot systems, creating probability tables, validating game economy math, or ensuring fair-but-profitable game mechanics. Triggers on requests involving gambling math, odds calculations, payout balancing, or RTP optimization.

Casino Math Balancer

Mathematical framework for designing balanced, engaging betting mechanics with appropriate risk/reward curves.

Core Metrics

Return to Player (RTP)

RTP = (Total Amount Returned to Players / Total Amount Wagered) × 100

Target ranges by game type:
- Casual/Social: 95-98% RTP (player-friendly)
- Balanced: 92-95% RTP (sustainable)  
- High-stakes: 88-92% RTP (house-favorable)

House Edge

House Edge = 100% - RTP

Example:
RTP = 96% → House Edge = 4%
For every 100 coins wagered, house keeps ~4 coins long-term

Variance Classification

Variance Hit Frequency Max Win Experience
Low >40% 2-10x Steady, small wins
Medium 20-40% 10-50x Balanced excitement
High <20% 50-500x Rare big wins

Meta-Pot System Math (Farming in Purria)

Pot Categories

Pot Probability Range Suggested RTP Notes
Water 45-65% success 96% Most stable
Sun 35-55% success 94% Medium variance
Pest 25-45% success 92% Higher risk/reward
Growth 15-35% success 90% Jackpot-style

Bet Level Calculations

interface BetCalculation {
  level: 'fold' | 'call' | 'all_in';
  amount: number;
  multiplier: number;
  potentialWin: number;
  expectedValue: number;
}

function calculateBet(
  coins: number, 
  level: BetLevel, 
  potSuccess: number,
  multiplier: number
): BetCalculation {
  const amounts = {
    fold: 0,
    call: Math.floor(coins * 0.1),
    all_in: coins
  };
  
  const amount = amounts[level];
  const potentialWin = Math.floor(amount * multiplier);
  const expectedValue = (potSuccess * potentialWin) - ((1 - potSuccess) * amount);
  
  return { level, amount, multiplier, potentialWin, expectedValue };
}

Multiplier Balance Formula

Multiplier = (1 / Win_Probability) × RTP_Target

Example for 40% win rate at 94% RTP:
Multiplier = (1 / 0.40) × 0.94 = 2.35x

Payout table:
- Call bet (10%): Win = 2.35x stake
- All-in: Win = 2.35x stake (same multiplier, higher stakes)

Probability Tables

Standard Template

| Outcome | Probability | Payout | Contribution to RTP |
|---------|-------------|--------|---------------------|
| Win     | P%          | Mx     | P × M              |
| Push    | Q%          | 1x     | Q × 1              |
| Lose    | R%          | 0x     | 0                  |
| TOTAL   | 100%        | -      | RTP%               |

Example: Meta-Pot Resolution

| Pot State | Probability | Payout | RTP Contribution |
|-----------|-------------|--------|------------------|
| ≥80%      | 15%         | 3.0x   | 45%             |
| 50-79%    | 35%         | 1.8x   | 63%             |
| 20-49%    | 30%         | 0.5x   | 15%             |
| <20%      | 20%         | 0x     | 0%              |
| TOTAL     | 100%        | -      | 123% → adjust   |

Adjustment needed: Scale payouts by 0.94/1.23 = 0.764
New payouts: 2.29x, 1.38x, 0.38x, 0x → RTP ≈ 94%

Balancing Levers

Tuning Parameters

Lever Effect on Players Effect on Revenue
↑ Base win rate More engagement ↓ House edge
↑ Max multiplier Higher excitement Variance risk
↑ Tier thresholds Harder to win big ↑ House edge
↓ Bet minimums More accessibility ↓ Revenue per bet

Session Economy

Target metrics per session:
- Average session: 10-15 bets
- Net outcome: -5% to +20% of starting bankroll
- "Near miss" rate: 15-20% (engagement driver)
- Big win frequency: 1 in 20-50 sessions

Simulation Validation

Monte Carlo Template

function simulateSession(
  startingCoins: number,
  betsPerSession: number,
  betSize: number,
  winProb: number,
  winMultiplier: number
): SimulationResult {
  let coins = startingCoins;
  let wins = 0;
  
  for (let i = 0; i < betsPerSession; i++) {
    coins -= betSize;
    if (Math.random() < winProb) {
      coins += betSize * winMultiplier;
      wins++;
    }
  }
  
  return {
    finalCoins: coins,
    netChange: coins - startingCoins,
    winRate: wins / betsPerSession,
    rtp: (coins + (betsPerSession * betSize) - startingCoins) / (betsPerSession * betSize)
  };
}

// Run 10,000 sessions to validate RTP converges to target

Red Flags Checklist

Before shipping any betting mechanic:

  • [ ] RTP calculated and within target range
  • [ ] Variance classified and appropriate for audience
  • [ ] No exploitable patterns in RNG
  • [ ] Maximum loss per session capped
  • [ ] Win streaks don't exceed 5 without cooldown
  • [ ] Loss streaks trigger pity mechanics
  • [ ] Economy doesn't inflate over time
  • [ ] Math validated via simulation (10k+ runs)

Legal Considerations

For social casino / non-gambling:

  • No real-money conversion
  • Virtual currency clearly labeled
  • Odds disclosure recommended
  • Age-gating in place
  • "For entertainment only" messaging

You Might Also Like

Related Skills

summarize

summarize

179Kresearch

Summarize or extract text/transcripts from URLs, podcasts, and local files (great fallback for “transcribe this YouTube/video”).

openclaw avataropenclaw
Obter
prompt-lookup

prompt-lookup

143Kresearch

Activates when the user asks about AI prompts, needs prompt templates, wants to search for prompts, or mentions prompts.chat. Use for discovering, retrieving, and improving prompts.

skill-lookup

skill-lookup

143Kresearch

Activates when the user asks about Agent Skills, wants to find reusable AI capabilities, needs to install skills, or mentions skills for Claude. Use for discovering, retrieving, and installing skills.

sherpa-onnx-tts

sherpa-onnx-tts

88Kresearch

Local text-to-speech via sherpa-onnx (offline, no cloud)

moltbot avatarmoltbot
Obter
openai-whisper

openai-whisper

87Kresearch

Local speech-to-text with the Whisper CLI (no API key).

moltbot avatarmoltbot
Obter
seo-review

seo-review

66Kresearch

Perform a focused SEO audit on JavaScript concept pages to maximize search visibility, featured snippet optimization, and ranking potential

leonardomso avatarleonardomso
Obter