Shmup 2.5D original, inspirado na sensação dos arcades clássicos. O jogo roda no navegador, usa naves e inimigos procedurais e salva perfis e recordes no SQLite do servidor.
Jogar: darius.tools.brunogonzaga.dev
- Três fases com inimigos, pickups e chefões
- Música procedural de menu, fases e chefão via Web Audio
- Controles por teclado, gamepad e toque
- Perfis compartilhados pelo servidor
- Melhor e última pontuação por perfil
- Sessões de partida e validações básicas contra scores falsos
- HTTPS e headers de segurança via Traefik + Nginx
- TypeScript, Vite e Three.js
- Python stdlib para a API
- SQLite com WAL
- Docker Compose e Traefik no deploy
Requisitos: Node.js 20+ e Python 3.11+.
Terminal 1 — API:
python3 backend/server.pyTerminal 2 — frontend:
cd gpt5
npm ci
npm run devAbra http://127.0.0.1:5174.
O Vite encaminha /api para http://127.0.0.1:8000. O banco local é criado em data/darius.sqlite3.
cd gpt5
npm test
npm run buildGET /api/profiles— lista perfisPOST /api/profiles— cria perfilPOST /api/sessions— abre sessão para um perfilPOST /api/runs— registra uma partidaGET /api/leaderboard— ranking das partidas aceitas
Variáveis opcionais: DARIUS_HOST, DARIUS_PORT, DARIUS_DB_PATH e DARIUS_ORIGIN.
O deploy de produção usa deploy/hermes/darius-twin.compose.yml:
darius-twin: Nginx servindo o build estáticodarius-api: API Python- volume persistente para o SQLite
- Traefik terminando HTTPS em
darius.tools.brunogonzaga.dev
O navegador ainda é uma fonte não confiável: as validações reduzem fraude casual, mas não oferecem anti-cheat forte. Para isso seria necessário reproduzir a simulação da partida no servidor.
O projeto não coleta contas, senhas ou dados pessoais. Perfis e pontuações ficam associados apenas ao nome informado pelo jogador.