Unreleased
Em desenvolvimento ativoConstrução da fundação técnica e do canon público. A engine própria (C++) está sendo escrita do zero, junto com o sistema solar, o planeta esférico, o caminhar do player em gravidade radial, e a primeira camada de física, persistência e multiplayer.
Física
- Raycast no mundo. Consulta de "o que está nessa direção" pra detecção de chão, ataques diretos e queries em geral. Base pro PlayerController saber quando está pisando, e pra hit-scan de armas.
- Colliders de mesh estático. Estruturas complexas (árvore, prédio, qualquer mesh do mundo) ganham colisão real.
- PlayerController em cápsula kinemática. Personagem agora é uma cápsula física que respeita colisão, com sincronização automática entre lógica e pose visual.
- Cápsula, esfera estática do planeta e helpers de mutação. Vocabulário básico de formas físicas no jogo.
- Velocidade do player em mundo + gravidade radial. O personagem cai em direção ao centro do planeta, não pra "baixo" da tela. Funciona em qualquer ponto da esfera.
- Gravidade radial por corpo. Cada objeto físico responde individualmente à atração do planeta.
- API de corpos físicos. Vocabulário mínimo pra criar, mover e destruir entidades com física.
- Tick fixo 60Hz. Simulação determinística pra multiplayer não desincronizar entre clientes.
- Foundation da camada de física. Sistema próprio integrado ao loop principal do jogo.
Mundo e planeta
- Continentes maiores via camadas de ruído. Geração combina ruído continental + detalhe, produzindo massas de terra reconhecíveis.
- Frame visual planet-local. Render alinha eixos ao ponto onde o player está, em vez de coordenadas globais.
- Biome assignment + refinamento de tipo de tile. Cada tile do mundo recebe bioma e textura coerente com o entorno.
- Geração de mundo por seed. Mesma seed gera mesmo planeta, sempre.
- Modificação local de tiles. Player pode alterar o mundo: cavar, construir, derrubar.
- Icosphere subdivision. Geometria do planeta com triângulos distribuídos uniformemente.
- UV-sphere geometry. Planeta vira esfera de verdade no render (não mais cubo placeholder).
Sistema solar e câmeras
- Save/load do tempo orbital. Posição do planeta no sistema solar persiste entre sessões.
- Períodos de órbita gameplay vs cinematic. Gameplay usa 10 minutos por órbita (sombras sutis), cinematic usa 30 segundos (órbita visível em demo).
- Câmera close-follow. Câmera segue o personagem de perto, base do POV de gameplay.
- Câmera ISO local v2. Câmera isométrica alinhada ao plano tangente do planeta no ponto do player.
- Cinematic demo wirado. Cena com sol, planeta e órbita, base dos primeiros vídeos públicos.
- Reconciliação cinematic ↔ gameplay. Mesmas constantes celestes em ambos os modos.
- Planeta orbita o sol de verdade. Translação orbital real, não animação fake.
- Top-down camera + TAB switcher. Troca rápida entre câmera de jogo e câmera de mapa.
- Marcadores 3D pras câmeras inativas. Debug visual de onde cada câmera está apontando.
- Caminhar e girar na esfera. Player se move respeitando a curvatura, sem "cair" do planeta.
- Cena demo E3 com rotação tipo Terra. Eixo inclinado oscilante, primeira aparição visual coerente do planeta.
Renderização e engine
- Sistema de partículas. CPU-side, com billboards GL, suportando câmera externa.
- Texturas via stb_image. Carregamento de imagens em formato comum (PNG, JPG).
- Sistema de luz solar exponencial. Decay realista de intensidade conforme distância e ângulo.
- Lambert no shader padrão. Iluminação difusa básica, base de tudo que vai ter sombra.
- Pipeline de shader + integração câmera ↔ renderer. Vocabulário mínimo pra desenhar qualquer mesh com qualquer câmera.
- Depth test habilitado. Objetos atrás de outros não atravessam mais.
- Suporte HiDPI + resize. Janela escala corretamente em monitores Retina e ao redimensionar.
- Logging com file sink. Sessão grava log em disco pra análise pós-jogo.
- Cubo girando + animação de rotação. Primeiro frame com algo se mexendo na engine.
UI, inventário e áudio
- Equip / unequip flow. Personagem veste e tira itens, com efeito no estado.
- UI de inventário. Primeira tela funcional do jogo.
- Modelo de dados de inventário. Slots, stacks, peso.
- Layout system + widget basics + UI rendering layer. Toolkit interno de UI, sem dependências externas.
- Music streaming + sound system básico. Áudio de fundo e efeitos discretos funcionando.
Multiplayer e servidor
- Anti-cheat foundation. Detecção de patterns suspeitos no comportamento do client.
- Logging de violations + validação server-side. Servidor não confia em nada que vem do client.
- Login flow token-based + session store. Sessões persistem em memória ou Redis, com refresh e logout.
- Account creation + password hashing seguro. Senhas nunca em texto puro, hash com salt.
- Area-of-interest por player. Cada cliente só recebe updates da região visível pra ele.
- Delta updates por visibility transition. Quando algo entra ou sai da área visível, só a transição é enviada.
- Spatial partitioning da superfície do planeta. Mundo dividido em células pra query eficiente de "quem está perto".
- DB layer F5 MVP + schema MVP. Primeira camada de persistência server-side.
- Authoritative game state. Servidor é fonte de verdade, client renderiza.
- Server-only build. Mesma codebase compila como servidor headless.
- Lobby system 2-4 players co-op. Primeira sessão multiplayer pequena.
- Tile modification protocol. Mudanças no mundo sincronizadas entre clientes.
- Conflict resolution last-write-wins server-side. Política simples e previsível pra alterações simultâneas.
- Multi-client interpolation + client prediction + reconciliation. Movimento de outros players suave no client local, com correção quando o servidor discorda.
- Connection management + message serialization. Foundation do networking.
Persistência
- API high-level de save/load. Salvar e carregar partida com uma chamada.
- Framework de migration. Saves antigos abrem em versões novas, sem perder estado.
- Serialização de world state e player state. Tudo que o jogo precisa pra continuar de onde parou.
Lore e design público
- Taxonomia de tipos de item. Catálogo seed com 21 categorias (armas, ferramentas, recipientes, consumíveis, etc).
- Exclusivos por classe. Cada classe ganhou pelo menos uma ação ou produção que ninguém mais consegue. Monopólio funcional pra garantir demanda real.
- Canon completo de fama. 9 atributos, conversão 0,005, redistribuição em PvP por contribuição, perda de 50% na morte.
- Concept arts: backgrounds e letras. Primeira leva de arte pública, base do branding em asteroth.com.br.
- Compêndio: leva 26 (212/517): Espaldar, Bracelete — fecha o capítulo Armadura.
Infraestrutura de projeto
- Pre-push hook. Suite de testes roda antes de qualquer push, impede commit quebrado de subir.
- GitHub Project v2 "Asteroth". Tracking de épicos e issues público.
- Roadmap por fases. F0 Fundação 3D → F1 Cinematic demo → F2 Gameplay SP → F3 Save/UI/áudio → F4 MP pequeno → F5 MMO infra → F6+ conteúdo.
- Pipeline de release CI/CD. Build automatizado a cada merge.
- Spec coverage comprehensive em todos os épicos. Cada sistema sobe com cobertura de teste antes do próximo começar.
- Relatório HTML visual de specs. Resultados de teste rendezirados em painel próprio.