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:
-
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/). -
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.
- 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):