Skip to content

Latest commit

 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Darius Twin

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

Recursos

  • 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

Stack

  • TypeScript, Vite e Three.js
  • Python stdlib para a API
  • SQLite com WAL
  • Docker Compose e Traefik no deploy

Desenvolvimento local

Requisitos: Node.js 20+ e Python 3.11+.

Terminal 1 — API:

python3 backend/server.py

Terminal 2 — frontend:

cd gpt5
npm ci
npm run dev

Abra 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.

Validação

cd gpt5
npm test
npm run build

API

  • GET /api/profiles — lista perfis
  • POST /api/profiles — cria perfil
  • POST /api/sessions — abre sessão para um perfil
  • POST /api/runs — registra uma partida
  • GET /api/leaderboard — ranking das partidas aceitas

Variáveis opcionais: DARIUS_HOST, DARIUS_PORT, DARIUS_DB_PATH e DARIUS_ORIGIN.

Deploy

O deploy de produção usa deploy/hermes/darius-twin.compose.yml:

  • darius-twin: Nginx servindo o build estático
  • darius-api: API Python
  • volume persistente para o SQLite
  • Traefik terminando HTTPS em darius.tools.brunogonzaga.dev

Limitações

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.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages