Bloco da Sorte — Game Design Document (GDD)
Versão: 1.0 Data: 2026-04-03 Mercado: Paraná, Brasil (Regulação Lottopar) Referência Global: Sweet Bonanza (Pragmatic Play) / Aloha! Cluster Pays (NetEnt)
1. Identificação do Jogo
| Campo | Valor |
|---|---|
| Nome do Jogo | Bloco da Sorte |
| Código Interno | PROJETO_12 |
| Tipo de Slot | Cluster Pays / Grid Slot |
| Grid | 7x7 (49 posições) |
| Aposta Fixa | 20 créditos |
| Tipo de Pagamento | Agrupamentos conectados (5+) |
| RTP Alvo | 90% (Rua) / 94% (Standard) / 97% (VIP) |
| Volatilidade | Baixa (Base) / Altíssima (Bônus) |
| Hit Frequency | 38% (Alta) |
| Jackpot Progressivo | Não |
2. Tema e Identidade Visual
2.1 Narrativa Temática
Bloco da Sorte celebra a alegria explosiva do Carnaval de Rua. A mecânica de Cluster Pays (agrupar símbolos adjacentes) replica a experiência satisfatória de jogos mobile como Candy Crush, mas em um ambiente de Carnaval com cores, confete e sons de bateria.
O objetivo é manter o jogador em "transe hipnótica" — girando constantemente mesmo que ganhe pequenas quantias, na esperança de acertar a "Bomba de Confete" 100x durante o bônus.
2.2 Paleta de Cores
- Primária: Vermelho Carnaval (#FF0040), Amarelo Ouro (#FFD700), Verde Neon (#00FF00)
- Secundária: Azul Royal (#4169E1), Laranja Quente (#FF4500)
- Fundo: Gradiente animado de cores quentes com confete caindo lentamente
2.3 Símbolos Temáticos
- Rei Momo (Top): Rei do Carnaval com coroa dourada — símbolo premium
- Rainha da Bateria: Mulher com fantasia brilhante — símbolo alto
- Tambor / Surdo: Instrumento de bateria — símbolo médio
- Pandeiro: Instrumento pequeno — símbolo médio
- Máscara Dourada: Máscara de festa — símbolo baixo
- Máscara Azul/Verde: Máscaras coloridas — símbolos baixos (lixo)
- Carro Alegórico (Scatter): Ativa Free Spins quando 4 ou mais aparecem
- Bomba de Confete: Símbolo especial do bônus com multiplicadores aleatórios
2.4 Animações Principais
- Cluster Explosion: Símbolos conectados piscam, depois explodem em confete
- Cascata: Símbolos caem como chuva, com som de "pop" satisfatório
- Bomba Caindo: Efeito de câmera lenta quando Bomba de Confete cai
- Bomba Disparando: Raio de luz conecta bomba ao contador de dinheiro, multiplicando valor
3. Estrutura Mecânica
3.1 Layout e Configuração
``` ┌────┬────┬────┬────┬────┬────┬────┐ │ S1 │ S2 │ S3 │ S4 │ S5 │ S6 │ S7 │ ├────┼────┼────┼────┼────┼────┼────┤ │ S8 │ S9 │ │ │ │ │ │ ├────┼────┼────┼────┼────┼────┼────┤ │ │ │ │ │ │ │ │ ├────┼────┼────┼────┼────┼────┼────┤ │ │ │ │ │ │ │ │ ├────┼────┼────┼────┼────┼────┼────┤ │ │ │ │ │ │ │ │ ├────┼────┼────┼────┼────┼────┼────┤ │ │ │ │ │ │ │ │ ├────┼────┼────┼────┼────┼────┼────┤ │ │ │ │ │ │ │ │ └────┴────┴────┴────┴────┴────┴────┘
Grid: 7 Colunas x 7 Linhas = 49 Células ```
Coordenadas: (coluna, linha) onde (0,0) é topo-esquerdo.
3.2 Condição de Vitória
Cluster: 5 ou mais símbolos idênticos conectados horizontal ou verticalmente (não diagonal).
Não Contam: - Conectados apenas na diagonal - Menos de 5 símbolos - Símbolos diferentes
Exemplo Vitorioso:
[R] [R] [R] [ ] [ ] ← Pandeiro (5 symbols) = VITÓRIA
[R] [ ] [ ] [ ] [ ]
Exemplo Não Vitorioso:
[P] [ ] [P] [ ] [ ] ← Pandeiros NÃO conectados
[ ] [P] [ ] [ ] [ ]
3.3 Mecanismo de Cascata (Tumble)
Quando um cluster é vitorioso:
- Pausa 0.3s: Cluster pisca 3x para confirmar ao jogador
- Explosão: Cluster desaparece em partículas de confete
- Queda: Símbolos acima caem (gravity)
- Entrada: Novos símbolos caem do topo
- Verificação: Sistema verifica se há nova vitória
- Repetição: Se há vitória, volta ao passo 1; se não, termina
Multiplicador de Cascata: (não se aplica em base, apenas em bônus)
4. Tabela de Símbolos e Paytable
4.1 Paytable Completo (em % da aposta)
| Símbolo | 15+ | 11-14 | 9-10 | 7-8 | 5-6 | Função |
|---|---|---|---|---|---|---|
| Rei Momo | 500% | 250% | 100% | 50% | 20% | Premium. Raro. Max Win potencial. |
| Rainha | 200% | 100% | 50% | 25% | 15% | Alto. Efeito feminino (marketing). |
| Tambor | 100% | 50% | 25% | 15% | 10% | Médio. Sustém cascatas. |
| Pandeiro | 50% | 25% | 12% | 8% | 5% | Médio. Frequente. |
| Máscara Ouro | 25% | 12% | 6% | 4% | 2% | Baixo. Lixo 1. |
| Máscara Azul | 10% | 5% | 2% | 1% | 0.5% | Muito Baixo. Lixo 2. |
| Máscara Verde | 10% | 5% | 2% | 1% | 0.5% | Muito Baixo. Lixo 3. |
| Carro Alegórico (Scatter) | — | — | — | — | — | 4+ dispara Free Spins (não precisa conectar) |
| Bomba de Confete | — | — | — | — | — | Multiplicador do bônus (2x, 5x, 10x, 50x, 100x) |
4.2 Notas Importantes
-
Escalabilidade Não-Linear: Um cluster de 15 não paga 3x um cluster de 5. O sistema está escalado para ser exponencial até o topo.
-
Piso de Ganho: Clusters de 5-6 geralmente pagam MENOS que a aposta inicial (0.5x a 1x), mantendo saldo vivo mas criando antecipação.
-
Bomba (Bônus Exclusivo): Não aparece no jogo base. Exclusive to Free Spins. Multiplicadores: 2x, 5x, 10x, 50x, 100x com distribuição própria.
5. Mecanismo de Bônus: "Bomba de Confete"
5.1 Gatilho
- Trigger: 4 ou mais Carros Alegóricos (Scatters) em qualquer lugar da grade
- Não precisa conectar: Diferente de clusters, Scatters não precisam estar adjacentes
- Quantidade: 10 Giros Grátis iniciais
5.2 Mecânica das Bombas de Multiplicador
Durante Free Spins, um novo símbolo aparece: Bomba de Confete
Características: - Aparece aleatoriamente durante o bônus - Contém um multiplicador fixo (2x, 5x, 10x, 50x, ou 100x) - NÃO explode durante cascatas — permanece na grade até o final do giro
Cálculo Final do Giro com Bombas:
Prêmio Final = (Soma de Clusters Deste Giro) × (Soma de Multiplicadores das Bombas)
Exemplo: - Clusters ganham: R$ 5,00 - Cascata! Novos clusters ganham: R$ 15,00 - Total de clusters: R$ 20,00 - Bombas na tela: 10x + 5x = 15x de multiplicador - Prêmio Final: R$ 20,00 × 15 = R$ 300,00
5.3 Retrigger
- Cada novo scatter que cair durante o bônus = +3 giros grátis
- Não há limite teórico de retrigger
5.4 Segurança do Multiplicador
Embora teoricamente ilimitado, o multiplicador é controlado internamente: - RTP 90%: Multiplicador máx observado 10x (100x nunca aparece) - RTP 94%: Multiplicador máx observado 50x (100x raro) - RTP 97%: Multiplicador máx observado 100x (frequência: 1 a cada 20 bônus)
6. Análise de RTP e Volatilidade
6.1 Curva de Volatilidade
| RTP | Hit Frequency | Volatilidade (Base) | Volatilidade (Bônus) |
|---|---|---|---|
| 90% | 36% | Baixa | Altíssima |
| 94% | 38% | Baixa | Altíssima |
| 97% | 40% | Baixa | Altíssima |
Interpretação: - Base: Jogador ganha pequenas quantias 35-40% do tempo, mantendo saldo vivo - Bônus: Risco/recompensa extremo. Pode ganhar 0 ou 500x+ em um bônus
6.2 Diferenciadores por RTP
RTP 90% (Rua): - Clusters de 5-6 mais frequentes - Bombas de Multiplicador limitadas a 10x máx - Bônus triggerado raramente (1 em 200 spins)
RTP 94% (Standard): - Clusters equilibrados entre 5 e 10 - Bombas até 50x aparecem ocasionalmente - Bônus triggerado 1 em 150 spins
RTP 97% (VIP): - Clusters maiores (10+) mais comuns - Bombas de 100x aparecem 1 em cada 20 bônus - Bônus triggerado 1 em 120 spins
7. Integração com Pool Finito (Lottopar)
7.1 Modelo de Pré-Determinação
Como um cluster é "forjado" para pagar um valor específico?
Processo (Reverse Cluster Builder):
- Entrada: "Prêmio Final = R$ 60,00"
- Decomposição: Motor quebra em clusters menores
- Cluster 1: 8 Pandeiros = R$ 12,00
- Cluster 2: 6 Reis Momos = R$ 48,00
- Construção Visual:
- Posiciona 8 Pandeiros adjacentes na grade
- Posiciona 6 Reis Momos adjacentes em outro local
- Bloqueadores: Preenche resto com símbolos que NUNCA conectarão (padrão checkerboard)
- Validação: Verifica que nenhuma outra vitória acidental ocorre
8. Algoritmo Flood Fill (Detecção de Clusters)
8.1 Pseudocódigo
```python def find_all_winning_clusters(grid): """ Usa Flood Fill para encontrar TODOS os clusters que têm 5+ símbolos conectados """ visited = [[False] * 7 for _ in range(7)] winning_clusters = []
for row in range(7):
for col in range(7):
if not visited[row][col]:
cluster = flood_fill(row, col, grid, visited)
if len(cluster) >= 5:
symbol_id = grid[row][col]
payout = calculate_cluster_payout(symbol_id, len(cluster))
winning_clusters.append({
"symbol": symbol_id,
"cells": cluster,
"count": len(cluster),
"payout": payout
})
return winning_clusters
def flood_fill(row, col, grid, visited): """ Flood Fill clássico (algoritmo Paint Bucket) Conecta apenas horizontal/vertical (não diagonal) """ if row < 0 or row >= 7 or col < 0 or col >= 7: return [] if visited[row][col]: return []
symbol = grid[row][col]
if symbol == EMPTY or symbol == SCATTER:
return []
visited[row][col] = True
cluster = [(row, col)]
# Verificar 4 vizinhos (cima, baixo, esquerda, direita)
neighbors = [
(row - 1, col), # CIMA
(row + 1, col), # BAIXO
(row, col - 1), # ESQUERDA
(row, col + 1) # DIREITA
]
for nr, nc in neighbors:
neighbor_cluster = flood_fill(nr, nc, grid, visited)
cluster.extend(neighbor_cluster)
return cluster
```
8.2 Complexidade Computacional
- Tempo: O(49) = O(1) pois grid é sempre 7x7
- Espaço: O(49) para matriz visited
- Bottleneck: Detecção de "Kill Screen" (garantir nenhuma vitória acidental)
- Solução: Pré-calcular no servidor, não no cliente
9. Estrutura do Phantom Buffer
9.1 Dimensionamento
Viewport (visível): 7x7 = 49 células
Phantom Buffer (acima): 7x14 = 98 células
Total na memória: 7x21 = 147 células
Por quê 14 linhas? Em uma super cascata (ex: 20 símbolos explodem), quase metade da tela desaparece. Se houver uma segunda cascata, você precisa de muitos símbolos prontos para não travar animação.
9.2 Estratégia de Preenchimento
```python def build_phantom_buffer(target_prize, expected_cascades): """ Pré-constrói conteúdo do buffer para garantir que cascatas renderizarão o prêmio correto """ phantom = [[EMPTY] * 7 for _ in range(14)] remaining_prize = target_prize
for cascade_idx in range(expected_cascades):
prize_this_cascade = remaining_prize / (expected_cascades - cascade_idx)
# Selecionar símbolos que renderizam este prêmio
symbols = select_symbols_for_prize(prize_this_cascade)
# Preencher linha do buffer
for col in range(7):
phantom[cascade_idx][col] = symbols[col]
remaining_prize -= prize_this_cascade
# Preencher resto com lixo (non-winning)
for row in range(expected_cascades, 14):
for col in range(7):
phantom[row][col] = random_non_connecting_symbol()
return phantom
```
10. Máximo Potencial de Ganho (Max Win)
10.1 Cálculo Teórico
Max Win = Maior Cluster Possível × Max Multiplicador
Max Win = (Rei Momo 49 símbolos × 500%) × (100x Bomba)
Max Win = 245x × 100x = 24.500x de aposta
10.2 Caps Lottopar (Reais)
| RTP | Cap por Aposta |
|---|---|
| 90% | R$ 50.000 |
| 94% | R$ 100.000 |
| 97% | R$ 250.000 |
Assim, em uma aposta de R$ 1,00: - RTP 90%: Máx observable R$ 50.000 - RTP 94%: Máx observable R$ 100.000 - RTP 97%: Máx observable R$ 250.000
11. Simulação Financeira (30 Dias / 1 Máquina)
11.1 Parâmetros
| Parâmetro | Valor |
|---|---|
| Aposta Média | R$ 20,00 (20 créditos × R$ 1,00) |
| Giros por Hora | 80 giros (mais rápido que Megaways) |
| Horas Diárias | 12 horas |
| Dias no Mês | 30 dias |
11.2 Projeção
``` Giros Mensais = 80 × 12 × 30 = 28.800 giros Coin-In = 28.800 × R$ 20 = R$ 576.000 GGR (6% esperado) = R$ 34.560
Hit Frequency: 38% × 28.800 = 10.944 giros vencedores Média de ganho por vitória: R$ 34.560 / 10.944 = R$ 3,16 ```
12. Design de Som (Soundscape)
12.1 Música Ambiente
- Base: Ritmo de bateria de samba, batida steady (120 BPM)
- Bônus: Acelera para 140 BPM, adiciona sopros (trombeta, trompa)
12.2 SFX Detalhados
| Evento | Som | Descrição |
|---|---|---|
| Giro Base | Rolos caindo | "Whoosh" suave |
| Cluster Encontrado | Apito duplo | Confirma ao jogador |
| Cluster Explode | "Pop" agudo | Tipo estourar bolha plástico |
| Cascata | Série de "pops" | Cada símbolo que cai, um pop |
| Bomba Caindo | Sino musical | Nota grave (C3) |
| Bomba Disparando | Zap futurista | Efeito de laser suave |
| Big Win | Fanfarra + sirene | Celebração |
| Scatter | Ding-ding-ding | Sino de caixa |
12.3 Dinâmica de Volume
- Base: -15dB
- Bônus: -9dB
- Big Win: 0dB (Loudness máximo)
13. Conformidade Lottopar
13.1 Checklist de Compliance
- [x] RTP entre 90% e 97%
- [x] Hit Frequency >30% (mantém jogador engajado)
- [x] Volatilidade indicada claramente
- [x] Pool Finito integration completa
- [x] Seed aleatória por giro
- [x] Max Win capped
- [x] Flood Fill algorithm testado
13.2 Documentação Obrigatória
- GSF (Game Setup File) com símbolos e paytable
- Math Report assinado por auditor
- RTP Curves por denominação
- Theoretical Hold% por faixa de aposta
- Bloom Report (bonus payout frequency)
14. Diferencial de Marketing
14.1 Por que "Bloco da Sorte" vai vender
- Visual Adictivo: Cores vibrantes, explosões constantes = dopamine hit
- Pacing Rápido: 80 giros/hora vs 60 em Megaways = mais ação
- Familiar Mechanic: Jogadores de celular (Candy Crush) já entendem cluster
- Hit Frequency Alta: 38% significa ganhar algo a cada 2-3 giros
- Bomba 100x: Vídeo viral em redes sociais (1 a cada 20 bônus em RTP 97%)
14.2 KPIs Esperados
- Session Length: 45-60 min (vs 30 min em slots tradicionais)
- Repeat Rate: 72% (jogador volta amanhã)
- Retention Day 7: 35%
Glossário de Termos
| Termo | Definição |
|---|---|
| Cluster | 5+ símbolos idênticos conectados horizontal/vertical |
| Tumble | Cascata de quedas e novos símbolos |
| Scatter | Símbolo que não precisa conectar para ativar bônus |
| Bomba | Multiplicador especial do bônus |
| Flood Fill | Algoritmo que detecta clusters |
| Phantom Buffer | Área de memória com símbolos de reposição |
| Kill Screen | Validação de que não há vitória acidental |
| Max Win | Prêmio máximo teórico |
Documentação Completa Assinada Documento Versão 1.0 — Apto para Desenvolvimento Data: 2026-04-03