Aprovado · em breve na Stake

Estudo de caso · Vampir: Graveyard Shift

Um vampiro no turno da noite. Aprovado pela Stake Engine.

O tio Vlado pegou o único emprego que combina com o horário dele: vigia noturno do cemitério da vila. Quem trabalha de verdade são os morcegos. A gente desenhou o jogo, fez cada peça de arte e de som, animou o herói, simulou a matemática, construiu o client e passou pela revisão da Stake Engine. Aqui está o trabalho completo, com os arquivos reais.

Ou assista ao ganho máximo real de 25.000×: um Blood Moon Shift dos books publicados ▶18+ · Jogue com responsabilidade

6×5Pay anywhere + cascatas
5Modos de aposta, de 1× a 1.000×
96,50%RTP em todos os modos
25.000×Ganho máximo, em todos os modos
500.000Books simulados e reproduzidos contra as regras100.000 por modo de aposta · 0 falhas
14 / 14Checagens de risco matemático 3 estrelas aprovadasmais os 5 testes críticos da Stake
36 okDiretrizes da plataforma na nossa revisão pré-envio0 falhas · 3 para um humano · 1 n/a
11Clipes filmados do tio Vladoum loop idle + 10 atos

O turno da noite, na câmera.

O Vampir foi feito só para a Stake, então é aqui que você assiste. Cada clipe e cada imagem desta seção é o build real do jogo rodando rodadas reais dos books publicados. A gente escolheu as rodadas; quem pagou foi a matemática.

Morcegos que crescem. O Morcego é wild, fica no grid a cada tumble e ganha +1 toda vez que o grid cai. Aqui dois deles sobem até ×5 e ×7 em seis tumbles.

O mesmo jogo, layout de celular
  • O jogo base6×5, 8 ou mais de um símbolo em qualquer lugar pagam, e o grid cai.
  • Vlado's BiteTodo Morcego no grid dobra. Mais ou menos 1 rodada base em 80.
  • Bloody WinA maior comemoração, a partir de 150×.
  • O menu de compraTrês Shifts por 100×, 300× e 1.000×, todos com RTP de 96,50%.
  • 03:00Só no Blood Moon: todo Morcego dobra de novo.
  • Feature Win25.000,00 numa aposta de 1,00: o teto.

Aprovado · em breve na StakeCapturado do build real do jogo: rodadas reais dos books publicados.

01 · O briefing

Feito para o topo do lobby.

Sem cliente neste: o Vampir é um título nosso. Estudamos o que os jogos do top 10 da plataforma têm em comum, colocamos esse perfil no papel antes de desenhar qualquer coisa e seguimos ele em cada decisão.

Checagem de nome antes do primeiro rascunho. Não apareceu nenhum slot chamado "Graveyard Shift". "Night Shift" caiu porque já existe um "Knight Shift", e como um slot de vampiro famoso já tem morcegos wild, os nossos precisavam ter uma aparência e um comportamento que nenhum outro tem.
Cartoon 2D marcante→Contornos grossos, cores noturnas: azul-marinho profundo, roxo neon, bordas ciano e um único detalhe vermelho-sangue.
Humor sombrio→Um vampiro que trabalha à noite, morde o tabuleiro quando bate a fome e odeia alho (é um símbolo).
Um personagem estrela→O tio Vlado, sempre na tela, com 11 clipes filmados e um busto para celulares.
Multiplicadores persistentes→Morcegos wild que nunca saem numa cascata e crescem +1 a cada uma.
Rodadas grátis em níveis→Três Shifts para 4, 5 ou 6+ Caixões, jogados como uma noite no relógio.
Menu de compra em três níveis→Compras a 100×, 300× e 1.000×, mais um modo Night Owl a 2×.
Ganho máximo de cinco dígitos→25.000× em todos os modos de aposta, dentro da faixa de exposição 3 estrelas.
02 · O gancho

Três ideias que um jogador
consegue explicar para um amigo.

Uma mecânica que é nossa, um momento que é do Vlado e uma rodada de giros grátis com um relógio na parede. Teste as duas primeiras aqui mesmo.

Ideia 1 · Morcegos que crescem

Os morcegos se somam. E nunca saem.

O Morcego é wild, fica no tabuleiro durante todas as cascatas e ganha +1 a cada cascata. Quando as cascatas param, o prêmio do giro é multiplicado pela soma de todos os Morcegos do tabuleiro. Os Morcegos se somam; nunca se multiplicam entre si.

Prêmio da cascata de um giro real publicado: 8,0× (11 Lanternas do Túmulo + 1 Morcego = 12 símbolos)

Regras: MATH.md · Bats. Giro real: base book #1 (prêmio de cascata de 8,0×, soma dos Morcegos ×2, 16,0× no giro). Depois da primeira cascata, é um brinquedo.

Ideia 2 · Vlado's Bite

Às vezes bate aquela fome.

Depois de um giro do jogo base que termina com prêmio e pelo menos um Morcego, o tio Vlado pode morder: cada Morcego dobra antes de o multiplicador ser aplicado. Quem decide é o book; o client só reproduz.

Vlado's Bite, o título pintado do jogo Passe o mouse para a mordida
1 em 80rodadas base têm Mordida (1,25%)
1 em 28,5com o Night Owl ativado (3,50%)
Ideia 3 · O turno da noite

As rodadas grátis são uma noite, no relógio.

4, 5 ou 6+ Caixões iniciam o Graveyard, o Overtime ou o Blood Moon Shift: 10 giros, um por hora a partir das 21:00. Os Morcegos ficam a noite toda e continuam crescendo. A meia-noite dobra todos os Morcegos, e às 03:00 chega um novo voando. Três Caixões durante o Shift somam 5 giros e o relógio passa das 07:00. Abaixo: um Blood Moon Shift real, capturado do client final.

O mostrador de relógio pintado do jogo
21:00

Graveyard Shift

4 Caixões. Os Morcegos chegam em ×1; a meia-noite dobra todos.

Jogo base1 em 346
Compra100×

Overtime Shift

5 Caixões. Todo Morcego que cai começa em ×3, inclusive o das 03:00.

Jogo base1 em 4.571
Compra300×

Blood Moon Shift

6+ Caixões. Os Morcegos dobram à meia-noite e de novo às 03:00.

Jogo base1 em 63.977
Compra1.000×

Frequências por rodada do jogo base: sdk/games/vampir/MATH.md · Final stats. Capturas: o client final rodando books reais da matemática publicada.

03 · O processo

Da página em branco ao jogo aprovado. Com provas.

Cada imagem abaixo é um arquivo real do projeto: os testes que jogamos fora, a direção que mantivemos e capturas do client final.

01
Conceito

Um design doc antes de um único pixel.

Pitch, tabuleiro, pagamentos, features, modos de aposta e metas em poucas páginas. A matemática ganhou uma spec própria, com um contrato de eventos que o client depois leria linha por linha.

GDDSpec de matemáticaContrato de eventosChecagem de título

Vampir: Graveyard Shift · GDD v0.1

Pitch
O tio Vlado pegou o único emprego que combina com o horário dele: vigia noturno do cemitério da vila. Quem trabalha de verdade são os morcegos.
Tabuleiro
6 rolos × 5 linhas, 8+ de um símbolo em qualquer lugar pagam, cascatas.
Gancho
Os Morcegos carregam um multiplicador e se somam, não se multiplicam entre si.
Shift
10 giros, o relógio das 21:00 às 07:00. A meia-noite dobra todos os Morcegos.
Metas
Hit rate de cerca de 1 em 3 · rodadas grátis em cerca de 1 em 250 (fechado em 1 em 320, veja o 09) · ganho máximo de 25.000×.
02
Arte · testes de estilo

Dois visuais, um mesmo tema.

Antes de fechar, testamos o visual com o mesmo elenco: um cartoon marcante com contornos grossos e um conjunto 3D procedural em cel-shading, feito no Blender.

Teste de estilo: o tio Vlado em cartoon 2D marcante
Cartoon 2D marcante
Teste de estilo: símbolos 3D em cel-shading, feitos no Blender
3D em cel-shading, Blender
03
Arte · direção

Depois, uma briga de verdade: A contra B.

O herói e quatro símbolos, dos dois jeitos. B: modelado e renderizado inteiro no Blender. A: uma ilustração 2D, retocada no Krita e riggada no Spine. Arraste o controle. A venceu; B foi para a gaveta.

Direção A: Vlado, caixão, morcego, cálice e caveira ilustrados Direção B: o mesmo elenco modelado no Blender B · tudo 3DA · ilustrado (escolhido) ⇆
04
Arte · a estrela

Escalando o tio Vlado.

Uma versão 3D e três versões barbudas fizeram teste. O bigode ficou com a vaga. Essa imagem virou o quadro fixo em que cada clipe dele começa e termina, então, faça o que fizer, ele sempre volta para a mesma pose.

Teste de elenco: o Vlado 3D
Versão 3D
Teste de elenco: Vlado barbudo, versão 1
Versão 1
Teste de elenco: Vlado barbudo, versão 2
Versão 2
Teste de elenco: Vlado barbudo, versão 3
Versão 3
É ELEO tio Vlado final
O escolhido
05
Arte · símbolos

Dez símbolos, uma só mão.

O retrato do tio Vlado, o Cálice de Sangue, a Lanterna do Túmulo e a Trança de Alho que ele odeia no topo; Caveira, Lápide, Vela e Aranha embaixo; o Morcego wild e o Caixão scatter. Cada um tem o próprio rig no Spine para cair e para ganhar, e a tampa do Caixão abre de verdade. Toque em um para ver os pagamentos.

Os pagamentos são múltiplos da aposta, antes do multiplicador dos Morcegos: 8–9, 10–11 e 12+ de um símbolo em qualquer lugar.
06
Arte · cenário

O mesmo cemitério, duas noites.

Luar para o jogo base, lua de sangue para o Shift. Uma composição para os dois, então entrar nas rodadas grátis parece a noite virando, não o carregamento de uma fase nova.

O fundo do Shift sob uma lua de sangue O fundo do jogo base sob a lua cheia Jogo baseO Shift ⇆
07
Arte · kit de UI

Nenhum gradiente de CSS num botão.

Nossa revisão pré-envio caçou o que os revisores penalizam: preenchimentos em gradiente, ícones de emoji, fontes de banco. Cada superfície de controle virou arte no estilo dos símbolos, e cada grande momento ganhou um letreiro pintado próprio: 16 títulos, mais dígitos dourados em bitmap para valores, multiplicadores e o relógio. Passe o mouse na coruja: é o botão do Night Owl, dormindo e acordado.

Botão de giro pintado Mostrador de relógio pintado Botão dourado pintado
Placa de compra pintada
Título Big Bite
08
Animação

Um rig entorta uma imagem. A gente preferiu filmar.

O Vlado ganhou 11 clipes de vídeo feitos a partir da própria imagem: um loop idle (respiração, capa e lanterna balançando, piscadas, o morcego olhando em volta) e dez atos. Um clipe só começa quando o loop idle passa pela pose fixa dele, então ele nunca dá pulo. O rig do Spine fica como plano B, e os efeitos de partículas seguram os grandes momentos.

Vídeo com alfa empilhadoSpine 4.2Partículas Effekseer

Sete dos onze clipes, em tamanho de celular. A mesma técnica do jogo: cor em cima, alfa embaixo, unidos num canvas.

09
Matemática

Simular. Otimizar. Jogar. Ajustar a sensação.

100.000 books por modo de aposta, um otimizador para cravar todos os modos em 96,50%, e depois a etapa que importa: a gente jogou. O jogo base da versão 1 parecia mão de vaca entre um Shift e outro, então refizemos os pesos: mesmo RTP, mesmo ganho máximo, mais ganhos que valem a pena. O log real está ao lado; os números completos estão mais abaixo.

check_stats.py · vampir
== base (cost 1) books=100000 zero-weight=0 LUT/book mismatches=0   RTP 96.500%   std 14.77/cost (raw 14.8)   median 0.00x   hit rate 31.17% (1 in 3.2); stake or better (1x+) 1 in 4.5   free spins 1 in 320.0, avg 115.6x, FS RTP 36.13%, base game RTP 60.37%   max win 25,000x, 1 in 6,250,006.4   vladoBite 1.25%, midnight 0.31%, newBat 0.31%   ... nightowl, shift, overtime, bloodmoon ...   [PASS] RTP in 96.0-96.7% for every mode   [PASS] max win 25,000x reached in every mode   [PASS] Volatility: max std dev (per unit cost) <= 60   [PASS] Tail Probability: P(>=25,000x) <= 0.005   failed classes: 0 []
Trecho de sdk/games/vampir/check_stats.log, sem edição além do corte.
10
Front-end

Primeiro jogável vs o client final.

Mesmo cenário, mesmo tabuleiro, um jogo muito diferente. Nossa engine compartilhada (PixiJS 8 com HUD em DOM) faz o trabalho pesado; a camada do jogo adiciona o relógio, os morcegos, a coruja e o Vlado. A apresentação segue os books: cada valor de Morcego, mordida, meia-noite e prêmio vem de um evento do book. Nada é decidido no client.

Nada de perda disfarçada de ganhoColunas reabastecem em ondaSímbolos com mipmapsUm tabuleiro que nunca fica paradoBusto do Vlado no celular
O client final: UI, moldura e controles pintados Um build jogável inicial com controles chapados em CSS Primeiro jogávelFinal ⇆
O client final num celular, com o busto do Vlado ao lado do logo
11
Revisão

Primeiro, reprovamos na nossa própria revisão.

Antes de enviar, passamos cada diretriz publicada contra o build, com um servidor mock servindo os books reais: telas de 1280×720 até 400×225 e um celular de 425×812, cinco moedas mais as moedas de sweepstakes, linguagem social, replays, uma rodada não finalizada. A primeira passada achou duas falhas. Corrigimos as duas, checamos de novo e só então apertamos enviar.

Revisão pré-envio36 ok · 0 falhas
  • 181Autentica no servidor do jogo ao abrirOK
  • 275Loader próprio, sem o loader da plataformaOK
  • 25RTP e ganho máximo informados nas regrasOK
  • 31Modos de custo alto pedem confirmaçãoOK
  • 219EUR, USD, CAD, MXN, JPY exibidos corretamenteOK
  • 77Linguagem social em tudoOK
  • 171Replays carregam e rodamOK
  • 195Popout 400×225: o card de compra cobria o menuCORRIGIDO
  • 235O guia não mencionava o botão do Night OwlCORRIGIDO
3 itens ficaram para um olho humano: conteúdo, originalidade, um celular de verdade.✓ Aprovado
04 · A matemática

Números que dá pra conferir.

Direto da nossa simulação das lookup tables publicadas: 100.000 books por modo de aposta, matemática versão 1 com o jogo base reajustado. O PDF traz a ficha completa, o método e as checagens de risco.

96,50%RTP em todos os modos de apostalookup tables: 96,5000%
25.000×Ganho máximo em todos os modosveja um acontecer ▶
1 em 3,21Hit rate do jogo base31,17% das rodadas
1 em 320Shift a partir do jogo base1 em 160 com Night Owl
Modo de apostaCustoRTPHit rateRodada medianaRetorno ≥ custoDesvio padrão / custoGanho máx. de 25.000×
Jogo baseMorcegos, mordidas, o Shift
1×96,50%1 em 3,210×1 em 4,5014,771 em 6.250.006
Night OwlMais Morcegos e Caixões
2×96,50%1 em 3,130×1 em 4,5011,051 em 3.125.001
Graveyard ShiftCompra de bônus, 4 Caixões
100×96,50%toda rodada31,1×1 em 5,202,131 em 50.000
Overtime ShiftCompra de bônus, Morcegos começam em ×3
300×96,50%toda rodada126,7×1 em 3,291,351 em 19.984
Blood Moon ShiftCompra de bônus, dobras em dobro
1.000×96,50%toda rodada523,1×1 em 3,651,211 em 2.500

De onde vem o 96,50% do jogo base

Parcela da aposta devolvida, modo base.

Jogo base60,37%
Rodadas grátis (o Shift)36,13%

Qual Shift você recebe

Parcela dos Shifts ativados no jogo base.

Graveyard · média 97,6×92,50%
Overtime · média 292,4×7,00%
Blood Moon · média 974,8×0,50%

Com que frequência as coisas acontecem

Modo base, por rodada.

  • Qualquer ganho1 em 3,21
  • Ganho de 1× ou mais1 em 4,50
  • Multiplicador de Morcego ×2 ou mais1 em 17,4
  • Mordida do Vlado1 em 80
  • O Shift (qualquer nível)1 em 320
  • Shift médio115,6×
  • Retrigger num Shift comprado20,4–23,0%

Rodadas do jogo base por pagamento

Parcela de todas as rodadas do modo base. As rodadas que iniciam o Shift aparecem em violeta. Escala linear: a cauda está lá, só é fina.

Só books do jogo base. O Night Owl tem as mesmas parcelas a partir de 2×, com o dobro dos valores. A faixa de 100×+ tem 191 books, com média de 202×.

Risco, contra os limites de 3 estrelas

O pior modo de aposta em cada checagem. O traço vermelho é o limite.

Jogamos a v1. Parecia mão de vaca. Ajustamos a sensação, não o RTP.

Jogo base, antes e depois de refazer os pesos da lookup table. Sessões: 20.000 sessões simuladas de 200 giros cada.

Jogo basev1v2 (final)
RTP96,50%96,50%
Parcela do RTP paga fora do Shift52,2%62,6%
Ganho de 1× ou mais1 em 6,431 em 4,50
Migalhas (ganhos abaixo da aposta)17,09%8,95%
Multiplicador de Morcego ×2 ou mais1 em 361 em 17
Mordida do Vlado1 em 1451 em 80
O Shift1 em 2501 em 320
Sessões sem ganho de 1×+ nos primeiros 20 giros3,19%0,56%
Maior seca, sessão mediana22 giros16 giros
Ganho máximo de 25.000×1 em 6.250.0061 em 6.250.006

As checagens

  • Testes críticos da Stake5 / 5 ok
  • Checagens não críticas 3 estrelas14 / 14 ok
  • Books reproduzidos contra as regras500.000 · 0 com erro
  • Checagem rigorosa de book + lookup table0 linhas com erro
  • Ganho máximo alcançável em todos os modossim
  • Rebuild completo, os cinco modos22 min
A ficha matemática completa, 3 páginas.

Modos de aposta, volatilidade, frequência das features, tabela de pagamentos, o método de simulação e os tamanhos de amostra.

Baixar o PDF (em inglês) ↓

Fontes: sdk/games/vampir/MATH.md (estatísticas finais, jogo base v2), check_stats.log, session_sim.log, check_bats.log, check_books.log. Valores teóricos das nossas simulações; sessões individuais variam.

05 · Stack técnica

O que tem debaixo da capa.

Ferramentas chatas e comprovadas, usadas com cuidado. O client é só arquivos estáticos: nenhuma requisição externa, nada além do servidor do jogo.

∑

Matemática

O SDK de matemática da Stake Engine em Python, o otimizador do SDK, nosso próprio reajuste de pesos por faixa e verificadores que reproduzem cada book contra as regras e o contrato de eventos.

PythonMath SDKOtimizadorLookup tables
⚡

Client

Nossa engine de slot compartilhada: renderização WebGL com HUD em DOM, tipada de ponta a ponta, com build por jogo. A camada própria do Vampir adiciona o relógio, os morcegos, a coruja, o brasão e o Vlado.

TypeScriptPixiJS 8GSAPVite
✦

Movimento

Rigs no Spine para cada símbolo, vídeo com alfa empilhado para o herói e efeitos de partículas para os grandes momentos, pré-aquecidos fora da tela durante a tela inicial para o primeiro big win não engasgar.

Spine 4.2EffekseerClipes de vídeoMipmaps
✎

Arte

Ilustração 2D em camadas, retocada no Krita, testes e objetos 3D no Blender e uma moldura pintada nas proporções do tabuleiro, para nada esticar.

KritaBlenderFontes bitmapTexturas desktop + mobile
♫

Áudio

Efeitos sonoros criados a partir de gravações e síntese, reunidos num único sprite; música masterizada no REAPER e entregue em dois codecs para todo navegador ter um.

REAPER 7LUFS + true peakOpusAAC
✓

QA

Um servidor de jogo mock servindo os books reais, um painel de revisão para saldo, níveis de aposta, moeda, modo social e rodadas não finalizadas, e a passada completa pelas diretrizes antes de cada envio.

Mock RGSModo replay5 viewports7 moedas
06 · Som

Um cemitério. Dos divertidos.

O briefing da trilha: cravo, órgão de tubos, cordas em pizzicato e um teremim para o lado gótico, acordeão e metais balcânicos para o tio Vlado, tudo em dó menor. Os efeitos sonoros tonais ficam no mesmo tom.

Loop do jogo base

Trecho de 40 s · o loop final tem 74,9 s
0:000:40

Cinco faixas, 23 efeitos

Loop do jogo base74,9 s
Loop do Shift62,0 s
Intro do Shift9,3 s
Big win10,3 s
Amanhecer5,8 s

Os efeitos ficam num único sprite de 40,7 s, feito a partir de gravações de madeira, rangidos, tecido, vidro e sinos, com afinação alterada e camadas de síntese na acústica de uma cripta de pedra:

asas de morcegomordidarangido de caixãosino de igrejatique-taquebatimento cardíacopio de corujafantasmatrovãogoteira+ 13 outros

Masterizado para loudness (loops a −17 e −16,5 LUFS, stingers a −14 e −15,5) com limitador de true peak: todo arquivo entregue fica abaixo de 0 dBTP depois da codificação. Os loops são renderizados a partir de uma segunda passada emendada, para já entrarem no loop estabilizados.

07 · Resultado

Aprovado. Agora é a régua.

Vampir: Graveyard Shift passou na revisão da Stake Engine, o primeiro dos nossos slots aprovado na plataforma. Todo jogo que começamos desde então precisa passar da régua que ele colocou.

  • Design doc, spec de matemática e contrato de eventos
  • Matemática para 5 modos de aposta: books, lookup tables, books de demo, estatísticas
  • Pacote front-end para desktop e celular, com modo replay
  • Mídias de loja: capa, tile, logo e foregrounds
  • Notas para o revisor e uma página de lançamento
Vampir: Graveyard Shift Aprovado · em breve na Stake

RTP 96,50% · ganho máximo 25.000×
5 modos de aposta · 6×5 pay anywhere

18+ · Jogue com responsabilidade

Quer um Vlado
só seu?

Um título sob medida com mecânica própria, ou um reskin de um dos nossos. De qualquer jeito, você recebe a ficha matemática, os books e as provas.