1

Pitch: DigitaRoyale V2

Salve, pessoal!

Há pouco tempo compartilhei aqui o DigitaRoyale, um jogo multiplayer de digitação rodando em um ambiente 3D. O foco inicial era testar Socket.IO e fazer o self-hosting usando Coolify em uma VPS da Hostinger.Hoje subi uma atualização importante e queria compartilhar os desafios técnicos dessa nova etapa:

  1. Transformando em um PWA (Progressive Web App)
    O jogo agora pode ser "instalado" direto no celular ou PC. Adicionei o manifest.json e um Service Worker (sw.js) para gerenciar o cache dos assets 3D pesados. Isso reduziu drasticamente o tempo de carregamento nas visitas seguintes e melhorou a performance geral, além de gerar os ícones nativos para o app (public/icons/).

  2. Sistema de Ranking Diário e Persistência em Containers
    Anteriormente, eu tinha apenas um ranking global. Agora adicionei um ranking diário (daily.json).

Como uso o Coolify (com Nixpacks) para orquestrar os containers Docker, a cada novo deploy os arquivos locais seriam zerados. Para resolver isso sem precisar levantar um banco de dados apenas para estado, utilizei novamente a estratégia de File Mounts (volumes) na VPS, garantindo que tanto o ranking global quanto o novo ranking diário persistam após atualizações.

  1. SEO e Open Graph
    Também adicionei uma og-image.png para que o jogo tenha um preview decente quando o link for compartilhado no WhatsApp, Discord, etc. 🔗 Link para testar (e instalar o PWA):

https://digitaroyale.dantas-dev.com

Carregando publicação patrocinada...
1

Acabei de usar a versão web para ver e fiz o desafio diário. Fiz 2 tentativas e tudo ok, melhorei meu tempo. Até que resolvi fazer algo simples: Copiei o texo e colei!

Me tornei o primeiro colocado do ranking, com 100% de precisão!

Se puder restringir o input para que não aceite o "colar" evitaria esse tipo de problema.

Parabéns pelo joguinho, vou entrar mais vezes para me divertir.