Jogo #25

Princesa das Estrelas

Volatilidade
Ultra-Alta (80-90%)
Grid
RTP

25 - PRINCESA DAS ESTRELAS

Game Design Document (GDD)

Referência: Starlight Princess 1000 (Pragmatic Play) Gênero: Pay Anywhere / Tumble / Accumulator Status: Design Finalizado Data: 2026-04-03 Mercado: Brasil (Lottopar / Paraná)


1. IDENTIDADE E ATMOSFERA

Tema

Anime / Garota Mágica. Fantasia celestial com magia, transformações e poderes multiplicadores.

Personagem Principal

Princesa das Estrelas - Animação Spine 2D flutuando ao lado da grade. Reações emotivas: - Pisca ao ganho - Invoca multiplicadores (efeito mágico) - Dança em cascatas sucessivas

Paleta de Cores


2. DESIGN DE ÁUDIO

Evento Som Duração Estilo
Ambient Eurobeat acelerado Loop Sintetizador, batidas
Spin Tinido eletrônico 0.8s Futurista
Tumble Choque de cristais 0.6s Arpejo ascendente
Multiplicador Raio mágico 1s Zás! Energia
Cascata Sucessiva Glitch eletrônico 1.5s Aceleração progressiva
Dublagem PT-BR "Multiplicador Mágico!" 1.5s Voz feminina jovem
Jackpot 1000x Orquestra completa 4s Triunfo épico

3. MECÂNICA CORE

Grade e Sistema

Aposta


4. TABELA DE SÍMBOLOS

Multiplicadores (Corações Flutuantes) - ESPECIAIS

Valores: 2x, 3x, 5x, 10x, 25x, 50x, 100x, 250x, 500x, 1000x

Propriedades: - Não desaparecem em cascatas - Somam-se durante a rodada - Multiplicam ganho TOTAL no final - Acumulam-se em Free Spins (não zeram)

Símbolos de Pagamento

Símbolo 8x 9x 10x 11x 12x
Gata (Scatter) 10x 20x 50x 100x 200x
Princesa 8x 15x 30x 60x 120x
Flor 6x 12x 24x 48x 96x
Cristal 4x 8x 16x 32x 64x
Moeda 2x 4x 8x 16x 32x

5. MECÂNICA TUMBLE (CASCATA)

Fluxo de Cascata

``` 1. INICIAL: Grade 6×5 com símbolos aleatórios ├─ Detectar 8+ símbolos contíguos (Pay Anywhere) ├─ Calcular ganho dessa combinação └─ Acumular multiplicadores presentes

  1. EXPLOSÃO: Símbolos vencedores piscam e desaparecem ├─ Efeito de brilho (dourado) ├─ Som de cristal quebrando ├─ Partículas explosivas

  2. GRAVIDADE: Novos símbolos caem de cima ├─ Animação suave de queda ├─ Som de sino ao pousar └─ Duração: 0.8s

  3. DETECÇÃO: Verificar novas combinações na grade ├─ Se houver: Voltar ao passo 2 (CASCATA) └─ Se não houver: FIM da cascata → Mostrar ganho

  4. GANHO FINAL: Multiplicadores (acumulados) × Total da cascata ```

Exemplo Prático

``` Cascata 1: 9 Cristais encontrados Win: 16x Aposta = R$ 16,00 Multiplicadores: 5x (presente) Acumulado: 5x

Cascata 2: 10 Moedas encontradas Win: 8x Aposta = R$ 8,00 Multiplicadores: 25x (novo!) Acumulado: 5x + 25x = 30x

Cascata 3: 12 Flores encontradas Win: 24x Aposta = R$ 24,00 Multiplicadores: 10x (novo!) Acumulado: 5x + 25x + 10x = 40x

GANHO FINAL: (R$ 16 + R$ 8 + R$ 24) × 40x = R$ 1.920,00 ```


6. MULTIPLICADORES (CORAÇÕES)

Mecânica Especial

Não Desaparecem: - Multiplicadores permanecem na grade durante cascatas - Não contam como símbolos de vitória - São "inertes" para cálculo de combinações

Acumulação: - Cada novo multiplicador encontrado soma ao total - Multiplicador de 1000x é máximo permitido - Total de multiplicadores pode chegar a 50x+ em cascatas longas

Free Spins Global: Se um multiplicador 25x aparece no bônus, ele persiste: - Persiste para próximo giro grátis - Soma com novos multiplicadores - Pode atingir 500x+ em retríggers

Visual dos Multiplicadores

Cada coração flutuante mostra: ┌──────────────┐ │ ♥ 25x │ ← Brilho pulsante │ │ ← Efeito de halo dourado │ Ícone bonito │ └──────────────┘


7. BÔNUS: "CASTELO NAS NUVENS"

Estrutura

Acumulador Global Diferenciado

``` Base Game: - Multiplicadores encontrados - Ganho do giro - RESET para próximo giro

Free Spins: - Multiplicadores encontrados - Ganho do giro - Multiplicadores PERSISTEM - Novos multiplicadores SOMAM

Exemplo: FS Spin 1: 5x acumulado, ganho R$ 100, total R$ 500 FS Spin 2: Novo 10x encontrado, acumulado agora = 15x, ganho R$ 50, total R$ 750 FS Spin 3: Novo 25x encontrado, acumulado agora = 40x, ganho R$ 30, total R$ 1200 ```


8. TABELA DE PAGAMENTO COMPLETA

Sistema Pay Anywhere

Qualquer 8+ símbolos iguais na grade (não precisa de linhas)

``` Exemplo: 12 Gatas distribuídas aleatoriamente Ganho: 200x Aposta = R$ 200,00

Exemplo: 8 Cristais Ganho: 8x Aposta = R$ 8,00

Cascata pode criar múltiplas combinações simultâneas ```


9. EXPERIÊNCIA DE USUÁRIO

Layout

Animações Críticas

Evento Duração Efeito
Pay Anywhere Found 1s Halo glow, 8+ símbolos destacados
Explosão 0.6s Partículas, screen flash
Cascata Queda 0.8s Símbolos caem suavemente
Multiplicador Ativa 1.5s Raio mágico, dublagem PT-BR
Cascata Sucessiva Dinâmico Aceleração (1ª lenta, 3ª muito rápida)
Free Spin Ativado 3s Transição mágica, Princesa dança

10. CONFORMIDADE REGULATÓRIA


11. ANÁLISE COMPETITIVA

Versus Starlight Princess Original

Aspecto Original Nossa Versão
Tema Anime universal Princesa brasileira
Grid 6×5 6×5 (igual)
Tumble Sim Sim (otimizado)
Multiplicador Max 1000x 1000x (capped)
RTP Variável 94-96% Fixo 94%
Free Spin Accumulator Sim Sim (Brasil-izado)
Volatilidade Ultra-Alta Ultra-Alta (80-90%)

12. NOTAS DE DESENVOLVIMENTO

Prioridades

  1. P1: Tumble mechanic, Pay Anywhere detection, multiplicador acumulação
  2. P2: Princesa animação (Spine 2D), efeitos de cascata
  3. P3: Audio (dublagem PT-BR), partículas
  4. P4: Temas alternativos

Performance Crítica


13. GLOSSÁRIO


Versão: 1.0 - Draft Final Aprovação Lottopar Requerida

25 - PRINCESA DAS ESTRELAS

Technical Design Document (TDD)

Referência: Starlight Princess 1000 (Pragmatic Play) Arquitetura: Lottopar Core (Pool Finito) Status: Design Finalizado Data: 2026-04-03


1. VISÃO GERAL TÉCNICA

Implementação técnica focada em: - Reverse Cascade Builder (construção de trás para frente) - Pay Anywhere detection (8+ símbolos qualquer lugar) - Acumulador global de multiplicadores - Otimização de performance VFX


2. REEL STRIPS - PAY ANYWHERE

Configuração

Distribuição Padrão

Posição | Símbolo | Frequência --------|---------|---------- 0-2 | Gata | 3x (Scatter) 3-5 | Princesa| 3x 6-8 | Flor | 3x 9-11 | Cristal | 3x 12-14 | Moeda | 3x 15-17 | Mult 2x | 2x (Raro!) 18-20 | Mult 5x | 1x (Muito raro) 21-23 | Mult 10x| 0.5x (Épico) 24-27 | Lixo | 4x 28-39 | Buffer | 12x


3. REVERSE CASCADE BUILDER (O ALGORITMO MAIS COMPLEXO)

Conceito

Construir a cascata de trás para frente, garantindo: 1. Ganho final exato = TicketWin 2. Multiplicadores colocados estrategicamente 3. Gravidade simulada corretamente

Fase 1: Decisão de Meta

```csharp public class CascadeBuilder {

public CascadeOutcome BuildReverseCascade(decimal ticketWin, decimal bet) {

    // 1. Meta base
    decimal targetWin = ticketWin;

    // 2. Decisão de estratégia
    if (targetWin > 5000m) {
        // Ultra-Win: Usar múltiplos multiplicadores
        return BuildMultiMultiplierCascade(targetWin);
    } else if (targetWin > 500m) {
        // Big Win: 1-2 multiplicadores
        return BuildSingleMultiplierCascade(targetWin);
    } else {
        // Normal: Sem multiplicador
        return BuildNormalCascade(targetWin);
    }
}

} ```

Fase 2: Fragmentação em Cascatas

```csharp private CascadeOutcome BuildMultiMultiplierCascade(decimal targetWin) {

// Meta: 250 reais com mult 25x
// Base = 250 / 25 = R$ 10

// Fragmentar em cascatas menores
var cascadas = new[] {
    new { baseWin: 4m, multiplier: 25m, cascataNum: 1 },
    new { baseWin: 6m, multiplier: 25m, cascataNum: 2 }
};

// Total: (4 + 6) × 25 = 250 ✓

var cascade1Grid = BuildCascadeGrid(4m, null);  // Sem mult inicial
cascade1Grid.InsertMultiplier(25);  // Inserir mult 25x
cascade1Grid.FullValidation();

var cascade2Grid = BuildCascadeGrid(6m, null);
cascade2Grid.InsertMultiplier(25);
cascade2Grid.FullValidation();

return new CascadeOutcome {
    cascades = new[] { cascade1Grid, cascade2Grid },
    totalWin = targetWin
};

} ```

Fase 3: Construção em Camadas

```csharp private Grid BuildCascadeGrid(decimal targetBasePayout, decimal? multiplier) {

// Construir Grid 0 (inicial)
var grid0 = new Grid(6, 5);

// 1. Calcular quantos símbolos de qual tipo
int princesaCount = CalculateSymbolCount("Princesa", targetBasePayout);

// 2. Inserir símbolos e multiplicador
InsertSymbols(grid0, "Princesa", princesaCount);
if (multiplier.HasValue) {
    InsertMultiplier(grid0, multiplier.Value);
}

// 3. Trash fill seguro
TrashFillSafe(grid0);

// 4. Validar Grid 0
decimal expectedWin0 = CalculateWinFromGrid(grid0);
if (Math.Abs(expectedWin0 - targetBasePayout) > 0.05m) {
    // Reajustar símbolos
    grid0 = AdjustGridToTarget(grid0, targetBasePayout);
}

// 5. Simular gravidade → Grid 1
var grid1 = ApplyGravity(grid0);

// 6. Preencher buracos para formar Nova Cascata
InsertNewCombinationGrid1(grid1, (targetBasePayout * 0.2m)); // 20% do target em cascata 2

// 7. Validar Grid 1
decimal expectedWin1 = CalculateWinFromGrid(grid1);
if (Math.Abs(expectedWin1 - (targetBasePayout + extraWin)) > 0.05m) {
    grid1 = AdjustGridToTarget(grid1, targetBasePayout + extraWin);
}

// 8. Lixo final
TrashFillFinal(grid1);

return grid1; // Retornar estado final

} ```

Fase 4: Simulação de Gravidade

```csharp private Grid ApplyGravity(Grid grid) {

var newGrid = new Grid(6, 5);

// Para cada coluna, deixar símbolos caírem
for (int reel = 0; reel < 6; reel++) {

    var column = grid.GetColumn(reel);
    var nonEmpty = column.Where(s => !s.IsEmpty).ToList();

    // Símbolos ocupam posições de baixo para cima
    for (int pos = 4; pos >= 0; pos--) {
        if (nonEmpty.Count > 0) {
            newGrid[pos, reel] = nonEmpty.RemoveAt(0);
        } else {
            newGrid[pos, reel] = Symbol.EMPTY;
        }
    }
}

return newGrid;

} ```

Exemplo Prático Completo

``` GOAL: TicketWin = R$ 100, Aposta = R$ 1

Grid 0 (Inicial): ┌────────────────────────────────┐ │ P │ P │ Mult5x │ X │ X │ X │ │ P │ P │ P │ X │ X │ X │ │ X │ X │ X │ X │ X │ X │ │ X │ X │ X │ X │ X │ X │ │ X │ X │ X │ X │ X │ X │ └────────────────────────────────┘

Cascata 1: - 6 Princesas encontradas (8+ req) - Ganho base: 6x × R$ 1 = R$ 6 - Multiplicador 5x: R$ 6 × 5 = R$ 30

Grid 1 (Após gravidade + nova inserção): ┌────────────────────────────────┐ │ X │ X │ P │ P │ X │ X │ │ X │ X │ X │ P │ X │ X │ │ X │ X │ X │ P │ X │ X │ │ X │ X │ X │ P │ X │ X │ │ P │ P │ P │ P │ X │ X │ └────────────────────────────────┘

Cascata 2: - 9 Princesas encontradas - Ganho: 9x × R$ 1 = R$ 9 - Sem multiplicador: R$ 9

GANHO TOTAL: R$ 30 + R$ 9 = R$ 39

AJUSTE: Precisamos de R$ 100. Reformular estratégia: - 4 Cascatas menores - Multiplicadores 5x, 10x, 25x - Resultado: R$ 100 exato ```


4. PAY ANYWHERE DETECTION

Algoritmo de Detecção

```csharp public class PayAnywhereDetector {

public List<WinGroup> FindPayAnywhere(Grid grid) {

    var winGroups = new List<WinGroup>();

    // 1. Para cada símbolo único (exceto Scatter, Mult)
    foreach (var symbol in GetUniqueSymbols(grid)) {

        if (symbol.IsMultiplier || symbol.IsScatter) continue;

        // 2. Contar ocorrências totais
        int count = CountSymbol(grid, symbol);

        // 3. Se 8+: Payment
        if (count >= 8) {
            decimal basePayment = GetPaytableValue(symbol, count);
            winGroups.Add(new WinGroup {
                symbol = symbol,
                count = count,
                payment = basePayment
            });
        }
    }

    return winGroups;
}

public bool IsValidPayAnywhereWin(Symbol symbol, int count) {
    return count >= 8 && !symbol.IsMultiplier && !symbol.IsScatter;
}

} ```

Acumulação de Multiplicadores

```csharp public decimal CalculateFinalPayment(List groups, List multipliers) {

decimal totalWin = 0m;

// 1. Somar ganhos base
foreach (var group in groups) {
    totalWin += group.payment;
}

// 2. Aplicar multiplicadores cumulativos
decimal totalMultiplier = multipliers.Aggregate(1m, (a, b) => a * b);

// 3. Ganho final
return totalWin * totalMultiplier;

} ```


5. ACUMULADOR GLOBAL (FREE SPINS)

Estrutura

```csharp public class GlobalAccumulator {

public List<int> MultiplierHistory { get; private set; } = new();

public void ProcessFreeSpinCascade(CascadeResult cascade) {

    // 1. Encontrar multiplicadores NOVOS nesta cascata
    var newMultipliers = cascade.multipliers
        .Where(m => !MultiplierHistory.Contains(m))
        .ToList();

    // 2. ADICIONAR ao histórico (não substituir)
    MultiplierHistory.AddRange(newMultipliers);

    // 3. Calcular multiplicador total
    decimal totalMult = MultiplierHistory.Aggregate(1m, (a, b) => a * b);

    // 4. Aplicar ao ganho
    cascade.finalWin = cascade.baseWin * totalMult;

    Debug.Log($"FS Spin: Base {cascade.baseWin}, Accum Mult {totalMult}, Final {cascade.finalWin}");
}

public void ResetOnNewBonus() {
    // Ao sair do bônus, limpar histórico
    MultiplierHistory.Clear();
}

} ```

Fluxo em Free Spins

``` FS Spin 1: - Cascata encontra 5x - Acumulador: [5] - Ganho: R$ 50 × 5 = R$ 250

FS Spin 2: - Cascata encontra 10x - Acumulador: [5, 10] - Ganho: R$ 75 × 50 = R$ 3.750

FS Spin 3: - Cascata encontra 25x - Acumulador: [5, 10, 25] - Ganho: R$ 100 × 1.250 = R$ 125.000 ```


6. OTIMIZAÇÃO DE PERFORMANCE

VFX Graph (Obrigatório)

```csharp public class ParticleOptimizer {

private ParticleSystem explosionParticles;
private ParticleSystem cascadeParticles;

public void Initialize() {
    // 1. Usar VFX Graph (não Shuriken)
    explosionParticles = GetComponent<ParticleSystem>();

    // 2. Configurar para reusabilidade
    explosionParticles.maxParticles = 1000; // Limite alto
    explosionParticles.playOnAwake = false;
}

public void PlayExplosionVFX(int symbolCount) {
    // Escalar partículas conforme número de símbolos
    var emission = explosionParticles.emission;
    emission.rateOverTime = symbolCount * 10f;

    explosionParticles.Play();
}

} ```

Object Pooling de Gemas

```csharp public class GemPool {

private Queue<GemRenderer> availableGems = new();
private const int POOL_SIZE = 100;

public void Initialize() {
    for (int i = 0; i < POOL_SIZE; i++) {
        var gem = Instantiate(gemPrefab);
        gem.gameObject.SetActive(false);
        availableGems.Enqueue(gem);
    }
}

public GemRenderer GetGem() {
    if (availableGems.Count > 0) {
        return availableGems.Dequeue();
    }
    return Instantiate(gemPrefab); // Expandir se necessário
}

public void ReturnGem(GemRenderer gem) {
    gem.gameObject.SetActive(false);
    availableGems.Enqueue(gem);
}

} ```

Texture Atlas

```csharp public class TextureAtlas {

// Todos os 30 símbolos em 1 textura (2048×2048)
public static Texture2D AllSymbolsAtlas = Resources.Load<Texture2D>("Atlas/AllSymbols");

public static Rect GetUVRect(Symbol symbol) {
    // Mapear UV coordinates para cada símbolo
    // Exemplo: Princesa está em [0.1, 0.1, 0.2, 0.2] (20% do atlas)
    return symbolUVMap[symbol];
}

} ```


7. MAX WIN LOGIC (1000x)

Trava de Segurança

```csharp public bool IsMaxWinAllowed(Outcome outcome) {

// 1. Verificar se TicketWin suporta 1000x
decimal maxWinValue = outcome.totalBet * 1000m;

// 2. Se outcome contém 1000x e TicketWin < maxWin * 0.8m
if (outcome.HasMaxMultiplier(1000)) {
    if (outcome.totalWin < maxWinValue * 0.8m) {
        LogError("1000x multiplicador sem ticket suficiente");
        return false; // Rejeitar e regenerar
    }
}

// 3. Permitir apenas se há garantia financeira
if (!outcome.HasFlag("Allow_Max_Multiplier")) {
    if (outcome.effectiveMultiplier >= 1000) {
        LogError("1000x sem flag de autorização");
        return false;
    }
}

return true;

} ```

Regra: O símbolo 1000x só aparece se: - TicketWin >= 800x Aposta - Flag "Allow_Max_Multiplier" está ativa no Pool - Proibido usar como "Tease" falso


8. JSON PAYLOAD EXEMPLO COMPLETO

json { "game_id": 25, "round_id": "PRINCESA_999", "round_type": "FREE_SPIN", "spin_number": 2, "total_bet": 10.00, "expected_win": 3750.00, "actual_win": 3750.00, "tumble_steps": [ { "step": 0, "grid": [ ["Flor", "Princesa", "Cristal", "Flor", "X", "X"], ["Flor", "Princesa", "Mult5x", "Flor", "X", "X"], ["Flor", "Princesa", "Cristal", "Flor", "X", "X"], ["Flor", "Princesa", "Cristal", "Flor", "X", "X"], ["Flor", "Princesa", "Cristal", "Flor", "X", "X"] ], "win_groups": [ { "symbol": "Flor", "count": 10, "base_payout": 30, "payout_total": 300 }, { "symbol": "Princesa", "count": 5, "base_payout": 15, "payout_total": 75 } ], "active_multipliers": [ { "pos": 11, "val": 5 } ], "cascata_win": 375, "accumulated_multiplier": 5 }, { "step": 1, "dropped_symbols": ["Princesa", "Cristal", "Moeda"], "win_groups": [ { "symbol": "Princesa", "count": 9, "base_payout": 20, "payout_total": 180 } ], "new_multiplier_found": { "val": 10, "type": "ADDITIVE" }, "cascata_win": 180, "accumulated_multiplier": 50, "global_accumulator": [5, 10] } ], "final_math": "375 × 5 + 180 × 50 = 1.875 + 9.000 = 10.875", "spins_remaining": 13, "hash": "f0e1d2c3b4a5968778695a4b3c2d1e0", "timestamp": "2026-04-03T14:35:22.789Z" }


9. TESTES CRÍTICOS

Test Case: Multiplicador Acumulação

``` Input: 3 Free Spins com novos multiplicadores em cada Expected: Multiplicação exponencial

Spin 1: 5x, Ganho R$ 100 → R$ 500 Spin 2: 10x acumulado, Ganho R$ 100 → R$ 1.000 Spin 3: 25x acumulado, Ganho R$ 100 → R$ 2.500 Total: R$ 4.000 ```

Test Case: Cascata Reversa

``` Input: TicketWin = R$ 500, Aposta = R$ 10 Expected: Cascata reversa gera Grid 0 e 1 que resulta exatamente em R$ 500

Validação: 1. Grid 0 válido (Pay Anywhere) 2. Grid 1 após gravidade válido 3. Soma cascata 1 + cascata 2 = R$ 500 exatamente ```

Stress Test (48h)

``` Métrica: FPS mantido - Target: 60 FPS - Mínimo aceitável: 50 FPS - Com VFX graph + object pooling

Métrica: Memória - Baseline: 800 MB - Máx após 48h: 850 MB - Variação aceitável: < 100 MB ```


10. CONFORMIDADE LOTTOPAR


Documento Finalizado: 03/04/2026 Versão: 1.0 - Draft Final Certificação: Pendente Lottopar

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, Magical starry cosmic realm, ultra-detailed environment, immersive 3D background, lush vegetation and natural elements, magical, regal, celestial, cinematic lighting with golden hour sun rays, color palette: starlight white, celestial blue, rose gold, 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 "Princesa das Estrelas", ornate and elegant typography, bold letters with gold leaf embossing, luxurious gradient background transitioning from starlight white to celestial blue, intricate decorative borders with princess 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, princess creature highly detailed, photorealistic rendering, vibrant colors emphasizing starlight white, celestial blue, rose gold, 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: stars, ornate design with starlight white, celestial blue, rose gold 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: magical glow, sparkling crystal or gem-like appearance, starlight white and celestial blue 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, cosmic elements, animated energy radiating from center, multiple layers of glow effects in rose gold, 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 crown imagery, embossed surface detail, reflection and dimension, surrounded by floating particles and light, rich starlight white, celestial blue, rose gold 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, starlight white, celestial blue, rose gold 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, starlight white, celestial blue, rose gold 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 princess, intense magical, regal, celestial atmosphere, starlight white, celestial blue, rose gold color palette, volumetric lighting effects, large title text with "Princesa das Estrelas", 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