Jogo #04

Faraó do Brasil

Volatilidade
Grid
RTP
90% / 94% / 97%

Game Design Document (GDD) - Faraó do Brasil

Projeto: 04 - Faraó do Brasil Versão: 1.0 Data: 2026-04-03 Mercado: Brasil (Paraná / Lottopar) Referência: Book of Ra (Novomatic) / Book of Dead (Play'n GO) Volatilidade: Extrema (Alta)


1. Visão Geral


2. Configuração Técnica

Aspecto Especificação
Reels 5x3
Linhas 10 Fixas
Aposta Base 10 créditos (R$ 0,10 - R$ 10,00 por giro)
Velocidade 5 segundos/spin (ritmo solene)
Bonus Frequency 1/180 spins
Volatilidade Extrema

3. Tabela de Símbolos

Símbolo 5x 4x 3x 2x Função
Faraó (Top) 5000x 1000x 100x 10x Símbolo máximo; Expansível em bônus
Livro (Scatter/Wild) 200x 20x 2x Abre bônus + substitui (em bônus)
Escaravelho 750x 100x 30x 5x Símbolo de alta volatilidade
Estátua 500x 75x 20x 3x Símbolo médio-alto
A / K 150x 40x 5x Cartas altas
Q / J / 10 100x 25x 5x Cartas baixas

4. Bônus: Free Spins com Símbolo Expansivo

4.1 Ativação

4.2 A Seleção do Símbolo Especial

Antes dos 10 giros, o jogo sorteia qual símbolo irá expandir durante o bônus.

Tabela de Probabilidade de Seleção (RTP 94%):

Símbolo Sorteado Frequência Potencial de Ganho
Faraó 2,5% 5.000x (5 Faraós em 10 linhas)
Escaravelho 9,0% 750x
Estátua 15,0% 500x
A / K 33,0% 150x
Q / J / 10 40,5% 100x

RTP 90% vs 97%: - RTP 90%: Faraó=1,5%, Q/J/10=55% - RTP 97%: Faraó=4,5%, Q/J/10=45%

4.3 Mecânica de Expansão

Se o símbolo sorteado aparecer em quantidade suficiente: - Símbolos Altos: 2+ aparecem → expandem verticamente toda a bobina - Símbolos Baixos: 3+ aparecem → expandem

Quando um símbolo expande, paga em Scatter Style (qualquer posição), multiplicado pelas 10 linhas.

Exemplo: Símbolo Sorteado: K (45x a aposta) Aparição: K em rolos 1, 3, 5 Expansão: Rolos inteiros preenchidos com K Cálculo: 10 linhas × 45x = 450x a aposta (ganho do bônus)


5. Retrigger

Efeito Cascata: - Se Faraó é sorteado E o jogador consegue retriggers múltiplos - Pode acumular 40+ giros com multiplicador 5.000x - Resultado: Prêmios de 10.000x+ (máximo teórico)


6. Distribuição de RTP (94% Padrão)

Componente %
Jogo Base (1-100x) 52%
Free Spins Bônus 42%
Overhead 6%

7. Reel Stops (Configuração 10 Linhas)

Layout Estratégico (Extrema Alta Volatilidade)

Rolo Total Livro Faraó Símbolos Altos Blanks
1 32 1 1 2 28
2 32 1 1 2 28
3 32 1 1 2 28
4 32 1 1 2 28
5 32 1 1 2 28

Near Miss Engineering


8. Ciclo de Volatilidade (Hit Frequency)

``` Jogo Base: - 18,2% de hit frequency (82% dos giros pagam ZERO) - 70% do RTP concentrado em prêmios acima de 20x

Resultado: - Jogador experimenta "seca" longa (10-20 giros sem ganho) - Quando bônus sai, expectativa é ALTA para prêmio massivo - Bônus com Faraó + retriggers = satisfação máxima ```


9. Simulação Financeira (30 dias, RTP 94%)

Métrica Cálculo Resultado
Aposta Média 10 créditos R$ 1,00
Giros Diários 7.500
Coin-In Diário 7.500 × R$ 1,00 R$ 7.500,00
Coin-In Mensal R$ 7.500 × 30 R$ 225.000,00
GGR (6%) 6% R$ 13.500,00

Nota: Coin-In é menor que jogos de média volatilidade, mas retenção é altíssima.


10. Classificação de Volatilidade


11. Design de Áudio

Evento Som
Giro Normal Sino solene de templo egípcio; tom grave
3º Livro (Gatilho) Harpa celestial; porta de tumba abrindo
Escolha do Símbolo Suspense com flautas egípcias; batida de tímpano
Expansão Som de pedra se movendo; "glitch" visual
5.000x (Faraó Full) Orquestra épica + aplausos
Retrigger "Whoosh" + música acelerada

12. Compliance Lottopar


13. Posicionamento Comercial

Ideal para: - Clubes de jogadores (VIP) - Centros de loteria especializados - Bares premium/high-end - Público adulto 40+ anos

NÃO Recomendado: - Estabelecimentos de entrada (jogo muito volátil) - Público casual que quer ganhos frequentes


Status: Pronto para TDD Versão: 1.0

Technical Design Document (TDD) - Faraó do Brasil

Projeto: 04 - Faraó do Brasil Versão: 1.0 Data: 2026-04-03


1. Expanding Symbol Engine

```csharp public class ExpandingSymbolEngine { private Symbol selectedExpansionSymbol; private int[] reelStops;

public void TriggerFreeSpins(int[] triggerStops) {
    // 1. Seleciona símbolo expansivo
    selectedExpansionSymbol = SelectExpansionSymbol();
    ShowSymbolSelectionAnimation(selectedExpansionSymbol);

    // 2. Inicia 10 Giros Grátis com este símbolo fixo
    for (int i = 0; i < 10; i++) {
        ExecuteFreeSpinWithExpansion();
    }
}

private Symbol SelectExpansionSymbol() {
    CoinFlip rand = new CoinFlip();
    double roll = rand.NextDouble();

    // RTP 94% weights:
    if (roll < 0.025) return Symbol.Farao;        // 2,5%
    if (roll < 0.115) return Symbol.Escaravelho;  // 9%
    if (roll < 0.265) return Symbol.Estátua;      // 15%
    if (roll < 0.595) return Symbol.AK;           // 33%
    return Symbol.QJ10;                            // 40,5%
}

public void ExecuteFreeSpinWithExpansion() {
    // 1. Faz spin normal
    Outcome freeSpinOutcome = PoolEngine.RequestFreeSpin();
    int[] stops = OutcomeBuilder.GetReelStops(freeSpinOutcome.Prize);

    // 2. Conta ocorrências do símbolo especial
    int symbolCount = CountSymbol(stops, selectedExpansionSymbol);

    if (symbolCount >= GetMinimumForExpansion(selectedExpansionSymbol)) {
        // 3. Executa expansão
        ExpandSymbols(selectedExpansionSymbol);
        int expandedWin = CalculateExpandedPayment(symbolCount);

        // 4. Verifica retrigger
        if (HasRetrigger(stops)) {
            freeSpinsRemaining += 10;
            PlayRetriggerAnimation();
        }
    }
}

private int GetMinimumForExpansion(Symbol symbol) {
    // Altos: 2+, Baixos: 3+
    return (symbol == Symbol.Farao || symbol == Symbol.Escaravelho) ? 2 : 3;
}

private void ExpandSymbols(Symbol symbol) {
    // Desenha o símbolo preenchendo inteiro a bobina
    for (int reel = 0; reel < 5; reel++) {
        if (GetReelSymbol(reelStops, reel) == symbol) {
            VisualEngine.ExpandReelSymbol(reel, symbol);
        }
    }
}

private int CalculateExpandedPayment(int symbolCount) {
    // 10 linhas × valor do símbolo
    int basePayment = GetSymbolPayment(selectedExpansionSymbol);
    return 10 * basePayment;
}

} ```


2. Outcome Builder para 10 Linhas

```csharp public class OutcomeBuilder10Lines {

public int[] BuildExpandingOutcome(int targetPrize, VirtualReels reels) {
    // Encontra paradas que permitem expansão para atingir targetPrize

    for (int r1 = 0; r1 < reels[0].Count; r1++) {
        for (int r2 = 0; r2 < reels[1].Count; r2++) {
            for (int r3 = 0; r3 < reels[2].Count; r3++) {
                for (int r4 = 0; r4 < reels[3].Count; r4++) {
                    for (int r5 = 0; r5 < reels[4].Count; r5++) {
                        int normalWin = Calculate10LinesPay(r1, r2, r3, r4, r5);

                        // Verifica se com expansão atinge alvo
                        int expandedWin = SimulateExpansion(
                            r1, r2, r3, r4, r5,
                            selectedExpansionSymbol
                        );

                        if (expandedWin == targetPrize) {
                            return new[] { r1, r2, r3, r4, r5 };
                        }
                    }
                }
            }
        }
    }
    return null;  // Fallback
}

private int Calculate10LinesPay(int r1, int r2, int r3, int r4, int r5) {
    int totalWin = 0;

    // Percorre as 10 linhas
    for (int line = 0; line < 10; line++) {
        int[] linePositions = GetLinePositions(line);
        Symbol s1 = reels[0][r1].GetSymbol(linePositions[0]);
        Symbol s2 = reels[1][r2].GetSymbol(linePositions[1]);
        // ... etc

        if (IsWinningLine(s1, s2, s3, s4, s5)) {
            totalWin += GetLinePayment(s1, s2, s3, s4, s5);
        }
    }

    return totalWin;
}

private int SimulateExpansion(int r1, int r2, int r3, int r4, int r5, Symbol expSymbol) {
    // Simula pagamento COM expansão
    int baseWin = Calculate10LinesPay(r1, r2, r3, r4, r5);
    int expandedWin = baseWin;

    // Adiciona ganho da expansão
    int expCount = CountSymbolInStops(r1, r2, r3, r4, r5, expSymbol);
    if (expCount >= GetMinimum(expSymbol)) {
        expandedWin = 10 * GetSymbolValue(expSymbol);
    }

    return expandedWin;
}

} ```


3. Reel Strips Configuration (10 Linhas)

Paradas Padrão (RTP 94%): ``` Rolo 1 (32 paradas):

[8-31]: Cartas baixas + Blanks ```

RTP Adjustment: - RTP 90%: Reduz Livro para 0 ou 1 por rolo; Faraó apenas em Rolo 1 - RTP 97%: Aumenta Livro para 2 por rolo; Faraó em rolos 1 e 5


4. Retrigger Probability Engine

```csharp public class RetriggerEngine { private string rtpMode;

public bool CheckRetrigger(int[] reelStops) {
    int scatterCount = CountScatters(reelStops);

    if (scatterCount >= 3) {
        double retriggerChance = rtpMode == "97" ? 0.0833 : 0.0454;
        return new Random().NextDouble() < retriggerChance;
    }
    return false;
}

// RTP 97%: 1/12 = 0.0833
// RTP 90%: 1/22 = 0.0454

} ```


5. Near Miss Strategy

csharp public void ApplyNearMissStrategy(VirtualReels reels, string rtpMode) { if (rtpMode == "97") { // Coloca Faraó logo depois de Livro para criar tensão for (int reel = 0; reel < 5; reel++) { for (int i = 0; i < reels[reel].Count; i++) { if (reels[reel][i] == Symbol.Livro) { // Próxima parada tem alta chance de Faraó if (i < reels[reel].Count - 1) { reels[reel][i + 1] = Symbol.Farao; } } } } } }


6. G2S Protocol (Free Spins)

Free Spin Request: json { "terminal_id": "000004", "parent_spin_id": "SP4_20260403_000004", "free_spin_number": 1, "selected_symbol": "Farao", "retrigger_count": 0 }

Response: json { "free_spin_id": "FS1_000004", "prize": 50000, // 5.000x a aposta "expansion_count": 5, // 5 Faraós na tela "retrigger": false, "final_win": 50000 }


7. High Volatility State Machine

```csharp enum VolatilityState { Dry, // Hit frequency baixa Tension, // 2-3 Livros visíveis Bonus, // Free Spins ativado Expansion, // Símbolo expandindo Triumph // Prêmio massivo entregue }

// Ciclo típico: Dry (15-20 giros) → Tension (2 giros) → Bonus → Triumph ```


8. Audio Sync for Expansion

```csharp public void PlayExpansionAudio(Symbol symbol) { AudioManager.PlayEffect("stone_movement.wav"); AudioManager.PlayEffect("temple_bell.wav", volume: 0.7);

if (symbol == Symbol.Farao) {
    AudioManager.PlayOrchestraStab();  // Épico
}

} ```


9. Testing Checklist


10. Performance & Limits

Métrica Limite
Free Spins Máximos 150 giros
Max Win 5.000x aposta
Retrigger Chain Até 10 retriggers consecutivos

Status: Pronto para Lab Testing Versão: 1.0

Prompts de Geração de Arte IA

Clique em qualquer prompt para copiar. Os prompts abaixo são otimizados para Midjourney v6, DALL-E 3, e Stable Diffusion.

🎨 Cenário Principal
Proporção: 16:9
Professional slot game art, Ancient Egypt meets Brazilian jungle, ultra-detailed environment, immersive 3D background, lush vegetation and natural elements, regal, ancient, mystical, cinematic lighting with golden hour sun rays, color palette: gold, turquoise, deep blue, depth of field creating focal point on game area, hyper-realistic textures, trending on ArtStation, Unreal Engine 5 quality, vibrant and saturated colors, --ar 21:9 --quality 2 --style raw
Dica: Use --no 'text, watermark, logo' para melhor resultado
🏷️ Logo/Título
Proporção: 16:9
Logo design for "Faraó do Brasil", ornate and elegant typography, bold letters with gold leaf embossing, luxurious gradient background transitioning from gold to turquoise, intricate decorative borders with Egyptian pharaoh motifs, 3D dimensional effect with shadow depth, cinematic lighting, professional branding, high contrast, designed for high-visibility gaming cabinet, --ar 16:9 --quality 2 --style raw
Dica: Use --no 'text, watermark, logo' para melhor resultado
🎰 Símbolo 1
Proporção: 1:1
Premium game symbol for slot machine, Egyptian pharaoh creature highly detailed, photorealistic rendering, vibrant colors emphasizing gold, turquoise, deep blue, centered composition with transparent background, dramatic lighting with golden highlights, intricate feather/fur textures, 3D depth, game-ready asset, --ar 1:1 --quality 2 --style raw
Dica: Use --no 'text, watermark, logo' para melhor resultado
🎰 Símbolo 2
Proporção: 1:1
Game symbol: pyramids, ornate design with gold, turquoise, deep blue color scheme, highly detailed intricate patterns, luxurious appearance, centered on clean background, dimensional shadow effect, professional slot machine graphics, golden accents, --ar 1:1 --quality 2 --style raw
Dica: Use --no 'text, watermark, logo' para melhor resultado
🎰 Símbolo 3
Proporção: 1:1
Collectible symbol: scarabs, sparkling crystal or gem-like appearance, gold and turquoise dominant colors, glowing effect with light rays, highly detailed with reflective surfaces, centered composition, professional gaming asset quality, --ar 1:1 --quality 2 --style raw
Dica: Use --no 'text, watermark, logo' para melhor resultado
🎰 Símbolo 4
Proporção: 1:1
Bonus trigger symbol, ankhs, animated energy radiating from center, multiple layers of glow effects in deep blue, ornate frame decoration, detailed fine art illustration, professional casino game quality, shimmering and ethereal, --ar 1:1 --quality 2 --style raw
Dica: Use --no 'text, watermark, logo' para melhor resultado
🎰 Símbolo 5
Proporção: 1:1
Premium scatter symbol, luxurious golden coin with hieroglyphics imagery, embossed surface detail, reflection and dimension, surrounded by floating particles and light, rich gold, turquoise, deep blue palette, high-end game graphics, professional quality, --ar 1:1 --quality 2 --style raw
Dica: Use --no 'text, watermark, logo' para melhor resultado
🎁 Tela de Bônus
Proporção: 16:9
Bonus round screen for slot game, explosive energy and celebration theme, multiple layers of special effects, gold, turquoise, deep blue dominant colors, dramatic lighting with particle effects, progress bars and multiplier counters visible, luxurious animation frames, cinematic composition, game-ready quality, professional casino graphics, --ar 16:9 --quality 2 --style raw
Dica: Use --no 'text, watermark, logo' para melhor resultado
🖥️ Mockup UI
Proporção: 16:9
Complete game UI mockup for slot machine cabinet, professional layout with reels center stage, gold, turquoise, deep blue theme throughout, game statistics visible (RTP, lines, bet), ornate frame decoration, luxury gaming interface, clear typography, buttons and controls well-positioned, premium aesthetic, high contrast readability, arcade cabinet quality, --ar 16:9 --quality 2 --style raw
Dica: Use --no 'text, watermark, logo' para melhor resultado
Tela de Carregamento
Proporção: 21:9
Splash art loading screen for slot game, dramatic cinematic scene featuring Egyptian pharaoh, intense regal, ancient, mystical atmosphere, gold, turquoise, deep blue color palette, volumetric lighting effects, large title text with "Faraó do Brasil", game studio logo placement, trending on gaming platforms, highly detailed and professionally rendered, advertisement-quality, --ar 21:9 --quality 2 --style raw
Dica: Use --no 'text, watermark, logo' para melhor resultado