Skip to content

Latest commit

 

History

History
80 lines (59 loc) · 3.65 KB

File metadata and controls

80 lines (59 loc) · 3.65 KB

08 — Roadmap

Fases incrementais; cada uma termina com algo jogável/visível em produção (Vercel). Estimativas para 1 dev part-time.

Legenda: [x] feito · [~] feito no cliente, falta mover para o servidor · [ ] pendente.

M0 — Protótipo do Globo ✅

Objetivo: sentir o jogo. Zero backend.

  • SvelteKit 2 + Svelte 5, deploy Vercel (adapter-auto)
  • Globo realista: dia/noite no horário solar real, relevo, nuvens, atmosfera, bloom
  • Girar/zoom, tela cheia sem scroll (100dvh, overlays)
  • Territórios: grade mundial recortada pelas fronteiras + 645 municípios de SP (IBGE)
  • Ataques animados com trajetória e velocidade reais

M1 — Mundo e Spawn

Objetivo: qualquer pessoa entra e ganha seu território.

  • LOD por zoom (longe: países agregados / perto: células no horizonte, com teto)
  • Adjacência real por fronteira compartilhada
  • claim com GPS + fallback (clique no globo / sorteio) e cor única por jogador
  • Pipeline ADM2 mundial (CGAZ) substituindo a grade hexagonal — doc 05
  • Supabase: schema (doc 04), RLS, adjacência no Postgres
  • Auth (e-mail + Google)

M2 — O Jogo

Objetivo: loop completo War + Tribal Wars.

  • Recursos preguiçosos + 11 edifícios + filas de construção/recrutamento
  • Painel do território (overlay, abas visão/construir/recrutar/enviar)
  • Ataque/apoio/transferência com viagem real; rotas terrestres, navais e aéreas
  • Combate com dados estilo War + relatório visual
  • Lealdade/emissário → conquista com mudança de cor ao vivo
  • Escudo de novato, manutenção progressiva (n^1.15)
  • Interceptação antimíssil com ponto de encontro calculado
  • [~] Resolução autoritativa: hoje roda no cliente; falta virar Edge Function + pg_cron
  • Realtime público (canal world) — espectador vê o mesmo mundo que os outros

M3 — Convivência

  • Diplomacia: aliança/NAP/ruptura com carência de 24 h/declaração de guerra
  • Camadas de visualização (político, conflitos, rastros, alianças, atividade, nomes, nuvens, brilho)
  • Ranking público de cores + feed de eventos + histórico
  • Colapso de cor e nascimento de novas cores (mundo sem fim)
  • Inatividade real: avisos, destituição em 14 dias, decaimento de bárbaros
  • PWA: service worker + instalável (manifest já existe)
  • Modo daltônico

M4 — Android + Beta

  • TWA (Bubblewrap) + assetlinks + Play Console (beta fechado)
  • Web Push: "seu território está sob ataque"
  • Rate limiting, CAPTCHA no cadastro, heurísticas anti-multiconta
  • Beta com convidados; telemetria

M5 — Lançamento (contínuo)

  • Balanceamento com dados reais (curvas de custo, sorte, lealdade)
  • Temporada 1 (3 meses) + hall das cores
  • Modo férias; nuvens de satélite reais; modificadores geográficos
  • Lançamento público na Play Store

Custos estimados (início)

Item Custo
Supabase Free → Pro US$ 0 → 25/mês quando precisar
Vercel Hobby → Pro US$ 0 → 20/mês quando precisar
Google Play (dev) US$ 25 única vez
Domínio (ex.: yuddha.app) ~US$ 15/ano
Dados geográficos/texturas US$ 0 (abertos)

Riscos técnicos priorizados

  1. Performance dos polígonos no globo → resolvido em M0/M1 com LOD, teto de 460 células e re-extrusão só quando a câmera assenta. Continua sendo o risco nº 1 quando o mundo virar ADM2 (~48 mil territórios).
  2. Custo de Realtime com muitos espectadores → broadcast por canal único + snapshot cacheado.
  3. Balanceamento do combate → constantes isoladas em src/lib/game/config.ts; viram tabela game_config quando o servidor entrar.