Dossiê de produção · v7 · 6 outubro 2026 · Rico

Empire.

O contrato integrado de Empire: fundar um reino num mundo vivo, governar através das pessoas e transformar o território. Decisões do painel, imperadores, sucessão, economia, exploração, direção de arte e execução — com Civilization VII e Manor Lords traduzidos para as regras deste jogo.

Dossiê canónico v7Godot 4.7.2Web · PC · comando · toqueSolo · Coop/PvP planeadosTerritório e sociedadesDecisões rastreáveis
00 — Visão canónica

A visão canónica e como usar este dossiê

Integração de 07/10: o relatório territorial foi comparado na íntegra; §§92–96 completam as especificações e rastreiam A01–A12, AUD-CIV-01–18 e T01–T50. O RG-28 já entrou na main; o seu protótipo é a baseline desta leitura. Portos, contratos completos e remessas continuam desenvolvimentos pendentes.

Empire é um kingdom-builder 2D em pixel art, com exploração lateral, moeda física, pessoas que trabalham e combatem no mundo, uma ameaça noturna com memória e um império cuja identidade nasce do território e das escolhas do jogador. A partida começa antes do reino: um imperador, uma carroça e três cidadãos sem ofício atravessam a natureza; o jogador escolhe onde fundar e transforma esse lugar num acampamento, povoado e, muito mais tarde, numa rede territorial.

Esta revisão integra as decisões do painel, o Documento Mestre de 05/10, os relatórios de floresta e subsolo e as ADRs posteriores à v6. As regras foram atualizadas nas secções que as descrevem. A Parte XIV explica a integração de Civilization VII e Manor Lords, os contratos ainda por implementar e a rastreabilidade das respostas. O histórico mantém-se no Git e nas ADRs; não constitui uma segunda versão ativa do design.

Os pilares atuais

Pilar Experiência pretendida Consequência de design
Presença O jogador é um imperador no mundo Governar, lutar, explorar e regressar competem pelo seu tempo; não há seleção direta de tropas ou ofícios
Território O sítio onde se funda importa Bioma, cobertura, água, recursos, vizinhança e acessos condicionam economia, defesa e expansão
Pessoas O trabalho tem corpo, percurso e risco Recrutar não cria profissão; dinheiro não substitui disponibilidade de trabalhadores
Transformação Construir muda o que o lugar permite Desmatar abre espaço e pode retirar abrigo ou rendimento; a consequência deve ser legível antes da ação
Continuidade O reino e as pessoas têm história Evolução, herdeiro, legado, alicerces e perdas persistem com regras próprias
Noite A Podridão responde ao mundo Pressão gradual, composição compreensível, luz e rotas importam; não há enxames fortes sem preparação
Escala A complexidade cresce com a campanha O começo ensina relações locais; sociedades, rotas e Capital acrescentam decisões quando há base para as sustentar

As referências e o que cada uma acrescenta

Kingdom sustenta a leitura lateral, os gestos simples, a moeda física e a gestão por presença. Civilization VII inspira o valor estratégico da posição, assentamentos com funções diferentes, progressão por fases e grupos políticos que podem crescer. Manor Lords inspira a coerência entre trabalho, recursos, ambiente e crescimento orgânico. A tradução concreta para Empire está na §87: não introduz automaticamente hexágonos, turnos, famílias, cadeias industriais, novas moedas ou quotas de felicidade.

O contrato de leitura

  • Decidido significa que a direção está autorizada por uma resposta ou pedido do dono identificado.
  • Implementado exige correspondência no código e validação do comportamento; uma aprovação não basta.
  • Publicado exige o commit efetivamente servido. Um ramo ou PR aberto não é produção.
  • Proposto identifica uma hipótese de desenho ou um valor ainda em _proposed. Não se remove essa etiqueta por uma aprovação de outro assunto.
  • Adiado preserva a escolha de não executar agora. Substituído conserva a proveniência, mas deixa de reger a cláusula em conflito.

O dossiê é a especificação integrada. Decisões explícitas posteriores prevalecem na cláusula afetada e obrigam à sua atualização; ADRs explicam a razão e a migração. CSVs descrevem os valores executados, incluindo os provisórios. Código descreve o que existe, não transforma uma divergência em regra desejada. A §86 resolve os conflitos conhecidos; a §91 conserva as respostas consultadas.

O que existe e o que se está a construir

A revisão começou em bafeb112aa6b9b7162d78fe3053da62c9d6c47ec e foi reconciliada em 07/10 com main/ba743da3a616d27a7df581646e9e7356134c89c8, confirmado como produção READY na Vercel. Já existe jogo Solo com fundação livre, moeda e trabalho físico, monarcas, progressão da sede, floresta persistente e subsolo. A arte renovada, o HUD, a tocha na mão e as correções do PR #92 integram agora essa base publicada. A §90 identifica a versão e os limites da verificação.

O despertar social, a assinatura ambiental completa, a rede de povoações, a sucessão escolhida completa, o quarto imperador e os modos online conservam critérios de aceitação próprios. Não se apresentam como entregues por terem sido aprovados no painel.

As estimativas de horas, mercado e calendário das primeiras versões são históricas, não um compromisso atualizado. A ordem atual é: estabilizar e tornar coerente o ciclo Solo; validar a abertura e progressão; completar território e sociedades; validar sucessão e campanha; construir a rede online. O backlog continua a ser a unidade de execução e o dossiê o contrato de produto.

Parte I

Fundação

O que já está decidido, o que a referência ensina, o que o mercado exige e quem habita este mundo. Nada nesta parte é opinião: é medição.

01 — Inventário

O que a arte já decidiu — e o que ainda não

Medi as tuas duas cenas pixel a pixel, e agora medi também as cinco capturas das referências que deste — pelo mesmo processo. Há uma distinção que a v2 não fez e devia: algumas medições dizem-te como desenhas, e essas valem sempre; outras dizem-te o que está naquela imagem, e essas não valem nada enquanto o cenário não estiver terminado. As das referências pertencem à primeira categoria, e são a parte nova desta secção.

Correção — o erro que eu cometi

Li as tuas cenas como se fossem níveis autorados e construí uma secção inteira em cima disso: cheguei a escrever que "cada edifício está colocado com intenção e nenhum gerador teria feito aquilo". Está errado. São folhas de trabalho — arte em curso, com edifícios espalhados para ver como ficam juntos. Os números confirmam-no:

A distinção que interessa: o design das personagens está praticamente fechado — silhuetas, proporções, escalas, rostos. É o cenário que está no início. Tudo o que eu li como layout era, na verdade, figuras acabadas espalhadas sobre um fundo por resolver.

Panorâmica, faixa de superfície
Só 24,5% tem pixels pintados
Panorâmica, linha do solo
Corre em 50,7% da largura — o chão nem sequer é contínuo
Vazios horizontais
Quatro com 120 px ou mais, o maior com 400 px
Cena de 1280
63,8% da superfície pintada, linha do solo contínua — mais próxima de acabada, mas a faixa por baixo do relvado é branco liso, não um corte de terra desenhado

Tudo o que abaixo dependia de posicionamento, extensão ou proporção de layout foi movido para a coluna "ainda em aberto". A §11 e a §21 foram reescritas em consequência.

O que vale, e vai continuar a valer

Estas medições são propriedades de como desenhas e do desenho de personagem, que já está resolvido — não daquela composição em particular. Uma cena por acabar mede-as tão bem como uma acabada.

MediçãoValorO que decide
Grelha de autoria1:1 nativoSó 37% e 33% das sequências horizontais de cor têm comprimento par. Não é arte de 640×360 ampliada — é desenhada pixel a pixel a esta densidade.
Perda ao reduzir a 640×3606,3% dos pixelsContornos, caixilhos, telhas e ervas partem-se. A resolução interna é 1280 × 720, e esta é a decisão mais estruturante do projeto (§19).
Escala 1 — escudeiro≈ 34 pxTrês escalas de personagem = hierarquia legível sem barra, nome ou seta. Medidas nos teus ficheiros de personagem, não na cena: Empire troop tem 24×47 px úteis e Knight Potato tem 35×64.
Escala 2 — aldeão/tropa≈ 46–52 px
Escala 3 — monarca/elite≈ 56–62 px
ContornoPreto puro, 1 pxEm todo o objeto de jogo. É o que segura a leitura com 300 unidades no ecrã.
Vocabulário de materialSeis materiaisEstuque creme · vigas castanho-escuro · telha azul-petróleo escamada · pedra cinza-frio · madeira quente · relva verde-lima
Paleta de trabalho112 cores104 + 115 opacas nas duas cenas, 137 únicas combinadas. É a rampa atual, não a definitiva — ver §22.
Animação6 frames de idleConfirmado nos dois ficheiros de personagem. Define o ritmo de 10 fps.

O que ainda está em aberto

Isto não se lê na arte atual. São decisões de design por tomar, e a §38 tem-nas na lista desta semana.

Em abertoO que eu tinha assumidoComo decidir
Altura da linha do soloy = 517, medido e tratado como constante de designÉ onde calhou ficar naquela cena. Decide-a a partir do enquadramento de jogo (§11), não da imagem.
Altura do corte de terra203 px, "sempre visível"A faixa branca é espaço por pintar, não um corte desenhado. A proporção é uma escolha de câmara.
Tamanho de região5120 px = 4 ecrãs, "a unidade natural"5120 é a largura da tela onde estavas a desenhar. O tamanho de região decide-se pelo tempo de travessia (§21).
Densidade de edifícios4446 px de "mundo construído"É a extensão do que espalhaste, com vazios de 400 px pelo meio. A densidade decide-se por playtest.
Composição de segmentoColocação intencional, "nenhum gerador faria aquilo"Ainda não existe nenhum segmento autorado. §21 diz como se faz o primeiro.
Paleta definitivaPaleta mestra fechadaÉ a rampa de duas cenas por acabar. §22 diz quando e como se fecha.

As três referências, medidas — não descritas

Deste-me três jogos e disseste que queres cenários assim. Não me limitei a olhar: passei as cinco capturas pelo mesmo processo que usei nas tuas cenas. O período da grelha de pixel de cada imagem sai por análise espectral do perfil de bordas — é invariante ao redimensionamento, por isso funciona mesmo em capturas da Steam já reescaladas e comprimidas. Dividindo a altura da imagem por esse período obtém-se a tela efetiva: a altura, em pixels de arte, a que o jogo foi realmente desenhado.

CapturaCâmaraImagemPeríodoTela efetivaDetalhe de 1 pxContorno 1 px
Milki Delivery — estradaLateral1600×9002,67600 × 33872,7%57,9%
Milki Delivery — florestaLateral1920×10802,67720 × 40572,3%44,2%
Eastward — florestaCima1280×7202,20582 × 32779,5%38,9%
Eastward — aldeia (Octopia)Cima1920×10803,00640 × 36072,8%51,6%
Chef RPG — mercadoCima1920×10802,40799 × 45072,9%69,3%
Empire — as tuas cenasLateral1280×7201,001280 × 720——

"Detalhe de 1 px" = fração de sequências horizontais de cor com um só pixel de comprimento, na grelha do próprio jogo. "Contorno 1 px" = fração de sequências escuras com um só pixel. A estimativa de tamanho de paleta não é fiável a partir de JPEG e ficou de fora.

O número que muda tudo

As cinco referências vivem entre 327 e 450 pixels de altura de arte. Média: 376. Tu desenhas a 720.

Isso são 1,9× a densidade linear de qualquer uma delas e 3,7× os pixels por ecrã. O Eastward — seis anos, equipa que chegou a oito, deferred lighting com bump maps pintados peça a peça — mede 640 × 360 na captura da aldeia e 582 × 327 na da floresta. As duas leituras batem certo: 640×360 é o valor que os jogadores relatam para a resolução base, e a diferença na segunda vem de a cena ser montada em 3D, onde os sprites não caem todos à mesma escala inteira. Em qualquer dos casos, menos de metade da tua grelha.

E há uma segunda surpresa: o Milki Delivery, o único dos três que partilha a tua câmara lateral, não é pixel art — é desenhado à mão, na Unity. Mesmo assim mede um período de 2,67, porque o desenho é depois rasterizado a ~600×338. Aquilo que te parece "cenário lindo em pixel art" é, na verdade, ilustração grande apresentada em pouca resolução.

O que os números querem dizer, em desenho
O teu contorno pesa metade

Em todas as cinco capturas, o contorno dominante tem 1 pixel na grelha delas — 39% a 69% das sequências escuras. Uma tropa tua de 47 px a 720 ocupa a mesma fração de ecrã que uma de 25 px a 376. Pões 1 px de contorno onde elas põem o equivalente a 2 dos teus. Em peso aparente, o teu contorno é metade do da referência — e é por isso que as tuas figuras, apesar de melhor desenhadas, não "assentam" como as delas.

O teu detalhe mínimo também

Nas cinco, cerca de 73% do detalhe é de 1 px na grelha própria — o que na tua equivale a 2. Se pintares cenário com detalhe de 1 px, estás a desenhar ao dobro da densidade das tuas referências: a pagar o dobro das horas para obter um resultado mais ruidoso, não mais bonito. É o erro clássico de escolher resolução a mais — sobra espaço, e o espaço enche-se de ruído.

A lei da escala dupla — a decisão de arte mais importante deste documento

Tudo o que na referência é 1 px, na tua grelha é 2 px. Contorno de silhueta, folha de erva, telha, caixilho, junta de pedra, cluster mínimo. A tua resolução é o dobro da delas; a tua unidade de desenho de cenário também tem de ser.

As personagens são a única exceção, e é de propósito. Elas ficam com detalhe de 1 px. Num ecrã onde o mundo é desenhado a passo de 2 px e as figuras a passo de 1 px, as figuras destacam-se sem contorno extra, sem barra de vida, sem seta — porque são literalmente o dobro da resolução de tudo o resto. É hierarquia visual feita com a grelha, e sai de graça.

Isto não baixa a resolução do jogo nem toca numa linha da arte que já fizeste. Muda só a densidade a que pintas o mundo à volta dela. A §22 tem a especificação, o novo orçamento de horas, e o que fazer com o conflito de calendário que isto resolve.

As camadas Aseprite já são um sistema de equipamento

Esta parte mantém-se inteira, e é a mais valiosa. Os teus ficheiros separam Body, Face, Shield, Sword, Equipments. As cenas confirmam a intenção: os aldeões são corpos-base creme com cabelo, barba e objeto na mão a mudar. Um corpo, dezenas de personagens. O pipeline exporta por camada, nunca achatado. §22 formaliza em cinco slots — e é isto que torna viável teres seis povos.

FicheiroTelaSprite útilFramesCoresCamadas
Empire troop192×19224×47632Knight · Body · Face · Shield · Sword · Equipments
Knight Potato128×12835×64641Background · Body · Face · Arms and Weapons
Archer Leek————Personagem do povo Horta (§04)
Healing Frog————A criatura verde do trono. É sistema, não adereço (§08)

A gramática visual — o que a arte realmente prova

Contorno

Preto de 1 px em tudo. Nenhum elemento de jogo flutua sem contorno.

Sombreamento

Dois tons por material, sem gradientes. O dither fica reservado a efeitos, não a decoração.

Rostos

Bocas largas com dentes, olhos afastados, narizes grandes. O humor está na cara, não em piadas de texto — e por isso atravessa idiomas de graça (§27).

Sinalética

As lojas identificam-se por ícone entalhado em madeira, nunca por texto. É UI diegética e localização grátis.

A regra de ouro, corrigida

Escrevi antes que "a arte manda" e que nenhuma decisão técnica pode obrigar a redesenhar a arte existente. A formulação certa é mais estreita e mais forte: é a grelha de autoria que manda. Nenhuma decisão técnica pode obrigar-te a desenhar a uma densidade diferente daquela a que desenhas bem. O layout, esse, ainda é todo teu para decidir — e é melhor assim, porque decidir layout com o jogo a correr dá sempre melhor resultado do que decidir numa tela em branco.

02 — Referência

Kingdom, desmontado peça a peça

Para superares o Kingdom precisas de saber exatamente porque é que ele funciona. Thomas van den Berg e Marco Bancale acertaram em coisas que parecem acidentais e não são — e falharam em coisas que ninguém corrigiu em oito anos.

As sete decisões que o fazem funcionar

Uma única ação

O jogador só faz uma coisa: largar moedas. Contratar, construir, melhorar, alimentar — tudo é a mesma ação, mudando só o alvo. Van den Berg: "em vez de só um botão para saltar, temos só um botão para pagar." O que roubar: a moeda como verbo universal.

A moeda é física, não um número

Cada moeda é uma moeda no saco. O saco tem capacidade real; as moedas caem no chão quando morres; os inimigos roubam-nas. Isto transforma economia em objeto tangível e elimina praticamente toda a UI.

O mundo é unidimensional

Esquerda e direita, sem plataformas. O custo que ele próprio reconhece: as táticas de posicionamento ficam limitadas a um eixo, e armas de área comportam-se mal quando os inimigos se empilham. É aqui que entras: a tua segunda camada (§11) resolve exatamente esta limitação.

Cidadãos previsíveis, não inteligentes

Um algoritmo de atribuição de trabalho top-down: os postos pedem gente, a gente é distribuída, os trabalhadores são "ligeiramente omniscientes". Van den Berg é explícito: "é importante que sejam previsíveis, porque não tens controlo direto sobre eles." Não há behavior trees. Há regras legíveis.

O roguelike serve a produção, não o género

Ele admite: "é uma forma eficaz de escalar automaticamente a dificuldade", reutiliza assets e elimina saves complexos. Em Two Crowns recuaram — o sistema de decay mantém a maior parte do construído porque "descobrimos que há grande satisfação em construir de forma permanente."

Zero tutorial, zero UI

Tudo é ensinado por afordância visual e por perda. Funciona porque o vocabulário é minúsculo. Com 48 mecânicas, tu não podes fazer isto — precisas de um sistema de descoberta desenhado (§17 e §25).

O ciclo tem ritmo de respiração

Manhã (expandir), meio-dia (os portais detetam), tarde (recuar), crepúsculo (posicionar), noite (sobreviver). O sino da manhã marca o início social do dia. Nada interrompe o ritmo do sol exceto as ondas de contra-ataque.

Os números reais do Two Crowns — referência de escala, não modelo

Estes são os valores publicados do jogo que queres superar. Usa-os para uma coisa só: calibrar a escala. A estrutura da tua economia é diferente da dele (§06) — o Kingdom não tem casas de produção, não tem conversão de matéria em capacidade, não tem comércio, não tem manutenção de tropas nem ganância. O que vale a pena herdar é a legibilidade destes números, não a forma como se ganham.

ItemCusto KTCItemCusto KTC
Arco2Barricada1
Martelo3Muro de madeira3
Foice4Muro de pedra5
Escudo4Muro de castelo8
Espada12Muro de ferro12
Plataforma elevada3Fogueira (nível 1)3
Torre de vigia6Aldeia (nível 3)9
Torre de defesa9Castelo (nível 6)18
Quinta (dia)3Casa de quinta8
Barril de fogo5Catapulta6
Capacidade de moedas
Camponês 2 · Trabalhador 2 · Escudeiro 5 · Arqueiro 11 · Cavaleiro 11 · Agricultor 14
Rendimentos de caça
Coelho 1 · Veado 3 (exige 2 acertos de arqueiro) · Javali 29 · Pesca 1
Banqueiro
7% de juro diário, com teto de 8 moedas/dia
Precisão do arqueiro
≈ 1/3 em campo aberto · ≈ 100% dentro de torre
Estação
16 dias · rotação completa de 4 estações = 64 dias
Resistência ao decay
Muro 1: 2 dias · 2: 4 · 3: 8 · 4: 12 · 5: 20
A leitura que interessa

Repara na compressão: o custo total de subir de barricada a muro de ferro é 29 moedas, e a espada sozinha custa 12. Kingdom mantém quase toda a economia dentro de uma gama de 1 a 30. Isso é deliberado — números pequenos são legíveis quando são objetos físicos no chão. Herda a escala, não a estrutura. Se as tuas muralhas chegarem às 65 moedas (§10), o saco e o transporte têm de acompanhar, e é por isso que existe o cavalo de tração (§12). Mas onde o Kingdom tem uma linha reta entre moeda e coisa, tu tens três circuitos com decisões pelo meio — é aí que os dois jogos divergem, e é aí que o teu ganha.

Onde o Kingdom falha — e é aí que entras

Falha admitidaConsequênciaA tua resposta
Economia desequilibra no late gameVan den Berg: "alguns jogadores ficam ricos demais". O desafio desaparece.Sorvedouros permanentes: ganância do rei, dívida com mercenários, manutenção de tropas (§06, §14, §15)
Táticas num só eixoCombate vira acumulação, não posicionamentoDuas camadas verticais + tropas voadoras (§11)
Unidades sem identidade"Arqueiro n.º 7" é descartávelImperadores e companhias próprios, ofícios que evoluem e tropas com identidade (§08, §09)
Repetição entre corridasO meio do jogo arrastaFortalezas conquistáveis que dão habilidades, kits de arquitetura e mapas (§13)
Zero narrativaNada a descobrir além de mecânica12 diários de campanha, dois epílogos, segredos que ensinam (§17)
Sem controlo de focoInimigos empilham-se e as flechas desperdiçam-seO arqueiro marca alvos; as tropas priorizam-nos (§07, §08)
03 — Mercado · novo

O mercado, com números, sem consolo

Contexto histórico: estudos de mercado, previsões, horas, listas de arranque e estados de implementação desta versão descrevem a fase em que foram escritos. A baseline e a ordem de execução atuais estão na §90; decisões posteriores da §86 prevalecem. Exemplos antigos não são ficheiros para copiar sobre o projeto atual.

Esta secção não existia na v2 e devia. Vais gastar dois a três anos nisto. Convém saberes exatamente contra o que estás a jogar antes de escreveres a primeira linha — e, mais importante, quais são os números que tens de atingir para que valha a pena.

O estado do Steam em 2026

20 282
Jogos lançados no Steam em 2025

Cerca de 55 por dia. Quase metade acabou o ano com menos de 10 análises.

2,99%
Chegaram a 1 000 análises

608 jogos. É a taxa mais alta em quatro anos — subiu de 2,44% em 2024. Mil análises é o marcador que melhor prevê 150 000 $+ de receita bruta.

≈ 300
Jogos passaram 1 M$ em 2025

1,5% dos lançamentos. O indie representou ~4,4 mil M$, 25% da receita total do Steam.

A matemática das wishlists

É a única equação de marketing que precisas de saber, e determina quando lanças. A conversão da primeira semana depende do número de wishlists acumuladas — mais wishlists convertem melhor, não só mais:

Wishlists ao lançarConversão 1.ª semanaO que significa na prática
< 5 000≈ 15%O algoritmo ignora-te. Lançar aqui é aprender, não vender.
5 000 – 39 999≈ 20%Tração real. Acima de 7 000 entras em Popular Upcoming.
40 000 – 99 999≈ 23%Zona dos 250 k$–999 k$. Valve começa a promover-te sozinho.
100 000 +≈ 25%Zona do milhão.
O teu alvo, calculado ao contrário

A fórmula é receita necessária ÷ preço ÷ conversão = wishlists. Para o Empire a 16,99 € (§36), com 20% de conversão e 70% depois da comissão do Steam:

Objetivo mínimo
10 000 wishlists → ≈ 2 000 cópias na 1.ª semana → ≈ 24 000 € brutos → ≈ 16 800 € líquidos
Objetivo realista
30 000 wishlists → ≈ 6 900 cópias → ≈ 82 000 € brutos → ≈ 57 000 € líquidos
Objetivo bom
60 000 wishlists → ≈ 13 800 cópias → ≈ 165 000 € brutos → ≈ 115 000 € líquidos

A primeira semana é tipicamente 20–30% da receita do primeiro ano. Multiplica por três a quatro para o valor a doze meses, e conta com uma cauda longa: o Two Crowns ainda tinha 2 788 jogadores em simultâneo no pico, oito anos depois do lançamento.

Os três jogos que provam que é possível

JogoEquipaVendasReceitaA lição para ti
Kingdom: Two CrownsEstúdio + publisher2–5 M—19,99 $, 88% positivo, 88 538 seguidores. O género aguenta um preço alto e vive anos.
Thronefall1–3 pessoas315 k → 1 M+1,5 M$ em 2 mesesGanhou com escopo mínimo e demo forte. Um solo bem posicionado bate um estúdio disperso.
Bad NorthEquipa pequena——Unidades com identidade persistente que sobem de nível entre batalhas e podem morrer para sempre.
A comparação honesta com o Thronefall

O Thronefall vendeu 315 000 cópias e fez cerca de 5 $ por cópia, não 7 — descontos regionais e o mercado chinês a 45% do preço americano. Foi feito por gente com audiência prévia: o Jonas Tyroller tinha 177 000 subscritores no YouTube e o devlog dele fez 79 000 visualizações antes do jogo existir. Tu não tens essa audiência. É por isso que §36 põe o devlog na Fase 1, não na Fase 5. A tua vantagem compensatória é o estilo: o Thronefall ganhou com minimalismo deliberado e tu tens um mundo desenhado à mão com humor na cara das personagens. Beleza é o que se partilha — mas só depois de existir uma cena acabada para partilhar, e é por isso que a §22 põe uma cena-cartaz na Fase 1.

O que isto muda no plano

  • A página de Steam entra cedo — Fase 3, não Fase 6. Wishlists acumulam durante meses; não se compram no fim.
  • A demo é uma arma, não um subproduto. O Thronefall entrou no Next Fest de junho de 2022 e ficou em 15.º lugar em seguidores ganhos entre ~1 000 jogos. Lançou treze meses depois. §36 copia esse calendário.
  • Um GIF de 6 segundos vale mais do que um sistema. O teu castelo-árvore com a mancha da Podridão a chegar no horizonte é o GIF. Constrói-o cedo e mostra-o durante dois anos.
04 — Identidade

Cada império é um povo diferente

Os povos dão identidade à arquitetura, à economia, à defesa e às relações políticas. O território natural existe primeiro; sociedades e culturas ocupam-no e transformam-no ao longo da campanha (§88).

Variedade de bioma

Bioma, cobertura, clima e recursos tornam a região distinta antes de existir uma sociedade. A cultura acrescenta arquitetura e usos próprios; não substitui a identidade natural.

Progressão com significado

Conquistar deixa de ser "+1 recurso". Passa a ser adquirir uma cultura: o direito de construir como eles e de recrutar o que só eles têm.

Rejogabilidade de graça

Escolher imperador e terreno de fundação muda as oportunidades iniciais. Os contactos, as conquistas e a ordem de expansão transformam essa identidade sem reiniciar o mundo.

Escopo controlado

Cada povo é um kit fechado: arquitetura + tropa própria + especialidade + gramática de muralha. É uma unidade de produção que cabe numa fase do roadmap.

Os seis povos, e mais dois

Nomes de trabalho. A Geada e a Bruma integram a mesma campanha conforme Q-152; Bruma substitui Paul (Q-175). São oito povos, cuja implementação e crescimento social têm estados próprios. O que interessa é a lógica: terreno → arquitetura → economia → defesa → tropa única. Nunca inventes um povo sem preencher as cinco colunas.

PovoTerrenoConstróiEconomia forteDefesaTropa única
Enramados (a tua cena)Floresta antigaDentro e à volta de árvores gigantes; plataformas, escadas, varandasMadeira e caçaAltura: tudo dispara de cimaArqueiro de copa — atira da faixa aérea
PortuáriosCostaPorto enorme, pontões, armazéns sobre estacasPesca e comércio — o único que ganha moeda de noiteÁgua como fosso naturalBarcaça — desloca 6 tropas pela costa
FendaDesfiladeiroEscavado na rocha, pontes suspensas entre paredesPedra e minérioEstrangulamento: uma só entradaAríete de contrapeso
Horta (os legumes)Várzea fértilCeleiros, estufas, silos, espantalhosAgricultura — o dobro de rendimento por canteiroNúmeros: tropas baratíssimasSemeador — planta durante o combate
FornalhaVulcânicoFundições, chaminés, muros de escóriaMetal e armasFogo permanente nas muralhasFerreiro de guerra — repara muros em combate
Sob-RaizSubterrâneoTúneis, câmaras, cogumelaresFungos e segredosNão tem muralhas — tem labirintoEscavador — abre passagens entre faixas
Geada (Q-152, campanha)GlaciarIglus, abrigos de pastor de pedra, paliçada de geloFrio que guarda — nada estragaChão gelado: a Podridão abrandaGuarda do Gelo — abranda quem golpeia
Bruma (Q-152, campanha)PântanoPalheiros de colmo e casas sobre estacasCaniço e enguias; as montarias recuperam ao dobroLodo que prendeCaçador do Caniçal — chega às libélulas
O que um povo é, tecnicamente

Um PeopleData.tres com: kit de arquitetura (5–8 cenas de segmento), rampa de paleta, conjunto de muralhas (5 níveis), tropa própria, modificadores económicos, e o seu segmento de mundo para a geração procedural. Nada mais. Se um povo precisar de código próprio, o sistema está mal desenhado.

Os cinco pilares

Cada império é uma civilização

Terreno molda arquitetura, que molda economia, que molda defesa. No fim do jogo, o teu império é uma colagem visível de tudo o que absorveste — e isso lê-se num único ecrã.

Cada súbdito é alguém

O rei gordo de coroa torta com um escudeiro de elmo grande atrás. O ferreiro de bigode. O cavaleiro que se cura sentando-se no chão e faz nascer vegetação. Não são "unidade tipo 3" — são razões para doer quando morrem, e a tua morte é permanente.

O mundo tem um andar de baixo

A faixa vazia por baixo do relvado da tua cena é o pilar estrutural: caves, dungeons e um segundo plano de circulação para fugir de tropas terrestres, flanquear e esconder segredos. É o diferencial que resolve a limitação que o criador do Kingdom admite.

Lealdade é uma moeda

Inimigos viram aliados e aliados viram inimigos. O bardo encanta, o diplomata assimila, os mercenários vendem-se ao maior lance e cobram dívidas, reis gananciosos sangram o teu tesouro. A fronteira entre o teu exército e o deles é permeável — e essa permeabilidade é o sistema de progressão.

A noite é uma personagem

Não são ondas. É A Podridão — uma substância que avança pelo terreno em direção ao império, invocando criaturas até chegar às muralhas, e que desaparece com o dia. Tem posição, velocidade e rasto. O jogador vê-a chegar.

Nomes de trabalho

Uso Empire como nome de código do jogo e A Podridão para a ameaça noturna. Os nomes dos povos são marcadores de posição — o que tem de ficar fixo já é a lógica de cada um, porque é dela que saem a arte, as tropas e o balanceamento. §36 trata do nome comercial e da verificação de marca.

Parte II

O jogo

Catorze sistemas, com os números escritos. Cada tabela desta parte é uma folha de balanceamento — vive em .tres, nunca em código.

05 — Loop

O dia, a noite e A Podridão

Um dia dura 360 segundos reais. Cada fase tem uma função de jogo distinta e um estado visual inequívoco — cor da luz ambiente, som, e comportamento das tropas. O jogador nunca precisa de olhar para um relógio.

Alvorada Manhã Meio-dia Tarde Crepúsculo Noite 15 s 85 s · recrutar, expandir, colher 40 s · risco 85 s · última janela 30 s 105 s 0 s 90 s 180 s 270 s 360 s A Podridão nasce na borda do mapa ▸
O ciclo de 360 s. A largura de cada bloco é proporcional à duração real. As 105 s de noite são 29% do dia — e são a única parte em que nada se constrói.
FaseDuraçãoFunçãoEstado das tropasLuz ambiente
Alvorada15 sSino. A Podridão retrai-se. Perdas são contadas.Saem dos postosÂmbar rasante
Manhã85 sRecrutar, expandir, colher, explorarTrabalho livreNeutra
Meio-dia40 sFortalezas inimigas detetam presença. Risco de contra-ataque.Trabalho livreAlta, dura
Tarde85 sÚltima janela de construção. Preços de mercenários sobem 25%.Trabalho livreDourada
Crepúsculo30 sA Podridão nasce na borda do mapa. Aviso sonoro.Recolha aos postosVermelha baixa
Noite105 sDefesa. Nada se constrói exceto pelo construtor evoluído.Posto de cercoCastanho profundo · 32° · 0,22 · 0,16
Revisto na Parte XIII

A massa, a velocidade e a natureza desta entidade foram revistas na §74: A Podridão passa a trazer uma candeia e a comer os mortos que ficam no campo. A cor da noite está decidida: a linha da Noite nesta tabela já foi corrigida para castanho, e a razão está na §80 e na ADR 0011 (Q-037, fechada a 13/09/2026). A caixa "Alimentar" ganhou voz e preço na §75.

A Podridão — especificação completa

A tua ideia de "uma sombra que vai de encontro ao império invocando inimigos até chegar" é a mecânica mais original da lista. Merece ser um sistema de primeira classe, não um spawner disfarçado.

Natureza
Entidade única com posição em X, largura, e uma massa que funciona como orçamento de invocação
Nascimento
No crepúsculo, na borda mais distante do lado ameaçado (ou nos dois lados a partir do dia 12)
Velocidade
v = 14 + 0,9 × dia px/s no plano do jogo; abranda 40% ao atravessar terreno consagrado
Massa
M = 60 + 26 × dia + 40 × fortalezas_conquistadas — substituída pela §74: M = 40 + 18 × dia + 30 × fortalezas + 22 × amargueiros + 45 × amargueiros_nomeados + 8 × min(recusas_nos_últimos_5_dias, 5). O rot.csv traz os termos novos.
Invocação
Gasta massa a cada 4–7 s a criar criaturas da tabela do bioma; a criatura nasce dentro da mancha
Rasto
Deixa terreno apodrecido: plantações destruídas, animais mortos, movimento −20% até ao dia seguinte
Morte
Não pode ser morta em campo aberto. Recua ao amanhecer. Só é impedida.
Como o jogador interage com ela
  • Ver — a mancha é visível no horizonte durante o crepúsculo. O jogador consegue estimar a que horas chega, e isso é uma decisão: avançar mais uma plantação ou recuar já?
  • Atrasar — fogueiras, barris de fogo e terreno consagrado abrandam-na. Cada segundo de atraso é uma vaga de invocação a menos. A fogueira é a das rondas noturnas: 3 moedas, o abrandamento do barril, e é lá que se compra o archote — o item que se leva para explorar de noite. Arde um tempo e acaba; fora das muralhas e da luz, sem ele, a noite traz inimigos de qualquer lado (Q-029).
  • Desviar — pontes e o nível subterrâneo permitem que ela passe por baixo ou por cima do teu império se o caminho de superfície estiver selado. Isto é uma tática avançada, não um bug.
  • Alimentar — deixar sacrifícios (animais, tropas fracas, ouro) reduz a massa. Sinistro, eficaz, e mecanicamente honesto: transformas economia em segurança.
Porque é que isto é melhor do que ondas

Uma onda é um número que aparece. Uma mancha que avança é informação espacial contínua: o jogador olha para o horizonte e sabe quanto tempo tem. O Kingdom tem de te dizer que a noite chegou; o teu jogo mostra-a a chegar. Esta única diferença gera tensão durante 135 segundos por dia, todos os dias — e é o teu GIF de marketing (§36).

Os dois gestos de gestão e as ações de combate

Verbo 1 — Largar moeda

Recrutar, construir, melhorar, pagar, alimentar, subornar. O contexto define o efeito. Toda a economia passa por aqui. É o verbo do Kingdom, herdado inteiro.

Verbo 2 — Assumir

Escolher um imperador desbloqueado na Casa do Herdeiro, só com sucessor preparado (§15, Q-196/Q-202), montar, entrar e sair da camada subterrânea, ordenar a uma tropa que suba numa criatura enorme. Um botão, sempre contextual, sempre o mesmo botão. Nenhuma tropa se assume.

Regra inegociável

Moeda e interação contextual mantêm a gestão simples. Ataque, habilidade e corrida são ações próprias aprovadas (Q-184/Q-193), com paridade entre teclado, comando e toque (§24). A simplificação não pode esconder uma ação necessária.

Painel de 30/09/2026 — ADR 0043. As fissuras no chão podem vir de um lado ou de dois, à sorte, conservando o orçamento total. O limiar de dois lados continua no dia 12 e as primeiras dez noites mantêm a curva anterior (Q-179, ADR 0043). Os valores novos de balanceamento são propostas ajustáveis nas tabelas.

Ritmo atual do contrato: a §89 reconcilia Q-239–Q-243. O limite de estreia 3/6/9 foi contestado; primeira noite funda na 12 e rampa de sete noites receberam aprovação no contexto da proposta. A implementação da auditoria de 09/10 usa rampa de sete noites e primeiro pico na noite 12; o valor de estreia continua pendente da Q-240. Antes da fundação, dia visual e despertar social não se confundem (§25).

Tocha e acordo futuro (Q-247, resposta de 07/10): a tocha de mão serve inicialmente como ferramenta de iluminação sem desgaste. Mais adiante, um acordo desfavorável poderá permitir à Podridão corrompê-la e torná-la consumível. “Metade do jogo” indica a intenção de progressão, não uma percentagem ou noite fixada. O gatilho, consumo, recuperação e relação com emboscadas ainda precisam de especificação. Na baseline, a tocha ilumina e o archote comprado protege; não se infere que a nova resposta tenha aprovado proteção gratuita.

06 — Economia

Produção, conversão e comércio

Território e circulação: §92 especifica capacidade e produção; §95 distingue comércio abstrato de remessa com conservação de stock. O RG-28 valida implantação, mas ainda não demonstra a cadeia logística física inteira.

A economia do Kingdom tem um circuito: moeda entra, coisa sai. A tua tem três, e é aí que o jogo deixa de ser um clone. O Kingdom serve-te de referência para uma coisa só — escala e legibilidade, números pequenos que são objetos físicos no chão. A estrutura é tua.

Correção à primeira v3

A versão anterior desta secção era uma lista plana de edifícios que imprimem moedas. Isso é a economia do Kingdom, não a tua. A tua lista diz "criar comércio, edifícios/casas de produções, plantações e pesca" e descreve animais que se podem guardar ou enviar ao cozinheiro. Nada disso é uma fonte de moeda — são cadeias com uma decisão no meio, e o comércio nem sequer existia no documento. Está corrigido abaixo.

Os três circuitos

1 · Produção

Plantações, pesca, caça e fazendas geram moeda ou matéria. É o circuito rápido e é o único que o Kingdom também tem.

2 · Conversão

Toda a matéria pode virar moeda agora ou capacidade depois, através de um ofício. Nunca as duas. É o circuito que dá profundidade.

3 · Comércio

Cada povo conquistado e mantido vivo abre uma rota. É o circuito lento, e é a razão económica para não arrasares tudo o que tomas.

Moedas e matérias

Três moedas com velocidades diferentes, e uma quarta camada que não é moeda e nunca entra num inventário.

TipoOrigemUsoPersistência
MoedaColheita, animais, pesca, caça, comércio, saqueTudo o que é diário: recrutar, construir, pagarCai no chão quando morres. Roubável.
Semente RealSó de fortalezas conquistadas e segredosDesbloquear classes, evoluções de ofício, mapasNunca se perde. É o teu metaprogresso.
FavorDiplomacia, bardo, conversõesAssimilar impérios, comprar mercenários sem dívidaDecai 10%/dia se não for usado
MatériaGrão, peixe, animal vivo, madeira, minérioConsumida por um ofício, ou vendidaFica no edifício que a produziu. Não é transportada pelo jogador.
A regra que impede isto de virar um jogo de crafting

A matéria-prima nunca aparece num inventário e nunca tem um número no ecrã. Fica no edifício que a produziu e é consumida por quem a vai buscar. O jogador não gere stock — vê carroças a andar entre o celeiro e a cozinha, e percebe o estado da economia pelo trânsito. Os dois verbos do §05 mantêm-se intactos: a decisão de conversão faz-se apontando um ofício a um edifício, que é o Verbo 1 com outro alvo.

Circuito 1 — produção

FonteCustoProduzSe venderPaybackRisco
Plantação (canteiro)4Grão2/dia2 diasDestruída pelo rasto da Podridão
Pesqueiro6Peixe3/dia2 diasSó em bioma com água; imune ao rasto. O peixe estraga: sem Salga perde 1 por dia no pesqueiro, e o payback passa a 3 dias
Galinheiro8Galinhas vivas3/dia2,7 diasRoubáveis à noite
Estábulo de vaca14Vacas vivas5/dia2,8 diasOrdenha manual — exige uma tropa parada
Corte de madeira7Madeira2/dia3,5 diasSó em bioma de bosque
Poço de minério12Minério4/dia3 diasSó em bioma de rocha; atrai Cavadores
Caça (não é edifício)0Moeda direta3–9—Exige sair das muralhas de dia
Saque de fortaleza—Moeda direta40–160 (uma vez)—Alto, e fecha a rota de comércio. §13.

Circuito 2 — as casas de produção, e a decisão que as define

Cada matéria tem uma casa que a processa, e cada casa oferece a mesma decisão binária: moeda agora, ou capacidade depois. Uma regra, cinco instâncias. É a tua ideia dos animais e do cozinheiro, generalizada a toda a economia.

MatériaCasaCustoMoeda agoraCapacidade depois
GrãoCeleiro10+50% do valor de venda do grãoCozinheiro: +vida a todas as tropas
PeixeSalga9+50%, e o peixe deixa de estragarCozinheiro: +velocidade a todas as tropas
Animal vivoCurral11Rendimento passivo (a galinha bota, a vaca ordenha-se)Cozinheiro: prato de combate — buff forte de 20 s, permanente no nível 2
MadeiraSerração13+50% do valor de vendaConstrutor: −25% no custo de muralha e torres
MinérioFundição18+50% do valor de vendaFerreiro: +1 nível de arma e escudo a todas as tropas equipadas
As fazendas — a mecânica que o Kingdom não tem

Vale a pena isolá-la porque é a tua ideia mais original nesta secção e é a que ensina a regra inteira. Os animais não largam itens convencionais. A galinha bota uma moeda; a vaca ordenhada larga moeda. Mas o animal é ele próprio um recurso, e tens três destinos:

Manter no curral
Rendimento passivo e seguro. Galinha 3/dia, vaca 5/dia. Nunca acaba.
Enviar ao cozinheiro
Consome o animal. Gera boosts de vitalidade e velocidade que valem muito mais do que o rendimento — mas o animal desaparece e o rendimento com ele.
Alimentar A Podridão
Sacrifício noturno: reduz a massa e atrasa a invocação (§05). Desespero puro, e por isso memorável.

Três destinos, três horizontes temporais: sempre, esta campanha, esta noite. É a economia inteira do jogo condensada num galinheiro, e o jogador aprende-a sem uma linha de texto.

Circuito 3 — comércio

Estava em falta no documento e é o item que amarra a economia à conquista. Um povo conquistado e mantido vivo abre uma rota entre o território dele e a tua capital.

Como abre
Rendição sem morte do rei (§13), ou assimilação pelo diplomata (§14). Arrasar não abre rota.
Custo
Uma carroça (5 moedas) a percorrer o caminho. Se a carroça morre, a rota para até a substituíres.
Rendimento
4–6 moedas/dia por rota, a crescer ~8%/dia com o volume. Lento a arrancar, imparável no fim.
Efeito de rede
A partir da segunda rota, cada rota adicional dá +10% a todas as outras. Seis povos ligados valem muito mais do que a soma de seis.
Risco
Acampamentos de mercenários assaltam carroças (§14). O rasto da Podridão corta a rota durante um dia.
Impulsos
A Feira Livre e a Rota Protegida (§15) atuam aqui — é o comércio que os impulsos reais melhoram.
O que o comércio faz ao jogo

Dá dentes económicos à escolha moral que já tinhas. Matar o rei inimigo dá 40–160 moedas uma vez. Poupá-lo dá uma rota que rende para sempre e valoriza todas as outras. O jogo continua a não te dizer qual é a certa — mas agora a ganância a curto prazo tem um preço a longo prazo que o jogador consegue calcular. E é a resposta à pergunta que todo o jogo de conquista tem de responder: porque é que eu havia de manter isto vivo?

Os cinco sorvedouros

Manutenção de tropas

Cada tropa acima de 8 custa 0,5 moeda/dia; acima de 20, 1,5/dia. Um exército grande tem de produzir para se sustentar.

Ganância do rei

Uma percentagem do rendimento diário desaparece para os nobres — incluindo o comércio. Varia por rei (§15) e é o teu mostrador de dificuldade narrativa: o jogador percebe que está a ser roubado por alguém, não penalizado por um sistema.

Dívida com mercenários

Juro composto com prazo. É o único sorvedouro que o jogador escolhe contrair. §14.

Alimentar A Podridão

Converter animais, tropas fracas ou ouro em segurança à noite.

Custo escalado de muralha

Cada nível custa aproximadamente base × 1,8^n — os preços que mandam são os da tabela do §10 (6 · 11 · 20 · 36 · 65) —, e há dois caminhos concorrentes de upgrade (§10) — o jogador nunca tem dinheiro para os dois.

A curva, e o dia da asfixia

Meta de design: o jogador está sempre a perder terreno lentamente, e a única forma de recuperar é conquistar. Isto força o jogo para a frente e mata o turtling infinito. A produção cresce a 1,12^(d−1) sobre a base construída, o comércio a 1,08^(d−1) por rota, e o custo de sobreviver à noite a 1,22^(d−1) a partir de 6,1.

Correção à v2

A v2 dizia 1,12^d contra 1,16^d. Está errado, e só se vê ao desenhar a curva. A manutenção de tropas é um custo fixo, não proporcional — subtrai-se depois do crescimento, portanto o rendimento líquido cresce mais depressa do que 1,12. Com 1,16 as duas linhas nunca se cruzam dentro de trinta dias, e o jogo cai exatamente no problema que o Kingdom tem. O expoente do custo noturno tem de ser 1,22. Este é o tipo de erro que uma tabela esconde e um gráfico apanha em cinco segundos.

Rendimento líquido/dia Custo de sobreviver à noite Parte que vem do comércio Bruto (antes de sorvedouros)
Dia da asfixia— Manutenção/dia— Perda para nobres, dia 12— Líquido no dia 1—

Como ler: o dia da asfixia é aquele em que a linha roxa passa a verde — o ponto em que sobreviver custa mais do que produzes. Alvo de design: entre o dia 9 e o dia 14, e o número fica verde quando estás dentro do intervalo. Põe as rotas de comércio a 2 e vê os quatro dias que a conquista te compra — é essa a mensagem económica do jogo inteiro; cada rota vale cerca de dois dias, com retorno decrescente. E repara numa propriedade importante deste modelo: mesmo com tudo no máximo, a asfixia chega ao dia 28. A curva cruza sempre. É exatamente isso que impede o problema que o criador do Kingdom admitiu — nenhuma economia, por melhor que seja, deixa o jogador confortável para sempre.

Como usar isto na prática

Estas variáveis vivem em data/economy/curve.tres. Quando um playtest disser "aos oito dias já não tinha nada a fazer", mexes num número e voltas a correr — sem tocar em código. §31 mostra o teste automático que trava a curva: se o dia da asfixia sair fora do intervalo 9–14 para os perfis padrão, o CI falha.

Relações económicas e ambientais: a §87 liga os três circuitos ao lugar, à disponibilidade de pessoas, aos percursos e à perda de habitats. O armazenamento físico conserva limites. O perfil imperial pode ser desbloqueado para novo começo; evolução ganha-se de novo (§16). Não se criam novos recursos ou consumos domésticos pela analogia com Manor Lords.

07 — Combate · novo

O modelo de combate, com a matemática feita

Esta secção não existia na v2, e é a mais perigosa de deixar por escrever. Num jogo de controlo indireto, o combate não pode ser emocionante — tem de ser legível. O jogador não comanda ninguém; só decide quem existe, onde está e o que traz vestido. Se ele não conseguir prever o resultado antes de a noite começar, o jogo parece aleatório.

As quatro regras de resolução

1 · Sem números no ecrã

Nada de barras de vida flutuantes nem de dano em texto. O estado lê-se pelo sprite: a camada face muda para ferido abaixo de 50%, e o corpo pisca a branco 80 ms ao ser atingido. Vida é informação de silhueta, não de UI.

2 · Precisão é posição

Herdado do Kingdom e formalizado: um arqueiro em campo aberto acerta ≈1/3 das flechas; dentro de torre, ≈100%. A torre não dá dano — dá certeza. É como se ensina posicionamento sem uma única linha de tutorial.

3 · Sem colisão entre aliados

Tropas aliadas atravessam-se, com separação por steering. Colisão real entre 300 unidades é caro e produz empurrões que parecem bugs. A ocupação de linha é uma regra de dados, não de física (§20).

4 · Uma morte, uma consequência

Toda a morte larga alguma coisa: arma (recolhível pelo Ferreiro n2), moedas transportadas, ou corpo (ressuscitável até ao amanhecer). Nada desaparece silenciosamente — é assim que a perda ensina.

Tabela mestra de unidades

UnidadeCustoVidaDanoInterv.DPSAlcanceNota
Vagabundo1100—0—Base de tudo. Recrutado com uma moeda.
Arqueiro31441,4 s2,9200 pxDe dia caça; de noite defende do muro
Lanceiro42661,1 s5,528 pxSegura a linha. Não persegue.
Libélula (voadora)91651,2 s4,240 pxIgnora a camada de solo. Só atacável por arqueiros e torres altas.
Berserker de Raiz1240120,9 s13,330 pxAvança sempre. Não recua nem com o muro caído.
Mercenáriovariável34111,0 s11,030 pxNão é leal. §14.
Criaturas da Podridão — a tabela de invocação
CriaturaMassaVidaDanoInterv.Vel.Aparece a partir do
Rastejante81041,2 s30Dia 1
Alado141451,1 s44Dia 4 — obriga a torre alta
Bruto223291,3 s22Dia 7
Cavador302871,0 s26Dia 10 — passa pela faixa subterrânea
Aríete de lodo48104262,0 s16Dia 14 — só ataca muralha, ignora tropas
Consumidora120260301,8 s14Dia 20 — alvo do Trepador evoluído (§08)

Tempo até matar — a tabela que evita desastres

Segundos que uma unidade demora a matar cada criatura, já com a penalização de precisão do arqueiro em campo aberto. É esta tabela que diz se uma noite é sobrevivível antes de a jogares. A linha do arqueiro em campo faz a conta com 1/3 e é por isso aproximada (≈): os dados usam accuracy_open = 0,34 (§19, §44), 2% ao lado.

AtacanteRastejanteAladoBrutoCavadorAríete
Arqueiro (torre)4,2 s5,6 s11,2 s9,8 s36,4 s
Arqueiro (campo)≈ 12,6 s≈ 16,8 s≈ 33,6 s≈ 29,4 s≈ 109,2 s
Lanceiro2,2 s3,3 s6,6 s5,5 s19,8 s
Berserker0,9 s1,8 s2,7 s2,7 s8,1 s
Mercenário1,0 s2,0 s3,0 s3,0 s10,0 s
A leitura de design que esta tabela obriga

Repara na coluna do Aríete: 109,2 segundos para um arqueiro em campo o abater — mais do que uma noite inteira. Isso não é um erro de balanceamento, é a mensagem: arqueiros não param aríetes. Só o muro fortificado (Caminho B, §10), o fosso de raízes ou o barril de fogo o fazem. Cada linha desta tabela tem de ensinar uma coisa dessas. Quando uma coluna não ensinar nada, a criatura é redundante — corta-a.

Ocupação de linha — como 300 unidades cabem num eixo

O mundo é 1.5D, portanto o combate acontece numa linha. Sem regras, tudo se empilha num pixel. A solução não é física — é uma regra de dados:

Faixa de contacto
Cada muro tem N slots de contacto (2 no nível 1, até 7 no Bastião). Só N atacantes engajam ao mesmo tempo.
Fila
Os restantes esperam a 30–120 px, em posições estáveis atribuídas pelo sistema. Não empurram, não vibram.
Substituição
Quando um atacante morre, o mais próximo da fila ocupa o slot em 0,4 s, com passo visível.
Alcance vertical
Arqueiros em torre atingem a fila inteira dentro de 200 px, não só o slot ocupado. É por isso que a torre é o multiplicador e o muro é o denominador.
Marca do arqueiro
O Imperador Arqueiro (§08), através do verbo técnico mark_target (Q-086/Q-195), marca um alvo: todas as tropas aliadas passam a priorizá-lo. Resolve o desperdício de flechas em alvos já mortos — a falha explícita do Kingdom.

Moral, fuga e a presença do rei

Um único modificador com raio, e três consequências:

  • Muro cai → tropas com vida < 30% e custo ≤ 4 fogem para o núcleo.
  • Rei em campo → nenhuma tropa foge dentro de um raio de 260 px. A defesa aguenta — e o rei pode morrer. É a decisão tática de maior risco do jogo.
  • Impulso Vigília (§15) → ninguém foge esta noite, ao preço de −30% de vida em todas as tropas amanhã.
O que testar primeiro, na Fase 1

Antes de existir arte final, monta um cenário fechado: um muro, uma torre de arqueiros, seis arqueiros, uma noite de 105 s, vagas de Rastejantes crescentes. Um posto é um lugar: o muro de nível 1 tem um, e para caberem mais arqueiros evolui-se o lugar — a torre, ou o muro pelo Caminho A (Q-073). Quem não tem posto não dispara do muro. Ajusta até a noite ser ganha com 1–2 mortes no dia 5; a variante sem torre perde o muro no dia 8. Este microteste é a fundação de todo o balanceamento posterior — e cabe num único ficheiro de teste automatizado (§31).

Escopo dos monarcas: só imperadores são controláveis (§08); “classe Arqueiro” em contratos técnicos refere o perfil imperial pertinente. O sangramento é exclusivo da sua flecha (Q-201). Ataque, habilidade, golpe em área e empurrão usam as decisões Q-184/Q-185. O tiro do escudeiro evoluído tem o contrato e as propostas da Q-246.

08 — Monarcas

Imperadores, companhias e desbloqueios

Só os imperadores são controláveis. Cada perfil reúne identidade, combate, autoridade soberana e companhia própria; tropas, ofícios, diplomatas e companheiros atuam sob IA. As antigas classes controláveis e a troca livre entre dois corpos vivos foram substituídas pelas Q-195–Q-202. Os identificadores técnicos de classe que ainda existem no código são mecanismos internos, não opções adicionais de personagem para o jogador.

Escolha inicial e identidade

Uma campanha nova apresenta os três perfis iniciais completos. Confirmar a escolha inicia a partida. Explorar permite descobrir outros imperadores e desbloqueá-los para a campanha e para novos começos, conforme as regras de legado da §16. Desbloquear um perfil não concede outra coroa nem troca imediatamente quem governa.

Imperador Estilo e fragilidade Companhia e economia Evolução
Rei guerreiro defensivo Corpo grande e lento, golpe curto; protege pela presença, mas pode morrer Escudeiro pago protege com escudo e progride para combate Defesa e companhia crescem por feitos de batalha
Imperatriz Nia Rápida, de golpe curto e cadência alta; precisa de se expor para atacar Bardo da bandeira recebe ordens pagas para encantar e incentivar; Nia não o substitui Maestro amplia conversão e promoção conforme os dados aprovados
Imperador Arqueiro Ataque distante, marca e sangramento exclusivo; depende de munição Uma moeda compra seis flechas. Escudeiro evoluído também dispara e usa a aljava paga no protótipo Marca em área e flecha perfurante; efeitos do escudeiro têm afinação própria
Quarto imperador, desbloqueável futuro Grande, armadura completa, aparência obscura e passado triste; recupera vida sentado e faz nascer vegetação Escudeira dança e aumenta a força dele e das tropas; evoluída abranda inimigos Conceito decidido na Q-205; nome final, valores e implementação continuam em UN-33

Não há quarto perfil inicial incompleto. O antigo conceito do Cavaleiro Enterrado deve ser reconciliado com este quarto imperador em UN-33; esta revisão não autoriza criar uma personagem jogável redundante. O Cavaleiro Selado permanece conteúdo de tropa sob IA, com o vínculo à montaria descrito nos dados de conteúdo.

A companhia é contratada, não oferecida

A caravana inicial tem três cidadãos sem ofício. Depois de fundar, o posto próximo da sede permite formar a companhia correspondente ao monarca por sete moedas; a formação usa uma pessoa disponível. Os fundadores já pertencem ao grupo e passam ao reino na fundação; recém-chegados são recrutados pelo gesto da moeda antes de receber ofício. Fontes: Q-223, ADR 0066 e arrival.csv.

Monarca e companhia evoluem juntos por feitos de batalha. O parâmetro de cinco vitórias conjuntas foi aprovado no contexto da Q-232 e está em dados; não se recupera a antiga evolução genérica de qualquer corpo jogável por uma moeda no marco. A condição conta mortes inimigas reais, com proximidade/faixa válidas e sem aliados; a correção desse caminho foi integrada pelo PR #92 na base publicada identificada na §90.

Cada perfil mantém vida, ferimentos, experiência, bolsa, flechas, recargas e vínculo de companhia. Trocar, viajar, gravar ou carregar não enche a aljava nem cura. O escudeiro Arqueiro só dispara na sua forma evoluída, com patrono vivo e condições de combate válidas. Os números de ataque e a discussão entre aljava partilhada ou reserva própria continuam na Q-246; a decisão de seis flechas por moeda não os aprova por associação.

Troca de imperador: a sucessão é a chave

A escolha de outro imperador exige um herdeiro preparado. O jogador desloca-se à Casa do Herdeiro, escolhe um perfil desbloqueado e disponível segundo as regras da campanha, e transfere o governo numa única operação. O ciclo de preparação reinicia; a nova falta de sucessor é um risco real. Não basta encontrar um imperador vivo e premir Interagir. A §15 define preparação, incumprimento e recuperação dos bónus.

Um imperador perdido definitivamente naquela campanha fica indisponível nela, salvo ressurreição válida no prazo do ritual (§16). Os desbloqueios persistentes voltam a permitir escolhê-lo num novo começo conforme Q-195/Q-206. Solo conserva uma única coroa soberana, incluindo durante queda, roubo, troca e sucessão pendente. Coop/PvP têm topologia própria na §18.

Controlos e funções

Ataque e habilidade são ações independentes: teclado/rato, comando e toque oferecem o mesmo conjunto de ações, com apresentação adaptada. Segurar ataque repete à cadência; segurar CORRER consome fôlego e soltar termina a corrida. Os tempos de fôlego de trinta e cinquenta segundos são decisões da Q-216, implementadas por dados; parado recupera mais depressa (Q-208). Nia ordena o serviço pago do Bardo; marcar não dispara uma flecha. A interface explica disponibilidade, custo e recuperação sem exigir conhecimento do código.

O companheiro do trono, como a mascote que segue alimentação, é conteúdo separado da companhia real e não substitui escudeiro ou Bardo. Trepador, montarias e variantes de povos mantêm-se como conteúdo faseado; nenhum deles reabre classes controláveis antigas.

Aceitação: começar com cada perfil; contratar a companhia; ficar sem moeda/munição; evoluir pela batalha; gravar e retomar; tentar trocar sem herdeiro; trocar com herdeiro; perder o perfil e verificar disponibilidade. O teste deve percorrer o fluxo completo, não apenas alterar diretamente um nível de personagem.

09 — Ofícios

As tropas que fazem o reino andar

OfícioNível 1Nível 2Treino
ConstrutorConstrói e melhora estruturas. Dentro do império: +2% defesa das muralhas por construtor, até +10% — a defesa é o dano que a muralha aguenta a mais — e +1 slot de armas no arsenal. Só o construtor repara.Sai das muralhas e constrói defesas avançadas em campo; melhora a base das tropas; adiciona tropas às defesas; ergue torres e armadilhas.12 + Casa de Treino
FerreiroFabrica armas e escudos melhores: +ataque e +defesa a todas as tropas equipadas.Recolhe armas largadas por inimigos e por aliados mortos e usa-as em combate. O campo de batalha vira inventário.15 + Forja
Cozinheiro+vida e +velocidade às tropas. Em combate, serve prato a uma tropa: buff forte de 20 s.O buff passa a permanente para a tropa servida. Recebe animais do galinheiro e do estábulo como ingrediente.10 + Cozinha
DiplomataBoost de progressão. Impérios vizinhos não atacam.Assimila um império próximo a cada 8 dias; pode treinar um sucessor do rei.20 + Embaixada
BardoVer §08 — ofício de IA e companheiro da Imperatriz Nia; nunca corpo jogável (ADR 0052).—18
Cidadãos da caravana — ADR 0066

O monarca começa com três cidadãos sem ofício, que acompanham a caravana e passam a pertencer ao reino fundado. A fundação não oferece um construtor: formação, recrutamento externo e equipamento continuam pagos. O pioneiro de ADR 0059 é comportamento histórico de saves antigos, preservado pela migração.

O dilema do artesão — o teu melhor gerador de histórias

Todos os ofícios trabalham por ordens e IA: nenhum se assume (ADR 0052). Um ofício que fica no império evolui em ~14 dias. Um ofício que vai a combate evolui em ~4 dias — mas pode morrer, e a morte é permanente. Perder um cozinheiro no dia 12, a dois dias da evolução, é a história que o jogador vai contar a outra pessoa. Custa quase nada a implementar: é um contador com dois ritmos. É o modelo do Bad North, e é a razão pela qual as unidades daquele jogo são memoráveis e as do Kingdom não.

10 — Construção

Muralhas, torres e a Casa de Treino

Implantação territorial: a ADR 0077/RG-28 já faz o pagamento consultar fontes no local real; obras antigas pagas ou erguidas conservam compatibilidade explícita. A §92 amplia o contrato; água, construção de porto, operação e rota são estados distintos na §93.

Leitura dos números: as tabelas refletem os CSV da baseline, incluindo campos ainda em _proposed. O estágio é apenas uma condição: território protegido, apoio populacional, materiais/desbloqueios e maturidade também contam (Q-222/Q-227/Q-233). A Casa do Herdeiro exige o máximo atual, Fortaleza. A Capital é posterior e depende de uma rede real (§88).

A estrutura que as tuas cenas sugerem, e que vale a pena adotar: uma sede escolhida pelo jogador e edifícios ao longo da linha de solo, protegidos por muralhas que o jogador ergue para os dois lados. O núcleo é a sede: o monarca escolhe livremente um local válido e funda sem custo; depois a sede sobe por estágios pagos e levantados como um muro (ADR 0066). É o que defendes. Se cair, cai a partida.

A sede: da Clareira à Fortaleza

O reino não nasce castelo. O monarca explora com a caravana e três cidadãos sem ofício. Ao parar num local válido, sem outra interação prioritária, pode confirmar a fundação gratuita. A sede e as bancas passam a usar essa coordenada, sem deslocar as ruínas e passagens do terreno. Cada melhoria posterior é um degrau do núcleo: paga-se inteira, quem está presente levanta-a (§55), e o estágio de antes continua a servir enquanto o seguinte se ergue. Subir não cura: a sede passa ao estágio novo com a mesma proporção de vida. Cada estágio abre obras — não as ergue: as obras, os ofícios e as armas pagam-se à parte. O estágio soma-se ao que um degrau já pedia (a estátua, a conquista, o Lenho), não o substitui. O castelo-árvore de antes é a Fortaleza.

EstágioCustoVidaLarguraAbre
Acampamento0200160Plantação, Fogueira, Bancas do Arco e Martelo, Estacaria, Escora, Amargueiro, Posto de Companhia e Escavação da Cave
Povoado8350240Casa de Treino, Galinheiro, Pesqueiro, Torre de Arqueiros, Torre Alta, Casa de cidadãos, Paliçada
Vila18550320Cozinha, Forja, Celeiro, Salga, Curral, Corte de Madeira, Estábulo, Santuário das Raízes, Barril de Fogo, Muro de Pedra
Vila Fortificada32750400Fosso de Raízes, Embaixada, Serração, Estábulo de Vacas, Poço de Minério, Farol, Muralha de Ferro
Fortaleza561000480Fundição, Altar Consagrado, Bastião, Casa do Herdeiro

Uma obra que nenhum estágio lista abre com a fundação. A Capital (F6) entra quando houver postos e rotas a administrar (RG-14): sem eles seria um degrau só de vida. A moeda no marco serve as melhorias e reparações da sede; a evolução conjunta de monarca e companhia resulta de feitos de batalha (Q-223/Q-232).

Os dois caminhos da muralha

Cada segmento oferece duas melhorias mutuamente exclusivas por nível. Nunca dá para ter as duas — e essa é a decisão.

Caminho A — Guarnição

Adiciona postos de tropa ao segmento. Mais arqueiros no muro, mais dano de saída, mas o muro continua frágil. Bom contra vagas numerosas e fracas.

Caminho B — Fortificação

Aumenta vida e resistência do segmento. Menos dano de saída, mas aguenta impacto. Bom contra as criaturas pesadas do late game — e é a única resposta ao Aríete de lodo (§07).

NívelCustoVida (B)Postos (A)Slots de contactoMaterial por povo
Estacaria64012Enramados: troncos · Portuários: estacas · Fenda: lascas de rocha
Paliçada119523Madeira reforçada / gelo
Muro de pedra2021044Pedra / basalto / coral
Muralha de ferro3645066Fornalha: escória · outros povos só depois de conquistarem a Fornalha
Bastião6590097Único por império

O material e a silhueta mudam por povo, não por bioma. Mecanicamente idênticas, visualmente distintas: um swap de tileset e paleta por PeopleData. Custo de produção baixo, ganho de identidade alto — e é a recompensa mais visível de conquistar alguém. Nem todos os povos têm os cinco níveis: os Sob-Raiz não têm muralha nenhuma, têm labirinto.

Torres e defesas

EstruturaCustoEfeitoContra
Torre de arqueiros182 postos elevados, +40% alcance, precisão a ≈100%Terrestres
Torre alta30Atinge a camada aéreaAlados — obrigatória a partir do dia 4
Barril de fogo12Dano em área ao ser destruído; abranda A Podridão 25% na faixaPodridão e vagas densas
Fosso de raízes22Prende terrestres 3 sBerserkers e Aríetes
Farol40Ilumina 300 px: A Podridão não invoca dentro da luzEstratégico
Altar consagrado55Terreno consagrado permanente: −40% velocidade da PodridãoEstratégico
Casa de Treino

Converte vagabundos em ofícios. Um vagabundo entra, sai construtor, ferreiro ou cozinheiro. Custa moeda e um dia. Ter uma Casa de Treino é o que separa um acampamento de um reino — e destruí-la é o objetivo prioritário dos reis inimigos a partir do dia 15 (§20). Perdê-la não acaba a partida, mas congela a tua economia de ofícios até a reconstruíres.

Manutenção: reparar exige construtores disponíveis; a sede entra no trabalho de reparação ao amanhecer (Q-210/Q-224). Subir o estágio não é uma cura gratuita. Uma recomendação histórica de ter Torre Alta no dia quatro não é um prazo obrigatório: a nova abertura e a curva da noite precisam de validação conjunta.

11 — Estrutura

O mundo em duas camadas

A ideia é tua: "a tela é dividida ao meio, em baixo é só paisagem, mas ao aceder a uma passagem secreta encontras níveis, porões, dungeons". Há duas formas de a construir, e a escolha entre elas é a decisão arquitetónica mais cara do projeto. Recomendo a segunda, e não por causa da arte — por causa do custo.

A · Câmara que se divide ao descer

Dois viewports, transição, dois enquadramentos a gerir. Mais código, mais bugs de câmara, e o jogador perde a superfície de vista exatamente quando precisa dela para saber se está a ser atacado.

B · Ecrã permanentemente cortado (recomendado)

Uma câmara só. A faixa de baixo faz parte do enquadramento normal e está sempre lá, mesmo quando é só terra maciça. Menos código, zero bugs de transição, e o jogador vê os dois planos ao mesmo tempo — que é o que torna a segunda camada uma tática e não um ecrã separado.

O resto desta secção assume a opção B.

terramaciça FAIXA AÉREA 200 px · voadoras, copas, torres altas SUPERFÍCIE 317 px · o jogo do Kingdom acontece aqui CORTE DE SOLO 203 px · 90% terra, 10% jogável y = 0y ≈ 200 y ≈ 517y = 720 linha do solo — constante, valor a fixar na Fase 0
Proporções propostas, não medidas. A versão anterior deste documento apresentava-as como medições da tua panorâmica — mas a panorâmica é arte em curso (§01) e aqueles valores são apenas onde as coisas calharam ficar. A derivação está na tabela abaixo. Curiosamente aterra muito perto de onde desenhaste por instinto, o que é bom sinal — mas a razão é a da tabela, não a da imagem.
FaixaPropostaDe onde vem o número
Aérea180–220 pxUma voadora tem de ler-se como acima do alcance: precisa de pelo menos três alturas de personagem de folga sobre o telhado mais alto. 200 px ≈ 4 × escala 2.
Superfície300–340 pxTem de caber o edifício mais alto que não seja o núcleo (≈ 130 px) com céu suficiente para o parallax respirar. Abaixo de 300 o mundo fica claustrofóbico; acima de 340 as tropas ficam pequenas de mais para se lerem.
Corte de solo180–220 pxNuma cavidade tem de caber um monarca (58 px) de pé, com teto e solo desenháveis. Mínimo funcional 120 px; 200 px dá espaço para a caverna ter composição própria.
Linha do soloy ≈ 500–540Consequência das três anteriores. Fixa um valor na Fase 0 e não lhe toques — meia dúzia de sistemas vão depender dele.
Uma câmara só

Sem split screen, sem transição. A faixa inferior faz parte do enquadramento normal, como na tua arte.

Solo maciço por omissão

A maior parte do corte é terra — paisagem pura, sem jogo. É o que dá peso e escala ao mundo. Quanta terra e quanta cavidade é uma decisão de ritmo, e afina-se por playtest (§21).

Cavidades

Onde há caverna, dungeon ou porão, a terra é recortada e o espaço passa a jogável. Ligado à superfície por passagens, escadas ou raízes.

Descobrir é a recompensa

Uma cavidade não descoberta desenha-se como terra normal. Ao encontrar a entrada, a terra dissolve-se com o shader de dither e revela o interior.

Faixa aérea

O topo do ecrã. As copas de árvore e as torres altas chegam lá; as voadoras vivem aí e só são atacáveis por arqueiros e torre alta (§07).

Quem passa

Personagens jogáveis, ofícios enviados e criaturas subterrâneas. As tropas de defesa nunca descem.

Revisto na Parte XIII

O diagnóstico desta secção — "falta um plano no meio" — é resolvido com um teto de valores por camada na §80. As faixas de jogo não mudam.

A faixa que falta — e que é a razão de as tuas cenas parecerem planas

As três faixas acima são a divisão de jogo: quem passa onde, o que colide com o quê. Está certa e mantém-se. Mas a divisão de jogo não é a divisão de imagem, e é aí que está o buraco. Medi as capturas que enviaste, faixa a faixa, do topo do ecrã para a base:

Faixa (topo → base)123456Leitura
Milki — estrada · densidade18,221,023,723,130,053,4Rampa contínua. O primeiro plano tem 2,9× o detalhe do topo.
Milki — estrada · saturação0,3630,5180,5130,5860,5190,585Topo com −38% de saturação face à base.
Milki — estrada · valor0,7260,5930,4890,4810,6060,625Topo +16% mais claro. É névoa, não é céu.
Eastward — aldeia · densidade12,924,426,441,623,836,6Mesma rampa: −33% de saturação e +23% de valor no topo.
Milki — floresta · saturação0,7850,7060,6680,6420,5560,561A regra inverte-se em cena fechada — ver a nota abaixo.

Densidade = número médio de cores distintas numa janela de 16×16 px na grelha do próprio jogo. Saturação e valor são médias HSV por faixa.

O diagnóstico

Nas referências, a profundidade não é feita com camadas de parallax a mexer — é feita com três rampas simultâneas: o detalhe adensa, a saturação sobe e o valor escurece, tudo de forma contínua do topo para a base. Não há degraus. Não há "fundo" e "frente": há um gradiente.

A tua §22 descreve o teu fundo atual como "achatado". É exatamente isso: tens duas superfícies — céu e chão — separadas por uma linha. As referências têm cinco ou seis planos entre elas. Não é falta de resolução nem de talento: é falta de um plano no meio.

O horizonte não é a linha do solo

É esta a confusão que produz cenas planas, e é fácil de desfazer. A linha do solo é onde as tropas pisam — a constante de jogo. O horizonte é onde as camadas distantes se encontram, e tem de ficar bastante mais alto, para haver espaço entre os dois. Esse espaço é o plano médio: colinas, linha de árvores, aldeia longínqua, a silhueta do império vizinho.

Plano de imagemy propostoAlturaO que vive láDensidade alvo
Céu0 – 300300 pxGradiente em bandas, nuvens, sol/lua, voadoras. Nada com contorno.⅓ do plano de jogo
Distância300 – 420120 pxMontanha ou massa de copa. Silhueta lisa, sem textura nenhuma.⅓
Plano médio o que falta420 – 517≈ 100 pxColinas, linha de árvores, telhados distantes, o mar. É a faixa que dá escala ao mundo.½
Plano de jogo517 – 720203 pxTudo o que colide. Edifícios, tropas, muralhas, corte de solo.referência
Primeiro plano≈ 640 – 72080 pxErva alta, ramos, pedras. Escuro, sem detalhe, só silhueta. Sobrepõe-se às tropas.⅓, mas contraste máximo
A regra do céu

Acima do telhado mais alto tem de haver pelo menos 30% da altura do ecrã sem nada com contorno. Só céu e camadas distantes. É a única coisa que o Milki Delivery faz e tu não fazes, e é o que transforma "objetos sobre um fundo" numa paisagem.

Repara que isto não te obriga a mudar as faixas: a tua faixa aérea já são 200 px = 28% do ecrã. O que muda é a regra de composição — nada de silhueta contornada entra na faixa aérea, exceto as voadoras e a copa da árvore colossal do castelo, e é justamente por isso que ela vai ler-se como monumental.

A exceção medida: cenas fechadas invertem a regra

A captura de floresta do Milki mede ao contrário: saturação maior no topo (0,785) do que na base (0,561), e o topo mais escuro (valor 0,311 contra 0,431). Faz sentido — numa floresta fechada não há atmosfera entre o observador e o fundo, e a profundidade passa a ser feita só com valor: o fundo escurece, a frente ilumina-se.

Isto dá-te uma gramática por bioma sem inventar nada: biomas abertos (Horta, Portuários, Fenda) fazem profundidade com saturação e névoa clara; biomas fechados (Enramados, Sob-Raiz, e o interior do corte de solo) fazem-na com escuridão no fundo. O mesmo motor de camadas, dois presets.

A decisão arquitetónica mais importante do projeto

Cada entidade precisa de um campo faixa: enum {AEREA, SUPERFICIE, SUBSOLO} desde a primeira linha de código, e as colisões usam collision layers separadas por faixa. O corte de terra é um TileMapLayer com máscara de revelação. Se isto entrar no dia 200 em vez do dia 1, reescreves o jogo. Agora é barato, porque não há segunda câmara — há composição.

Painel de 30/09/2026 — ADR 0043. À superfície o corte continua tapado. Perto de uma boca aberta, uma criatura subterrânea abre apenas uma janela local de dither; a boca visitada permanece localmente aberta. As visitas entram no save (Q-182). Os valores novos de balanceamento são propostas ajustáveis nas tabelas.

Subsolo delimitado — ADR 0046. O subsolo não é uma faixa: é feito de sítios, cada um uma fila de salas entre duas paredes de rocha, que nunca passa do tecto do lugar nem de 12 salas, e o resto do corte é terra maciça. Cada passagem do império dá para um porão (armazém, adega ou celeiro) entre os muros dela; debaixo do castelo há uma sala secreta com o alçapão num sítio sorteado; cada ruína das terras é uma masmorra presa ao segmento. As salas nascem na primeira descida, pela semente e pela chave do sítio, e ficam no save. Lá em baixo não se passa das paredes; quem cava continua a passar pela terra. A terra abre-se só por cima do sítio onde o rei está (Q-186). Os valores novos de balanceamento são propostas ajustáveis nas tabelas.

Chão para além da escada — ADR 0072. Nenhum sítio acessível é só a escada: além da chegada, da folga e das margens, todo o sítio tem uma baía livre, contígua e alcançável, fora do que lá está (o contrato de área útil, underground.csv). O chão reserva-se antes de a entrada se publicar e dois sítios nunca o disputam; uma ruína ou uma falha de rocha sem chão, ou para lá do tecto de entradas do povo dela, fica sem boca. Cada entrada tem uma causa que se vê — a passagem, a sede, o arco caído, a falha de rocha de um limiar (a caverna, sem escada nem tesouro) — e a ruína só leva salas da função que teve. A cave real começa com uma largura habitável para dentro da sede e cresce um passo por estágio; o baú fica na baía, longe da subida. A recompensa de uma masmorra nasce no meio da baía na primeira descida, uma vez. Os saves antigos reparam-se uma vez ao carregar, sem mexer na boca, nos saldos nem nas recompensas. Os números são valores de ensaio (Q-244).

12 — Travessia

Montarias

Começas a pé. A velocidade a pé é deliberadamente frustrante depois do dia 6 — é o que dá valor à primeira montaria, e é a mesma técnica que faz o cavalo do Kingdom parecer uma dádiva.

MontariaVelocidadeCapacidade únicaComo se obtém
A pé1,0×—Início
Cavalo de tração1,7×Carrega o dobro de moedas — essencial acima do muro de pedra (§02)Estábulo, 30 moedas
Javali1,5×Derruba estacaria inimiga ao carregarCaça no bioma de floresta
Lagarto1,4×Sobe paredes: acesso vertical entre faixas sem passagemSegredo subterrâneo
Libélula1,9×Voa: ignora a faixa de superfície inteiraFortaleza do pântano
Alce da Podridão1,6×Atravessa terreno apodrecido sem penalidadeConverter com o Maestro

As montarias morrem e ficam feridas. Uma montaria ferida recupera no estábulo em 2 dias. O Cavaleiro Selado (§08) é o caso extremo: perder a montaria é perder metade da personagem, e o ecrã diz-to (§24).

13 — Progressão

Conquistar civilizações

Em Kingdom, avançar destrói portais e acabou. Aqui, avançar é absorver uma cultura — uma forma de progresso que convive com legado, descobertas, perfis imperiais e crescimento territorial.

O kit de arquitetura

Passas a poder construir os edifícios e as muralhas daquele povo em qualquer parte do teu território. O teu império torna-se visivelmente uma colagem do que conquistaste.

A tropa única

Uma unidade que só aquele povo tem: a barcaça dos Portuários, o escavador dos Sob-Raiz, o aríete da Fenda.

O arquétipo

Uma tropa ou um ofício com a silhueta daquele povo, sob IA. Um imperador descoberto entra na lista elegível; a troca na campanha exige herdeiro pronto, e a escolha num novo começo segue o legado (§08/§15). É assim que a lista cresce sem inventares classes do nada.

Sementes Reais e mapa

1 a 3 Sementes, mais a revelação da região adjacente e 1–2 cavidades marcadas no corte de solo.

A rota de comércio

Só se o povo sobreviver. Rende 4–6 moedas/dia para sempre e valoriza todas as outras rotas em 10% (§06). É a recompensa que o saque não dá.

A consequência de design mais forte do jogo

Como cada povo tem uma especialidade económica e defensiva, a ordem por que conquistas muda a partida inteira. Ir primeiro aos Portuários dá-te rendimento noturno e mobilidade costeira; ir primeiro à Fenda dá-te defesa quase impenetrável mas economia pobre. Duas partidas com a mesma semente de mundo jogam-se de forma diferente só por causa da ordem. Isto é rejogabilidade de graça — não custa uma linha de código extra além dos dados dos povos.

Como se ataca

Reconhecimento

De dia, aproximar-se revela a composição: nível da muralha, número de defensores e a idade do rei inimigo (§15). Um tirano tem muralhas fracas e tropas de elite; um austero tem o contrário.

Marcha

Designas tropas para avançar. Elas saem do império, que fica desguarnecido nessa noite. Esta é a decisão.

Cerco

O Construtor n2 ergue defesas em campo, o Ferreiro n2 recolhe armas dos mortos, o Cozinheiro alimenta. É aqui que os ofícios evoluem em 4 dias em vez de 14 — e é aqui que morrem.

Rendição ou queda

Se a muralha cair e o rei inimigo estiver ausente, os defensores rendem-se e passam a ser teus. Se o rei estiver presente, lutam até ao fim: ganhas saque, não ganhas gente.

A escolha que define o jogador

Matar o rei inimigo dá 40 a 160 moedas, uma vez. Deixá-lo fugir dá-te o povo dele e uma rota de comércio que rende para sempre (§06). O jogo nunca te diz qual é a certa — mas a conta é fazível, e por volta do dia 20 a rota já pagou o saque várias vezes. Os dois caminhos levam a epílogos diferentes (§17).

Painel de 30/09/2026 — ADR 0043. Cada outro reino tem casa, oficina, defesas, trabalhadores, construtor, guarnição e tesouro próprio; produz, paga soldo, repõe flechas, substitui baixas, repara e enfrenta a Podridão de noite. A viagem diurna liga destinos seguros. A antiga obrigação de o rei ficar em casa (Q-178) foi substituída pela ADR 0052: monarcas exploram e lideram expedições. A continuidade de reinos distantes é aprofundada na §88. Os valores novos de balanceamento são propostas ajustáveis nas tabelas.

Pedido do dono de 02/10/2026 — ADR 0052. Todos os monarcas exploram e podem liderar uma expedição presencial; quem prefere ficar em casa envia uma incursão liderada por um Diplomata, sob IA. A viagem de dia para destino seguro continua, agora também para o monarca e a comitiva que está com ele. Cerco delegado, conquista presencial e assimilação diplomática terão um resultado comum, com uma recompensa só por objetivo (UN-20, UN-22). Desbloquear o arquétipo de um imperador não o cria: ele tem de ser encontrado.

14 — Diplomacia

O diplomata, os mercenários e a dívida

Estatuto desta secção: as probabilidades e dívidas abaixo são a especificação histórica e os valores da baseline, não um motor de negociação completo. Para o desenvolvimento do relatório, ler a §94 e Q-251: serviço, efetivos finitos, oferta versionada, pagamento explícito e incumprimento previsível. Não aplicar automaticamente ao novo contrato a captura aleatória, os juros exponenciais nem o reinício ilimitado de prazo por pagamento residual. A política de companhias persistentes precisa preservar os acampamentos antigos.

O recrutamento atual e a diplomacia futura são camadas diferentes. Companhias têm presença no mundo; hostilidade, serviço e lealdade exigem termos explícitos. A frase histórica “atacam sempre” não define a disponibilidade das companhias do novo modelo.

Enviar o diplomata

ResultadoProb. baseConsequência
Dissolução30%Acaba com o acampamento e volta com uma supertropa — a melhor unidade do jogo naquele bioma
Contrato50%Volta com mercenários — mas contrai dívida
Captura20%Fica prisioneiro. Resgate exigido com prazo.

As probabilidades deslocam-se com o nível do diplomata e o Favor acumulado: cada 20 de Favor move 5 pontos de Captura para Dissolução. Um diplomata com 60 de Favor tem 45/50/5 (Dissolução/Contrato/Captura).

A dívida

Valor
D = 40 + 18 × nº_mercenários
Prazo
6 dias. Cada dia em atraso: D × 1,25
Atraso 1–3 dias
Os mercenários desertam
Atraso 4 dias
O diplomata morre
Atraso 5+ dias
O acampamento marcha sobre ti com força de fortaleza
Pagamento parcial
Aceite. Reduz proporcionalmente e reinicia o prazo em 3 dias.
Justificação histórica da dívida — sujeita à revisão da Q-251

Porque não é um imposto — é uma aposta. O jogador escolhe entrar em dívida para ganhar poder agora e paga com ansiedade durante seis dias. Um relógio visível no HUD, e mais nada. Compara com a ganância do rei (§15), que é passiva: os dois em conjunto dão-te um sorvedouro que o jogador aceita e outro contra o qual se revolta. São emoções diferentes e é bom que sejam.

Diplomata nível 2 — assimilação

A cada 8 dias pode assimilar um império vizinho: o império inteiro passa a ser teu, com tropas, edifícios e produção — sem combate. Requer 60 de Favor e que o império alvo tenha um rei jovem ou fraco. É a rota pacifista, e deve ser tão viável quanto a militar. Um jogador que termine a campanha sem uma única batalha ofensiva é um jogador que vai escrever sobre o teu jogo.

Painel de 30/09/2026 — ADR 0043. O mercenário das trilhas cobra soldo mesmo abaixo do limiar gratuito das tropas regulares e deserta primeiro. Depois de três contratações o acampamento fica abandonado e as obras em ruína (Q-177). Os valores novos de balanceamento são propostas ajustáveis nas tabelas.

Pedido do dono de 02/10/2026 — ADR 0052. O Diplomata básico está disponível em todos os impérios: lidera incursões enquanto o monarca permanece no reino, negoceia e corre risco de captura; depois de evoluir, assimila impérios e acelera o treino de sucessores. É tropa sob IA, nunca corpo jogável. A ausência de um Diplomata evoluído não impede contratar outro básico. O resgate de prisioneiro e a dívida de mercenários ficam em registo próprio, separado da Dívida da Candeia (Q-203).

Direção adotada: os acampamentos estáticos e as probabilidades desta baseline não descrevem todo o sistema futuro. Companhias móveis, contratos com outros reinos e despertar social pertencem a RG-24 (§88). Q-203 aprova o Diplomata universal e as suas missões; a implementação completa continua em UN-18–UN-21.

15 — Coroa

Reis, ganância, impulsos e sucessão

Ganância

Cada rei — o teu e os inimigos — tem um valor de Ganância (0–100): a percentagem do rendimento diário que desaparece para os nobres. É simultaneamente o teu mostrador de dificuldade e informação tática sobre o inimigo.

PerfilGanânciaEfeito no teu impérioSe for um rei inimigo
Austero5–15Quase todo o rendimento fica. Nobres descontentes: −10% moral das tropas de elite.Muralhas fortes, poucas elites. Ataca com Berserkers.
Equilibrado20–35Neutro.Sem fraqueza óbvia. Ataca na janela de sucessão.
Fastuoso40–60Economia sufocada, mas nobres leais: +1 tropa de elite grátis (o Berserker de Raiz) a cada 5 dias.Elites perigosas, muralhas médias.
Tirano65–90Mal dá para construir. Em compensação, os impulsos reais custam metade.Muralhas fracas, tropas de elite. Cerco rápido com aríete.

Impulsos reais

Um impulso por dia. Cada um tem vantagem e desvantagem — nunca só vantagem. É a mecânica que transforma "gerir" em "apostar".

ImpulsoVantagemCusto
Colheita Forçada+80% de produção hojePlantações não produzem amanhã
Chamada às ArmasTodos os vagabundos viram lanceiros grátisProdução a zero hoje
Feira LivreTudo −40% de custoGanância +15 permanentemente
Rota ProtegidaComércio a dobrar hoje; carroças imunes a assaltoNenhuma tropa pode sair das muralhas hoje
VigíliaTropas não fogem esta noiteTodas as tropas −30% de vida amanhã
Perdão RealDívida de mercenários a zeroFavor a zero; nenhum diplomata funciona por 5 dias

O preço em moedas (Q-014). Cada impulso tem uma base, na medida do que vale: a Colheita Forçada 3 (Q-158), a Chamada às Armas 4, a Rota Protegida 5, a Feira Livre e a Vigília 6, o Perdão Real 10. O preço de cada dia é essa base a crescer com a produção — ao mesmo ritmo que ela (§06) —, e por isso custa sempre o mesmo em dias de trabalho. O tirano paga metade. Repetir o mesmo decreto dentro de três dias custa uma vez e meia por cada vez que ele saiu: o reino cansa-se da mesma ordem, e o melhor impulso deixa de ser o único que se usa.

Sucessão: preparação, escolha e risco

A Casa do Herdeiro abre na Fortaleza (Q-222). O herdeiro permanece neutro enquanto se prepara. Pronto, o jogador vai à casa e escolhe um dos imperadores desbloqueados e elegíveis. A transferência do governo reinicia a preparação: sem outro sucessor pronto, a morte pode encerrar a campanha. Solo mantém uma única coroa soberana em todos estes estados (Q-196/Q-197/Q-202).

Situação Regra decidida Estado de execução
Em preparação Identidade ainda neutra; investimento e manutenção elevados UN-32 precisa de substituir o ciclo antigo
Falta de pagamento Desaparece; começar novamente exige novo pagamento Não confundir com apenas pausar um dia
Pronto Escolha de perfil desbloqueado na casa onde treinou Não é troca livre junto de outro corpo
Novo monarca Bónus reduzidos recuperam ao longo de cinco noites Percentagens/afinação têm âmbito próprio
Governo transferido Dívidas, desbloqueios, território e consequências continuam Não duplica decretos ou recursos
Perda sem continuidade Campanha termina conforme §16 Um perfil descoberto não equivale a sucessor preparado

A Q-133 aprovava dez dias de treino, cinco moedas por dia e o atalho do Diplomata evoluído. As Q-196/Q-202 alteram o contrato: a manutenção deve ser a mais alta do jogo, e o incumprimento elimina o herdeiro. Os números da baseline não provam que o requisito novo esteja satisfeito; afinação em UN-32. Não se fixa outro preço nesta revisão.

A ganância é sorteada na sucessão por morte segundo Q-133. O comportamento da ganância numa troca voluntária continua aberto: a resposta à Q-205 descreveu o quarto imperador, sem aprovar todas as outras propostas dessa pergunta. O nome próprio e o perfil imperial são coisas diferentes; um sucessor pode ter identidade própria sem criar uma quarta classe inicial.

A §89 descreve os estados e testes. Preparar o herdeiro, mantê-lo e escolher o sucessor têm de ser uma sequência jogável, persistente e legível, não apenas uma alteração direta no estado de desenvolvimento.

16 — Fim

Morte, ressurreição e derrota

Morte de tropa
Permanente. Larga a arma (recolhível pelo Ferreiro n2) e as moedas que carregava.
Morte de tropa ou companheiro
Cai e fica no mapa até ao amanhecer. Nenhuma tropa se assume para o substituir: só imperadores se jogam (ADR 0052). Se e como o companheiro de um monarca se repõe está por decidir (Q-205); a perda de um imperador segue a Q-206: indisponível na campanha, salvo ritual válido no prazo; volta a ser elegível num novo começo segundo os desbloqueios.
Ressurreição
Levar o corpo ao Santuário das Raízes antes do amanhecer. Custa 3 Sementes Reais ou 120 moedas. O ressuscitado perde uma fase de evolução.
Queda do monarca
A vida chega a zero e a coroa fica no chão, recuperável até à alvorada (Q-167). Não é morte definitiva. Ninguém assume uma tropa para a ir buscar.
Morte do monarca
Coroa roubada ou consumida. Se houver sucessor pronto e a sede de pé, o jogador pode continuar: ele é coroado ao amanhecer (Q-196/Q-202; herdeiro neutro até à escolha, contrato completo em UN-32). Sem sucessor válido, a campanha ativa acaba — não há interregno automático.
Derrota
A sede caiu, ou a coroa acabou sem continuidade válida. O legado do decay continua; «Recomeçar do zero» é outro fluxo (Q-164).
Decay em vez de reset

Segue o Two Crowns, não o Kingdom original. Ao cair, o jogador mantém: Sementes Reais, perfis imperiais desbloqueados, mapas revelados, segredos encontrados, e 40% das estruturas do império principal. Van den Berg mudou para este modelo depois de descobrir que "há grande satisfação em construir de forma permanente". Perder tem de doer sem apagar meses de jogo — e o decay resolve isso melhor do que qualquer sistema de save.

Painel de 30/09/2026 — ADR 0043. O decay mantém as obras escolhidas e deixa as outras próprias em alicerce, com nível, caminho e variante; quaisquer mãos próprias podem reerguê-las por uma fração do investido. Semente e mapa revelado também ficam: as terras anteriores reaparecem desabitadas, sem recrutas novos ou loot (Q-171, Q-180). Os valores novos de balanceamento são propostas ajustáveis nas tabelas.

Campanha e legado: o ritual de ressurreição tem de ocorrer antes do prazo; descobrir outro imperador não anula a perda do atual. Q-140 distingue desbloqueio de perfil e evolução: num jogo novo volta a ganhar-se a evolução. A Q-206 permite voltar a escolher um imperador perdido ao começar de novo. O comando destrutivo “Recomeçar do zero” da Q-164 apaga também o legado na baseline; não deve ser confundido com o novo começo que preserva desbloqueios. A apresentação e a persistência desses fluxos têm de ser reconciliadas em UN-32, sem apagar dados como consequência implícita de uma escolha de perfil.

17 — Mundo

Segredos, lore e o teu tutorial invisível

O Kingdom pode dispensar tutorial porque tem cinco mecânicas. Tu tens quarenta e oito. Os teus segredos espalhados pelo mundo são o tutorial — e é assim que ensinas sem uma única caixa de texto explicativa.

TipoOndeO que dáFunção de design
Câmara de RaizSubterrâneo, atrás de passagemFragmento de lore + 1 Semente RealRecompensa exploração da 2.ª camada
Estátua EnterradaSuperfície, sob vegetaçãoEnsina uma mecânica ao ser ativadaTutorial. A estátua do Ferreiro ensina o sistema de armas.
Diário de CampanhaFortalezas conquistadasRevela porque é que A Podridão existeNarrativa principal, em 12 fragmentos
Semente AnciãBiomas caóticosDesbloqueia um perfil imperial ou montaria raraRecompensa risco elevado

O que a estátua ensina só existe depois de achada (Q-016). Cada estátua guarda uma coisa — uma obra ou um gesto — e até o rei lá ir em pessoa essa coisa não existe no teu jogo: a obra não aceita moeda, o gesto não faz nada. A do Ferreiro, perto do castelo, guarda a Forja; a da Oferenda, fora das muralhas a leste, o sacrifício de moedas à Podridão; a do Mineiro, fora das muralhas a oeste, a escora que fecha a passagem. O que se acha é do império e passa ao herdeiro e à região seguinte. Nada do núcleo do jogo — os dois verbos, as muralhas, recrutar — fica atrás de uma estátua.

Revisto na Parte XIII

A estrutura de quatro atos, a regra de ouro e os dois epílogos mantêm-se; o que está por baixo deles foi reescrito na §79, e os biomas caóticos passaram a Capítulos na §77.

Os 12 diários — a estrutura narrativa

Doze fragmentos, três por ato, encontrados por ordem de conquista e não por ordem de escrita. Cada um tem de funcionar isolado e mudar o sentido dos anteriores. A regra: nenhum diário explica a Podridão diretamente; todos descrevem uma decisão humana que, lida em conjunto, a explica.

AtoDiáriosO que revelamReviravolta
I — Os seis1–3Os povos partilharam uma origem e uma árvore. Havia comércio, casamentos, uma língua comum.A árvore do teu castelo não cresceu ali. Foi plantada, dentro da muralha, de propósito.
II — A partilha4–6Alguma coisa foi dividida em seis partes e distribuída. Cada povo guardou a sua e esqueceu porquê.As muralhas de cada povo são feitas do material que guardava a parte deles.
III — A rutura7–9Um dos seis quebrou o acordo. Os outros cinco responderam. A Podridão começa nesse ano.Os Sob-Raiz não se esconderam por medo — foram enterrados pelos outros cinco.
IV — O que resta10–12A Podridão não é um invasor. É o que sobra quando as seis partes estão separadas.Reuni-las acaba com ela — e acaba também com os seis povos como coisas distintas.
Os dois epílogos

A resposta muda conforme mataste ou poupaste os reis inimigos, e ambos são finais legítimos, não bom/mau. União: poupaste-os, as seis partes voltam a ser uma, A Podridão desaparece, os seis povos deixam de existir como culturas — a tua colagem arquitetónica torna-se a única arquitetura. Domínio: mataste-os, ficas com as seis partes, A Podridão passa a obedecer-te em vez de te atacar, e a noite continua — só que agora é tua. O jogador só descobre no fim que a escolha estava a ser feita desde o primeiro cerco.

Biomas caóticos

Não são níveis — são modificadores de rota. Regiões onde eventos e criaturas te afetam ao atravessar:

  • Campo de esporos — as tuas tropas ganham 20% de dano e perdem 15% de vida por dia enquanto lá estiverem.
  • Várzea Invertida — a gravidade das faixas troca: a faixa aérea passa a andar-se, a superfície voa-se.
  • Sulco Cego — sem luz; só o Cavaleiro Selado se orienta, porque já não usava os olhos.
  • Mercado dos Ossos — mercenários a metade do preço, dívida ao dobro do juro.

Painel de 30/09/2026 — ADR 0043. Cada masmorra tem tesouro, guarda ou relíquia, com recompensa normal, dupla ou tripla. O sorteio persiste e o guarda não desaparece à alvorada. Não há reposição de loot ao carregar (Q-176). Os valores novos de balanceamento são propostas ajustáveis nas tabelas.

Entradas com causa — ADR 0072. Uma ruína só tem interior se o povo dela ainda tem tecto de entradas opcionais (optional_max, uma por optional_spacing_px de trilho e limiar); decide-se quando o segmento nasce e fica. Uma ruína sem interior continua a ser ruína. A falha de rocha de um limiar pode abrir uma caverna natural, sem tesouro. O sorteio da recompensa continua a ser feito quando o segmento nasce, mas a recompensa só se materializa no meio da baía, na primeira descida, e uma vez.

18 — Multijogador

Dois modos, ambos na Fase 8

O relatório mestre e ADR 0067/0068 definem o contrato atual. Solo funda um reino; Coop partilha um reino; PvP começa com dois reinos independentes. A implementação online continua pendente.

Cooperativo — um império

Dois jogadores e monarcas distintos, população e economia do mesmo reino. Apenas P1, criador da sala, confirma a fundação. P2 pode explorar e sugerir um local. A saída de P1 antes de fundar não transfere automaticamente essa permissão. O servidor mantém a partida e permite reconexão ao mesmo PlayerSlot.

Competitivo — dois impérios

P1 começa a Oeste e P2 a Este, cada qual com caravana, tesouro, conhecimento e fundação próprios. A vitória exige soberania total sobre o reino adversário. Captura, transferência de soberania, graça competitiva e desconexão precisam de regras explícitas antes da implementação (Q-236).

ComponenteContratoEstado
Cliente Godot Web/nativeEnvia intenções identificadas; recebe snapshot e atualizações. Não decide saldo, combate, fundação ou vitória.Cliente Solo existente; rede por fazer.
Servidor dedicado GodotAutentica jogadores, valida permissões, ordena intenções e simula o mundo. Sobrevive à saída do criador da sala.Por fazer, RG-25/UN-31.
VercelDistribui site, painel e export Web; não executa o loop autoritativo da partida.Site existente.
SupabasePersistência e serviços de apoio, com permissões verificadas no servidor; o painel de decisões já utiliza RLS.Painel existente; integração de partidas por fazer.
Protótipo localTesta permissões e isolamento por reino; não conclui aceitação online.UN-29/UN-30 por fazer.
Prioridade e aceitação

Estas regras substituem a proposta anterior de titular/delegado, vitória alternativa por sobrevivência e autoridade do host-cliente. Online só está concluído com dois clientes, servidor dedicado, snapshots, reconexão e comandos idempotentes testados sob latência e perda. Transporte e hospedagem do servidor são decisões pendentes, não uma dependência já instalada.

Parte III

A execução

Como é que isto se constrói: motor, IA, geração de mundo, pipeline de arte, som, controlos, onboarding, acessibilidade e idiomas. Nove secções, três delas novas.

19 — Engenharia

Arquitetura Godot 4.7.2

Motor fixado: .godot-version define 4.7.2 na baseline consultada. Exemplos de configuração são subordinados ao projeto atual e às ADRs. Integrações Steam e multiplayer desta secção são metas de plataforma; não evidência de serviços já configurados.

Esta secção é o esboço; a especificação está na §39

O que se segue são as decisões de arquitetura e as definições de projeto. O modelo de dados completo, o catálogo de eventos, a ordem do tick e os critérios de aceitação por fase estão nas §39 a §67, e é contra essas que o código se escreve e se revê.

O Godot 4.7.2 saiu em janeiro de 2026. Nada nele muda a arquitetura abaixo — mas três coisas mudam a velocidade a que trabalhas com IA: docks móveis, previews de recursos em tempo real no Quick Open, e variáveis @export criadas por arrastar um recurso para o editor de scripts. Há também suporte para profilers de tracing (Tracy, Perfetto, Instruments), que é o que vais usar quando tiveres 300 unidades no ecrã.

Configurações de projeto — copiar tal e qual

DefiniçãoValorPorquê
Display › Window › Viewport1280 × 720Medido na tua arte (§01). Não reduzir.
Stretch › Modecanvas_itemsCâmara suave sem tremer os pixels
Stretch › Scale Modefractional, com opção integerVer a decisão da escada de escalas, abaixo
Stretch › AspectkeepBarras finas em vez de deformação
Textures › Default FilterNearestPixels nítidos
2D › Snap Transforms to PixelOffDeixa o subpixel à câmara; ligar isto causa jitter nas tropas
Physics Ticks per Second30Metade do render. Suficiente para IA de tropas e poupa CPU com 300 unidades
Rendering › RendererMobileMelhor para 2D e para export web; Forward+ é desperdício aqui

O problema da escada de escalas — e a decisão

1280×720 é a resolução certa para a tua arte, mas tem um custo: 1080p não é múltiplo inteiro de 720p (é 1,5×), e 1080p é o ecrã mais comum do mundo.

EcrãFatorResultado
1280 × 7201,0×Perfeito
Steam Deck 1280 × 8001,0×Perfeito, com barras de 40 px
1920 × 10801,5×Pixels desiguais — uns com 1 px, outros com 2
2560 × 14402,0×Perfeito
3840 × 21603,0×Perfeito
Recomendação — decide isto na Fase 0

Escala fracionária com filtro suave por omissão; nas Opções, um interruptor "pixels nítidos" que passa a escala inteira com barras; e a largura visível limitada a um máximo (por exemplo 1,25× do rácio 16:9) para que ecrãs ultralargos não ganhem vantagem em ver A Podridão chegar mais cedo. A câmara e o enquadramento dependem desta decisão — tomá-la depois custa uma reescrita.

Estrutura de pastas

res://
├─ CLAUDE.md              # contrato do agente (§28)
├─ docs/
│  ├─ design/            # este dossiê, dividido por sistema
│  └─ adr/               # decisões arquitetónicas, uma por ficheiro
├─ data/                 # TUDO o que é balanceamento (.tres)
│  ├─ peoples/           # enramados.tres, portuarios.tres...
│  ├─ units/             # enramados_arqueiro.tres, fenda_ariete.tres...
│  ├─ buildings/  biomes/  classes/  waves/  economy/
├─ src/
│  ├─ core/              # autoloads: EventBus, GameClock, SaveService, RNG
│  ├─ sim/               # simulação PURA, sem nós: economia, moral, podridão
│  ├─ actors/            # Unit, Builder, King, Mount, Creature
│  ├─ world/             # WorldGen, Chunk, Band, Camera
│  ├─ ui/  net/
├─ scenes/
├─ art/
│  ├─ source/            # .aseprite (Git LFS)
│  └─ export/            # .png + .json gerados (NÃO versionar)
├─ audio/  shaders/
└─ tests/                # gdUnit4
A regra que faz a IA funcionar

src/sim/ não pode importar nada de src/actors/ nem tocar em nós. É lógica pura, testável sem abrir o Godot. Toda a economia, moral, ganância, dívida e progressão da Podridão vivem aí. É a única forma de escreveres testes rápidos e de deixares a IA mexer em regras sem partir cenas. Se um agente puser um Node2D dentro de src/sim/, o teste falha e o CI trava o commit (§31).

Dados como Resource

# src/sim/data/unit_data.gd
class_name UnitData extends Resource

@export var id: StringName
@export var display_name: String
@export_group("Combate")
@export var max_health: int = 10
@export var damage: int = 0
@export var attack_interval: float = 1.2
@export var accuracy_open: float = 0.34   # 1.0 dentro de torre
@export_group("Economia")
@export var recruit_cost: int = 1
@export var upkeep_per_day: float = 0.0
@export_group("Mundo")
@export var band: Band.Kind = Band.Kind.SURFACE
@export var move_speed: float = 26.0
@export_group("Arte")
@export var sprite_frames: SpriteFrames
@export var layer_slots: Array[StringName] = [&"body", &"face", &"weapon"]

Cada tropa é um .tres. Balancear é editar tabelas — nunca código. Isto também significa que podes gerar todos os .tres a partir de um CSV e balancear numa folha de cálculo, que é exatamente o que a tabela do §07 é.

Desempenho com centenas de unidades

ProblemaSoluçãoGanho
300 nós com _processUm UnitSystem itera arrays; unidades não têm _processGrande
Vegetação e detritos (milhares)MultiMeshInstance2D — uma draw call para tudoGrande
Decisões de IA todos os framesTime-slicing: 1/6 das unidades decide por tickGrande
Instanciar/destruir tropasObject pooling com pool por tipoMédio
Colisões entre tropasSem colisão entre aliados; só separação por steering (§07)Grande
Sprites fora do ecrãVisibleOnScreenNotifier2D + LOD: fora do ecrã, simula mas não animaMédio
Muitas PointLight2D com sombraSombras só nas 3 luzes mais próximas da câmara; as restantes são sprites aditivosGrande

Save

Um Dictionary de tipos base validados contém o estado de src/sim/ e as posições das entidades. Grava-se com FileAccess.store_var e lê-se com FileAccess.get_var(false), conforme a ADR 0007. O esquema e a migração são explícitos; nenhum Resource é carregado a partir de um save. Regras não negociáveis:

  • Escreve para ficheiro temporário e só depois renomeia. Um crash a meio da escrita não pode destruir o save.
  • Campo save_version: int desde a v1, com migrações explícitas. Um jogador que perca 40 horas por causa de um update não volta.
  • Três slots com rotação em user://, auto-save no amanhecer de cada dia.
  • Nunca uses load() num ficheiro de save. Um .tres arbitrário pode conter script embutido — é uma execução remota de código disfarçada. Grava tipos base com FileAccess.store_var(dados, false) e lê com FileAccess.get_var(false); valida os campos. Nunca uses ResourceLoader.load num save (ADR 0007, Q-036).

Steam, Steam Deck e web

  • GodotSteam para conquistas, estatísticas, cloud saves e sockets. É o GDExtension padrão do ecossistema e a Valve documenta o Godot como motor suportado.
  • Steam Deck: 1280×800 → 1× nativo com 40 px de barras. O ecrã do Deck é praticamente a tua tela de autoria. §26 tem os critérios de verificação.
  • Web: requer cabeçalhos COOP/COEP para threads. Mantém um ramo não-threaded como reserva e reduz o escopo da demo web (texturas máx. 1024, uma música em simultâneo) em vez de esperar que corra igual ao PC.
20 — IA

Como as tropas e os reis decidem

O Kingdom prova que previsível vence inteligente quando o jogador não tem controlo direto. A arquitetura abaixo é deliberadamente simples na base e sofisticada só onde é preciso.

Camada A — Atribuição de trabalho (global)

Um sistema central, uma vez por fase do dia. Os postos (muro, plantação, torre, cozinha) publicam vagas com prioridade; as tropas disponíveis são atribuídas por score = adequação × proximidade × urgência. É o algoritmo do Kingdom, e é o que garante previsibilidade.

Camada B — Comportamento local (por unidade)

Uma máquina de estados pequena: IR_PARA, TRABALHAR, COMBATER, FUGIR, MORTO. Sem behavior trees para tropas comuns. Behavior tree só para chefes e criaturas da Podridão — aí LimboAI ou Beehave justificam-se.

Movimento em mundo 1.5D

Não precisas de A* nem de NavigationServer2D na superfície: o mundo é uma linha. O movimento é sign(alvo.x - self.x) mais steering de separação. Complexidade real só existe em três casos:

  • Mudança de faixa — grafo minúsculo de passagens e pontes. Dijkstra sobre 20–60 nós. Trivial.
  • Voadoras — movimento livre em X e Y dentro da faixa aérea, com flocking leve.
  • Subterrâneo — aí sim há túneis ramificados: usa NavigationRegion2D só nesta faixa.

Utilidade para as escolhas do rei inimigo

Os impérios inimigos não são scripts. Cada um avalia, uma vez por dia, um conjunto pequeno de ações com pontuação de utilidade ponderada pela sua ganância e pela idade do rei. Cinco ações, cinco fórmulas, comportamento que parece intencional — e cabe em 150 linhas.

# src/sim/ai/enemy_king_ai.gd
func choose_action(s: KingdomState) -> StringName:
    var greed := s.greed / 100.0
    var scores := {
        &"fortify":  s.wall_deficit * 1.4 + s.threat * 0.8,
        &"attack":   s.army_surplus * 1.2 - s.king_age_risk,
        &"recruit":  (1.0 - s.army_ratio) * 1.1,
        &"expand":   s.income_deficit * 0.9 * (1.0 - greed),
        &"diplomat": s.favor_ratio * 1.3,
    }
    # tiranos poupam no muro e gastam em elites
    if greed > 0.65:
        scores[&"fortify"] *= 0.45
        scores[&"recruit"] *= 1.35
    return _weighted_argmax(scores, s.rng)
Porque é que isto é suficiente

Cinco números por dia por império geram comportamento que os jogadores descrevem como "ele percebeu que eu estava fraco". Não percebeu — subtraiu king_age_risk. A IA de estratégia legível é quase sempre utilidade ponderada, não planeamento, e a diferença de custo entre as duas é de semanas.

21 — Mundo

Geração procedural do território

O Kingdom usa "blocos de construção modulares dispostos aleatoriamente, com vegetação de solo colocada automaticamente e cotos estratégicos de torre e muro para evitar sobreposição". É o modelo certo para ti também.

Estado da geração

Existem segmentos, mundo contínuo e floresta persistente. O desenho de sociedades desde o Dia Um ficou ultrapassado pelo despertar social da ADR 0069, ainda pendente em RG-24. As orientações de composição seguintes continuam úteis para a autoria, sem apagar o que já está implementado.

Região
4 a 6 ecrãs de largura — oito segmentos na fatia vertical, dez a doze quando uma região pedir cinco ou seis ecrãs, com ADR (Q-030). Não fixes isto pela largura da tela onde desenhaste — deriva-o do tempo de travessia: a pé (§12) atravessar uma região leva cerca de 40–60 s. É uma estimativa, e não uma lei: cada região é única e o número adapta-se a ela, e mede-se no greybox (Q-018, Q-082). A pé anda-se a 80 px/s (ADR 0021). Uma região tem identidade natural; a sua ocupação política é estado evolutivo, não uma equivalência fixa entre bioma, povo e império.
Segmento
640 px (meio ecrã). Oito segmentos por região. Cada segmento é uma cena autorada à mão.
Linha do solo
Constante em toda a região, no valor fixado na Fase 0 (§11). O terreno não sobe nem desce — é o que torna o mundo 1.5D e o movimento das tropas trivial (§20).
Corte de solo
Gerado em paralelo com a superfície: cada segmento tem 0–2 cavidades e 0–1 passagem, dentro da altura fixada em §11.
Tipo de segmentoPesoRestrição
base_inicial—Blueprint técnica da sede. O jogador escolhe a coordenada válida de fundação; não nasce um castelo ao centro (ADR 0066).
vazio30Terreno livre para o jogador construir. Nunca menos de 3 por região.
bosque / agua / rocha25Define a especialidade económica disponível. agua exige um vazio antes.
ruina12Traz uma passagem para o corte de solo.
acampamento_mercenario8Gerador atual: um a cada 4–7 segmentos. Contrato novo: mercenários móveis depois da fundação; migração pendente em RG-24.
fortaleza6Gerador atual: nunca duas adjacentes. Contrato novo: sociedades surgem de sementes depois da fundação, sem fortaleza organizada no dia 1; RG-24 pendente.
caotico4Só a partir da segunda região.
Mundo natural e despertar social — ADR 0069

No contrato do relatório, dia 1 é natural: clima, biomas, fauna, ruínas e perigos. Depois da fundação e da primeira noite territorial, a alvorada seguinte ativa sementes de civilização por dia global. O gerador de sociedades prontas descrito abaixo ainda é a implementação antiga: RG-24 deve migrá-lo com determinismo, saves e níveis de simulação. A fundação livre Solo já funciona; clima e despertar social ainda não.

A floresta é território — ADR 0070

Cada árvore é uma coisa do mundo, com id, espécie e estado no save. Primeiro reserva-se o que o mapa precisa (passagens, provisões, acampamentos, estátuas, raízes, tocas e obras erguidas); depois a densidade do bosque e a espécie do bioma enchem o resto, uma árvore por célula. Cinco silhuetas — carvalho, pinheiro, salgueiro, pinheiro da costa e árvore-das-raízes — e, num segmento de transição, a espécie e a densidade pesam as duas pontas. Uma moeda numa árvore paga a um construtor para a abater: o tronco dá moedas e fica o cepo; a fundação e as obras limpam o chão sem moeda. Duas regras com origem, destino e alcance escritos: o bosque apoia a coleta nas provisões e a floresta abriga a toca do veado. A estação muda a copa, nunca a existência: o que se corta não volta. As relações funcionais de floresta aprovadas na Q-238 estão discriminadas na §87; valores visuais ainda em _proposed não recebem aprovação por associação.

O território decide o que se levanta — ADR 0077

O bioma diz o que pode haver; a fonte diz o que há e onde. A água do segmento de partida (o lago do castelo-árvore), a dos segmentos de água das terras e o mar de uma borda, as árvores de pé e a rocha dos porões entre as muralhas à volta de cada passagem são fontes com sítio no mundo. Uma obra com requires_biome_feature — o pesqueiro, o corte de madeira, o poço de minério — só se levanta com uma fonte dessas ao alcance e na mesma faixa; a fundação livre já não leva o pesqueiro nem os poços para longe da água e das passagens. O painel da fundação diz, em cada sítio, que obras têm a fonte ao alcance, com a mesma conta que a confirmação faz. A obra que um save de antes já pagou ou tem de pé fica. Números em territory.csv, propostos (Q-249); tipos de água, porto e contratos mercenários por decidir (Q-250, Q-251).

O conflito que as referências levantam — e como se resolve

Há aqui uma contradição que este documento nunca tinha nomeado, e as três referências obrigam a nomeá-la agora.

Nomear o problema

O Eastward não usa tiles. A Pixpil decompõe cada edifício em camadas — telhado à parte das paredes —, remonta-as em 3D dentro do motor e pinta um bump map à mão para cada peça. Nada se repete: tudo é feito à medida daquele sítio. O Chef RPG é feito por um designer de arquitetura que desenha cada local aplicando princípios de desenho urbano. O Milki Delivery tem três pessoas e um jogo de duas a quatro horas — cada ecrã é uma ilustração.

Os três são bonitos porque são autorados sítio a sítio. O teu jogo monta o território a partir de segmentos sorteados por uma seed. É o modelo certo para um kingdom-builder com rejogabilidade — mas é, literalmente, o oposto do que faz a beleza das tuas referências. Fingir que não há conflito é como se resolve mal.

A saída não é abandonar a geração. É subir a unidade autorada e separar quem autora o quê. Seis regras, e a primeira sozinha resolve metade do problema.

1 · O parallax nunca é por segmento a mais importante

As camadas de céu, distância e plano médio (§11) são geradas uma vez por região, como uma paisagem contínua, a partir da seed. Só o plano de jogo e o primeiro plano são montados segmento a segmento. O olho lê uma paisagem única; o jogo lê oito módulos. É este único truque que faz montagem procedural parecer composição.

2 · Cada segmento tem um assunto

Uma coisa em que o olho pousa: o moinho, a ponte, a árvore partida, o poço. Tudo o resto é acompanhamento. Um segmento com quatro coisas igualmente interessantes não tem nenhuma — e é exatamente o que acontece quando se espalham edifícios numa folha para ver como ficam.

3 · A silhueta vem do telhado

O teste do §22 mantém-se e agora tem um método: se cobrires tudo abaixo da linha do solo e ainda distinguires o povo, o kit está bom. Variedade de props não substitui variedade de remate. É onde 80% da identidade de um povo vive.

4 · Variação por biblioteca, não por ruído

Cada prop repetível precisa de 4 variantes no mínimo e de uma regra de "não repetir a mesma variante dentro de 400 px". Espelhar é proibido em tudo o que tenha lado iluminado — a luz vem sempre do mesmo sítio e o olho apanha o espelhamento antes de perceber porquê.

5 · Greybox antes de pintar

Mantém-se inteira, e agora com mais razão: com a lei da escala dupla (§01), pintar um segmento com a composição errada custa-te meio dia em vez de um dia — mas continua a não consertar nada.

6 · Uma cena-cartaz por povo

Um ecrã por império, acabado a 100% e fora do gerador. Serve de padrão de qualidade para os segmentos daquele povo, de material para a página da Steam, e de resposta à pergunta "quanto tempo demora uma cena acabada" (§22).

A lição do Chef RPG: desenhar lugares, não fundos

O autor do Chef RPG é designer de arquitetura. Aplica desenho urbano a cada local — e é por isso que uma aldeia dele parece habitada e uma folha de assets não. São quatro ferramentas, e todas se traduzem diretamente para 1.5D.

FerramentaO que éNa tua vista lateral
MarcoO elemento alto que se vê de longe e orienta.Um por região, visível de três segmentos de distância, no plano médio ou a furar a faixa aérea. Para os Enramados é a árvore colossal; para os Portuários é o farol; para a Fornalha é a chaminé.
LimiarA passagem de um sítio para outro, marcada.A fronteira entre povos nunca é um fade: é um portão, uma ponte, uma falha na rocha, uma muralha em ruínas. Um segmento dedicado, com peso próprio.
BordoOnde o lugar acaba.Uma região tem de terminar em alguma coisa — falésia, mar, muralha, desfiladeiro. Nunca em mais terreno igual que desaparece fora do ecrã.
PercursoA rua. Os edifícios dirigem-se a ela.A linha do solo é a rua. E aqui está a correção que mais vai mudar as tuas cenas: os teus edifícios assentam na linha do solo; têm de dar para ela. Entre a fachada e a linha por onde as tropas andam tem de haver 12–20 px de soleira: um degrau, um caixote, uma lanterna, ferramentas encostadas. É essa faixa de 16 px que faz um edifício parecer usado por alguém.
Números de partida para a densidade — para o playtest desmentir

A §01 diz, e bem, que a densidade se decide a jogar. Mas começar de zero é pior do que começar de um número errado. Da tua própria panorâmica (4446 px de mundo construído, vazios de até 400 px) e da leitura das referências:

Em zona construída
Um edifício a cada 200–260 px de linha do solo. Mais junto do que isso e as tropas não têm por onde passar; mais espaçado e deixa de ser uma aldeia.
Entre grupos
Pelo menos 240 px de terreno livre. É o que dá ritmo à travessia e espaço para o jogador construir.
Por segmento de 640 px
Um assunto, 2 a 3 edifícios, e nunca dois props iguais.
Vazios acima de 400 px
Só de propósito, e só antes de um marco ou de um limiar. O vazio é o que faz a coisa seguinte parecer grande.
Porquê autorar segmentos em vez de gerar tudo

Com pixel art desenhada à mão, ruído procedural produz paisagens sem intenção. Segmentos autorados dão controlo de composição, reaproveitam os teus tilesets, e permitem slots de construção pré-definidos à maneira do Thronefall — forçar posições arriscadas em vez de deixar o jogador amontoar tudo no sítio seguro. Uma única seed reproduz tudo: guarda-a no save e mostra-a ao jogador.

Como autorar o primeiro segmento

Não comeces por desenhar. Constrói um segmento de 640 px inteiramente com formas lisas de cor — retângulos para edifícios, uma barra para o chão, blocos para cavidades — e joga-o. Um segmento greybox leva vinte minutos a fazer e diz-te em cinco se a densidade está certa. Só depois de teres seis ou oito segmentos que se jogam bem é que vale a pena pintar algum: pintar um segmento com a composição errada custa-te um dia e não conserta nada.

Painel de 30/09/2026 — ADR 0043. Os oito povos têm kits, assuntos e obras locais próprios. O povo do pântano chama-se Bruma, nome de trabalho ajustável; os identificadores anteriores migram nos saves. Uma muralha própria além de um acampamento ou uma árvore vizinha abatida acaba com ele; no sítio pode erguer-se uma casa de cidadãos, até três à espera e mais caros (Q-170, Q-175). Os valores novos de balanceamento são propostas ajustáveis nas tabelas.

Civilization VII e Manor Lords: a §87 especifica influência local, cobertura, afinidade regional proposta e custo de transformação; a §88 especifica sociedades e rede territorial. O tempo de travessia é uma medição por região (Q-155), não uma extensão fixa. Geração e fundação devem reservar os mesmos recursos críticos, independentemente da ordem em que sejam executadas.

22 — Arte

Pipeline de pixel art e a paleta mestra

Direção atual do dono (Q-235): objetos e sprites são elaborados com base em 64×64 píxeis. Esta é a referência de autoria, não uma obrigação de todos os edifícios, silhuetas, colisões ou animações terem a mesma caixa. As medidas técnicas e de ocupação continuam explícitas nos dados; assets e ampliações respeitam a grelha. A direção visual da ADR 0075 está integrada na base publicada pelo PR #92.

Família visual atual: Monarca corpulento, Nia de cabelo encaracolado e dois machados, Imperador Arqueiro encapuzado; a Podridão partilha madeira apodrecida, musgo, sombras ameixa e olhos âmbar. A sede cresce da fogueira para tendas, povoado, vila, vila fortificada e castelo-carvalho. A paisagem natural não antecipa uma cidade construída. A floresta funcional preserva espécies, estações, marca de abate e cepos. As quatro poses de caminhada e as lacunas de unidades especializadas e obras menores continuam explícitas no inventário artístico; direção aprovada não equivale a aprovação final de cada asset.

Esta secção foi reescrita à volta das três referências que deste. A especificação continua a derivar de como desenhas (§01) e a paleta continua a ser a tua — mas agora há três coisas que não havia: a lei da escala dupla, a pilha de iluminação, e a fonte arquitetónica de cada povo. O plano de produção foi refeito em consequência, e o cenário encolheu.

As três alavancas — o que cada referência ensina, e qual delas é tua

Medi as cinco capturas (§01) e fui ver como cada jogo é feito. A conclusão útil é que os três resolvem "cenário bonito" com alavancas diferentes, e que só uma delas é diretamente tua.

Milki Delivery — forma e calma

Câmara lateral, como a tua. Desenhado à mão na Unity por três pessoas, num jogo de 2–4 h. Poucas formas, grandes, com ar à volta: 30% do ecrã sem nada contornado, e uma rampa contínua de detalhe do topo para a base (2,9×, medido). É a alavanca que te falta — e é de composição, não de técnica.

Eastward — luz

582–640 px de tela efetiva, menos de metade da tua. A beleza não está nos pixels: está no deferred lighting, nos bump maps pintados peça a peça, no SSAO simulado, nos LUTs e nas camadas de névoa e raios ao amanhecer. Seis anos e oito pessoas. A alavanca é aproveitável; o orçamento não.

Chef RPG — arquitetura

799×450 de tela efetiva. Feito por um designer de arquitetura que desenha cada local com princípios de desenho urbano — marco, limiar, bordo, percurso (§21). É a alavanca mais barata das três: não custa horas de pintura, custa uma hora de planta antes de desenhar.

A ordem por que te servem

Arquitetura primeiro (é grátis), composição a seguir (é a lei da escala dupla e a regra do céu), luz por último (é onde está o retorno maior por hora, mas só depois de haver o que iluminar). Fazer luz sobre uma cena mal composta é pôr um filtro caro num problema barato.

O veredito sobre a resolução — e porque é que ela fica onde está

A tentação, depois dos números do §01, é baixar para 640×360 e ficar em pé de igualdade com o Eastward. Não. A tua arte de personagem está desenhada a 1:1 nesta grelha, perde 6,3% dos pixels a reduzir, e é o teu ativo mais valioso e o mais difícil de refazer. A regra de ouro do §01 mantém-se: é a grelha de autoria que manda.

O que muda não é a resolução — é a densidade de desenho dentro dela. E o cálculo é direto:

ElementoNa referênciaNa tua grelhaConsequência
Contorno de silhueta1 px2 pxPeso aparente igual ao das referências. Podes obtê-lo por shader de dilatação, sem redesenhar nada (ver a pilha de iluminação, abaixo).
Contorno interno e detalhe de personagem1 px1 pxA exceção deliberada. As figuras ficam ao dobro da resolução do mundo e destacam-se sem ajuda de UI.
Erva, telha, junta de pedra, caixilho1 px2 pxMetade das decisões de pixel por metro quadrado de cenário.
Cluster mínimo em cenário1×12×2Nada de pixels soltos no mundo. Pixels soltos = ruído a esta densidade.
Detalhe nas camadas distantes2 px4 pxMontanha e copa distante são massa, não textura.
Grelha de tile16 px32 pxJá é o teu valor. Confirma-se: 32 na tua grelha = 16 na delas.
Como se verifica que a lei está a ser cumprida

Não é a olho. A métrica é cores distintas numa janela de 16×16 px, medida na imagem final. Nas referências, em cena aberta, ela sobe do topo para a base assim: ~13–18 no céu, ~21–26 no plano médio, ~30–53 no primeiro plano. Se o teu topo de ecrã medir 40, tens ruído a fingir de paisagem. O guião de medição está feito e corre sobre qualquer captura tua — mede-te a ti como os mediu a eles.

ParâmetroValorOrigem
Render alvo1280 × 720Medido: as duas cenas são 1:1 nativo a 720 px de altura
Região4–6 ecrãs × 720Derivado do tempo de travessia (§21)
Linha do solo≈ 500–540Proposto e derivado em §11 — a fixar na Fase 0
Corte de solo180–220 pxProposto em §11
Grelha de tile32 pxAutora em 64×64 como já fazes; 64 = 2×2 tiles
Escala 1 — escudeiro32–36 pxEscudeiro do trono
Escala 2 — aldeão/tropa46–52 pxEmpire troop de 47 px
Escala 3 — personagem jogável/elite56–62 pxReferência técnica histórica dos perfis imperiais (§08) e da elite; a autoria atual rege-se pela Q-235 e ADR 0075
Escala 4 — o rei64–70 pxO rei é o maior: tropa < personagem jogável < rei; o vagabundo tem o tamanho de uma tropa, porque pode ser convertido numa (Q-097)
Casa pequena≈ 120 × 130 pxFerreiro da panorâmica — indicativo, a confirmar em jogo
Animação10 fpsIdle 6 frames (como já fazes) · andar 8 · ataque 5 · morte 7
Parallax6 camadascéu · montanha · colina · fundo médio · jogo · primeiro plano
Revisto na Parte XIII

O Bloco 4 muda de ordem e o parallax fica mais barato: ver §80. Três valores de silhueta entram na paleta e a noite passa a castanha.

A paleta de trabalho — 112 cores, sete famílias

Extraída das duas cenas (104 + 115 cores opacas, 137 únicas combinadas, 112 acima do limiar de ruído). É a rampa atual de arte em curso, não uma paleta fechada — a caixa no fim desta secção diz quando e como se fecha. Passa o rato por cima para ver o hex; clica para copiar. O botão exporta em .gpl, que a Aseprite importa diretamente.

Neutros e contorno23 cores
Estuque e areia21 cores
Madeira e terra30 cores
Âmbar e fogo5 cores
Verde — relva e copa17 cores
Azul-petróleo — telha e água9 cores
Ameixa e sombra7 cores
O que a distribuição revela

Repara nos números: 23 neutros, 30 de madeira e terra, 21 de estuque, só 9 de azul-petróleo e 5 de âmbar. Isto confirma a tua gramática — os materiais quentes e neutros fazem o mundo, e as cores frias e quentes saturadas são acentos, usados com parcimónia. Quando desenhares um povo novo, mantém a proporção: se a Fornalha tiver 30 cores de âmbar, deixa de ser um povo dentro do mesmo mundo e passa a ser um jogo diferente. Um povo novo troca a rampa dominante, não a estrutura da paleta.

O que existe hoje, e o que falta

A versão anterior deste documento tratava a arte como um problema resolvido. Não é — mas também não está toda por fazer, e a distinção importa muito para o calendário. O design de personagem está praticamente fechado nas figuras que já desenhaste; o cenário é que está no início.

Personagens — desenho resolvido

Silhuetas, proporções, as três escalas, os rostos de boca larga, a rampa de cor sobre os corpos. Isto é a parte difícil de acertar e está acertada. O que falta é execução: separar em slots e animar.

Cenário — no início

Edifícios como objetos de jogo, terreno, corte de solo, parallax, muralhas, torres. É aqui que está mais de metade das horas que faltam, e é a razão pela qual as cenas que enviaste parecem desmontadas: não são layouts, são ensaios.

Bloco 1 · Personagens — ≈ 32 h (16%)
ItemEstadoO que faltaHoras
Design das figurasFechadoNada. É o teu ativo mais valioso e o mais difícil de refazer.0
Separação em slotsParcialArrumar as personagens existentes em body · head · face · weapon · overlay, com nomenclatura fixa5
Animação dos 3 corposSó idle de 6 frameswalk 8 · attack 5 · die 7, por escala. Rápido porque o desenho já existe.15
Cabeças e identidadeVárias nas cenas~10 variantes: cabelo, barba, coroa, elmo, barrete, chapéu de construtor6
Faces de estadoNormalferido · encantado · apodrecido3
Armas e escudosBase4 níveis de cada, mais a arma saqueada (§09)3
Bloco 2 · Cenário — ≈ 70 h (40%) revisto na v4

As horas abaixo já contam com a lei da escala dupla (§01). Desenhar cenário com unidade de 2 px em vez de 1 px corta perto de 40% das decisões de pixel por peça — não é uma estimativa otimista, é aritmética de área. Os valores da v3 estão entre parênteses.

ItemEstadoO que faltaHoras
Edifícios do povoDesenhados nas cenas, não separados13 edifícios como objetos autónomos, com estados de construção e destruição: núcleo, casa de treino, forja, cozinha, celeiro, salga, curral, serração, poço, plantação, pesqueiro, galinheiro, estábulo32 (52)
Terreno4 tilesets em cursoSuperfície, corte de solo, cavidade e transições, arrumados em TileSet do Godot10 (16)
Torres e defesas—6 estruturas (§10)9 (15)
ParallaxFundo achatado6 camadas separadas, com os deltas de saturação, valor e densidade especificados adiante nesta secção12 (14)
Muralhas—5 níveis × segmento, remate e portão = 15 peças7 (12)
Bloco 4 · Luz e atmosfera — ≈ 18 h novo na v4
ItemEstadoO que faltaHoras
Sombras de contacto—Um sprite de elipse por escala e por classe de objeto, mais o nó que o coloca1
CanvasModulate por plano—Cinco planos ligados ao GameClock2
LUT de hora do dia—Rampas para amanhecer, meio-dia, crepúsculo e noite; é o mesmo shader do palette swap4
Névoa entre camadas—3 bandas, dois presets (aberto e fechado)3
Luz quente pontual—Forja, forno, lanternas, farol3
Raios de amanhecer—Quads aditivos com deriva lenta2
Contorno por dilatação—Engrossar a silhueta de cenário para 2 px sem redesenhar3
Bloco 3 · Criaturas, efeitos e interface — ≈ 56 h (32%)
ItemEstadoO que faltaHoras
Criaturas da PodridãoSó o companheiro (Healing Frog)6 criaturas × idle, walk, attack, die (§07). Design por fazer — mas o vocabulário visual já existe.30
UI diegéticaPlacas nas cenas6 ícones entalhados da roda do rei, placas de loja, fonte de 12 px (§26)14
Efeitos—Mancha da Podridão, dissolução, dither de revelação, moeda, impacto, buff, marca12
O conflito de calendário que isto revela

≈ 176 horas para a fatia vertical depois da revisão: 32 de personagens, 70 de cenário, 18 de luz, 56 de criaturas, efeitos e interface. Ao ritmo do §28 — sábado é o dia de arte, ~6 h por semana — são 29 semanas, sete meses. A Fase 2 do roadmap dá-lhe três. O conflito é menor do que na v3, mas continua a existir.

E repara no que a lei da escala dupla realmente fez. Poupou 39 horas de cenário, das quais 18 foram devolvidas à luz. O ganho líquido de calendário é modesto — três semanas. O ganho de resultado não é: essas 18 horas de iluminação valem, em imagem, muito mais do que as 39 horas de pintura fina que substituem. A troca certa não era pintar mais depressa; era pintar menos e iluminar melhor.

A arte é o teu caminho crítico. O código não é: a IA escreve-o e tu revê-lo. Nenhum agente desenha o teu ferreiro de bigode — mas a boa notícia é que esse já está desenhado. O que falta é o mundo à volta dele.

As três saídas, e a que recomendo
A · Mais dias de arte

Dois dias por semana em vez de um: 12 h → 17 semanas. Ainda passa dos três meses, e rouba o tempo de rever o que a IA escreve.

B · Fatia vertical mais estreita

Só o que aparece no ciclo de 10 dias: 7 edifícios em vez de 13, 3 criaturas em vez de 6. Cai para ≈ 105 h com as horas revistas. Os outros entram na Fase 6.

C · Cenário em paralelo (recomendado)

Começar o cenário da Fase 2 durante a Fase 1. Arte e código são dias diferentes da semana e não se bloqueiam: oito meses de arte cabem, se começarem no mês 2 em vez do mês 5.

B + C em conjunto resolvem-no com folga. E há uma quarta alavanca que só existe porque o design de personagem está fechado: as personagens podem entrar no jogo já. Não precisas de esperar pelo cenário para teres figuras animadas a andar num ecrã de blocos de cor — o que significa que a Fase 1 pode ter, desde cedo, uma coisa que se parece com um jogo.

A ordem por que se acaba a arte

Não é a ordem em que apetece desenhar. É a ordem que desbloqueia mais coisas por hora gasta — e começa pelas personagens precisamente porque estão prontas.

Sombras de contacto e CanvasModulate

Três horas, antes de tudo o resto. É a única coisa neste documento que melhora toda a arte que já existe e toda a que ainda não existe, sem tocar num ficheiro Aseprite. Faz isto no primeiro sábado.

Separar as personagens em slots e animá-las

Vinte horas que servem dezenas de personagens através do sistema de slots (§22). É a maior alavanca do pipeline inteiro, e é a única categoria onde partes de um desenho acabado.

Uma cena-cartaz, acabada a 100%

Um único ecrã de 1280 × 720, completo: céu, parallax, terreno, corte de solo com uma cavidade, quatro edifícios, seis personagens, luz de crepúsculo. Não é para o jogo — é para descobrires quanto tempo demora uma cena acabada, e para teres a primeira coisa bonita para o devlog (§36). Com as personagens já prontas, é sobretudo um exercício de cenário, que é exatamente onde precisas de praticar.

Terreno e parallax

Tudo o resto assenta em cima. Um erro aqui repete-se em todos os ecrãs do jogo.

Os sete edifícios do ciclo de 10 dias

Núcleo, casa de treino, plantação, galinheiro, forja, cozinha, celeiro. Os outros seis esperam pela Fase 6.

Muralhas, os cinco níveis

São a progressão mais visível do jogo e aparecem em todas as capturas de ecrã.

Três criaturas: Rastejante, Alado, Bruto

Chegam para os primeiros dez dias. O Aríete e a Consumidora são conteúdo da Fase 6.

Efeitos, e só depois o resto

A mancha da Podridão e a dissolução valem mais em impacto do que qualquer edifício extra.

A regra do greybox — e é a que te poupa mais horas

Nada de cenário se pinta antes de ter sido jogado como forma lisa. Um edifício em pixel art custa quatro horas; um retângulo de cor lisa com o tamanho certo custa dois minutos e responde exatamente à mesma pergunta — cabe no ecrã? lê-se à distância? o jogador percebe o que é? A regra não se aplica às personagens, porque essas já estão desenhadas: mete-as no greybox desde o primeiro dia e deixa que sejam elas a dar-te a escala de tudo o resto.

Quando se fecha a paleta

As 112 cores acima são a rampa das duas cenas em curso — um ponto de partida, não uma paleta fechada. Fecha-a no fim da fatia vertical, quando um povo inteiro estiver pintado: aí sim tens uma amostra representativa, e sobretudo tens cenário pintado, que é o que falta à amostra atual. O ritual é simples — junta tudo o que pintaste, corre a extração outra vez, funde cores a menos de 4% de distância umas das outras, e a partir daí a paleta é lei. Uma cor nova passa a exigir a mesma justificação que um material novo.

A pilha de iluminação — o Eastward em Godot, por ordem de retorno

A Pixpil monta cada cena em 3D dentro do motor, pinta um bump map à mão para cada peça, simula SSAO e passa tudo por LUTs e camadas de névoa. Tem oito pessoas e seis anos. Tu tens sábados. Mas a pilha decompõe-se, e os primeiros três degraus custam quase nada e dão a maior parte do efeito.

#DegrauComo se faz em GodotCustoO que compra
1Sombra de contactoUm sprite elíptico desenhado à mão sob tudo o que toca o chão. CanvasItem em modo multiplicativo, 45–55% de opacidade, castanho-escuro quente — nunca preto. Escala com a largura do objeto, não com a altura.1 hO maior salto isolado do documento. É o que separa "objetos pousados numa imagem" de "objetos que estão ali". As tuas cenas flutuam sobre branco; isto resolve-o antes de pintares um único edifício.
2CanvasModulate por faixaUm por plano de imagem (§11), animado pelo GameClock. O corte de solo fica permanentemente escuro; só as cavidades descobertas recebem luz.2 hCiclo dia/noite quase de graça, e profundidade estática por diferença de exposição entre planos.
3Gradação por LUTUma rampa 1D por hora do dia; todos os sprites amostram através dela. É o mesmo shader de palette swap que já tens listado para variantes de povo, estados e encantamento do bardo — um shader a fazer quatro trabalhos.4 hAmanhecer, meio-dia, crepúsculo e noite coerentes em todo o jogo, sem repintar nada e sem sair da paleta. É a técnica do Eastward, e é a que melhor se aplica ao teu caso.
4Camadas de névoaDuas ou três bandas horizontais aditivas entre camadas de parallax, com opacidade de 6–14% e deriva muito lenta.3 hÉ o que produz, em imagem, a rampa de saturação e valor medida na §11. Barato e desproporcionalmente eficaz em cena aberta.
5Luz quente pontualPointLight2D sem sombra na forja, no forno, nas lanternas e nos faróis. Sombras dinâmicas só nas três luzes mais próximas da câmara (§19).3 hDá vida à noite e justifica a rampa de âmbar da paleta, que hoje tem só 5 cores e quase não se usa.
6Raios de amanhecerQuads aditivos inclinados, opacidade ≤10%, deriva lenta, só entre as horas de nascer e pôr do sol.2 hA assinatura visual do Eastward, e o que faz o teu sino da manhã (§23) valer uma captura de ecrã.
7Contorno por dilataçãoJá está na tua lista. Aqui ganha uma função nova: engrossar a silhueta de 1 para 2 px sem redesenhar a arte (§01). Aplica-se por material — cenário sim, faixas distantes não.3 hResolve a lei da escala dupla no contorno sem te custar uma única hora de Aseprite.
8Normal maps + luz presa à paletaO PointLight2D não respeita o filtro Nearest em normal maps — a armadilha já documentada abaixo. A solução conhecida é codificar o índice de paleta num canal e o brilho da normal noutro, e descodificar através de uma textura de gradiente, para a cor iluminada cair sempre numa cor da paleta.12 h+É o efeito Eastward a sério. Só para objetos-herói — núcleo, castelo, muralhas, forja. Nunca para 300 unidades. E só depois de 1 a 7 estarem feitos.
Se só fizeres uma coisa

Faz o degrau 1. Uma hora de sombras de contacto muda mais as tuas capturas de ecrã do que cinquenta horas de edifícios novos — e resolve exatamente o sintoma que a §01 descreve: figuras acabadas espalhadas sobre um fundo por resolver. Elas não estão só sobre um fundo por resolver; estão a flutuar. Uma elipse castanha por baixo põe-nas no chão.

A profundidade, camada a camada

As seis camadas de parallax já estavam na tabela de parâmetros. O que faltava era dizer o que muda de uma para a outra — e agora os deltas são medidos nas tuas referências (§11), não inventados.

Camadamotion_scaleSaturaçãoValorMatizDetalhe mín.ContornoCores/16px
1 · Céu1/32−35%+20%+20° → céubandas lisasnão13–18
2 · Montanha1/8−28%+16%+14°8 pxnão15–20
3 · Colina1/4−20%+11%+9°4 pxnão18–23
4 · Fundo médio1/2−10%+5%+4°4 pxnão21–26
5 · Jogo1referênciareferência0°2 pxsim, 2 px30–40
6 · Primeiro plano3/2+5%−30%−5° (quente)silhuetasim, 2 px≤20
A regra do pixel inteiro

Nada de parallax se move em meio pixel. Cada camada calcula a posição e arredonda para baixo antes de a aplicar (floor()), e a câmara move-se em pixels inteiros de mundo. As frações acima são todas binárias exatas (1/32, 1/8, 1/4, 1/2, 3/2) precisamente para o arredondamento ser estável. Camadas que andam menos de 1 px por frame tremem: se acontecer, duplica a largura da textura em vez de baixar a velocidade.

Em cena fechada — Enramados, Sob-Raiz, interior de cavidade — inverte a coluna do valor: o fundo escurece em vez de clarear, e a saturação quase não muda. É o segundo preset medido na §11.

Cada povo precisa de uma fonte arquitetónica, não de uma paleta

Esta é a lição mais barata e a mais subestimada. O Eastward mistura arquitetura japonesa Showa e Taishō com Hong Kong e Xangai; o Chef RPG cruza arquitetura asiática e ocidental com cyberpunk, e o autor descreve o tema como o choque entre tradição e tecnologia. Nenhum dos dois inventou um estilo — os dois foram buscar um. É o que faz um kit parecer uma cultura em vez de um conjunto de casas.

A tua §04 define os seis povos por terreno, economia, defesa e tropa. Falta a coluna que decide como eles se desenham. Estas são propostas — o que importa é que cada uma seja um sítio real que possas ir ver, e que a fonte fique escrita no PeopleData.tres ao lado da rampa de paleta.

PovoFonte propostaO que se rouba de láRemate do telhado
EnramadosIgrejas de madeira norueguesas (stavkirke) + casas nas árvores dos Korowai + carpintaria japonesa sem pregosEstrutura de madeira à vista, telhados sobrepostos em camadas, varandas em consola, escadas exterioresEmpilhado, escamado, pontiagudo — silhueta serrada
PortuáriosPorto palafítico da Carrasqueira, no Sado — a 30 km de ti — e os naust nórdicosEstacaria irregular de madeira sobre água, passadiços estreitos, telheiros de guarda-barcos, redesBaixo, largo, de duas águas, quase a tocar a água
FendaPetra, os celeiros dogon da falésia de Bandiagara, e as aldeias de xisto da Serra da LousãFachada esculpida na rocha, sem telhado; degraus talhados; pontes suspensas entre paredesNão há — a silhueta é o negativo do desfiladeiro
HortaLezíria do Tejo e celeiros de estrutura de madeira inglesesVolumes grandes e simples, colmo, silos cilíndricos, estufas envidraçadas, muros baixosEnorme e liso, com uma única inclinação. Contrasta com tudo o resto
FornalhaFerrarias bascas (ferrerías) e construção em basalto islandêsPedra escura, chaminés altas, muros de escória vitrificada, aberturas que brilham de noiteChato e pesado, atravessado por chaminés — a silhueta é vertical
Sob-RaizDerinkuyu, na Capadócia, e Coober PedyCâmaras escavadas ligadas por poços, nichos, nada de fachada — só aberturas na terraNão há telhado. O povo lê-se pelo corte, não pelo alçado
O teste, e é o mesmo de sempre

Tapa tudo abaixo da linha do solo. Se ainda distingues os seis povos, os kits estão certos. É por isso que a fonte arquitetónica importa mais do que a paleta: a paleta muda com a hora do dia e com o LUT; a silhueta do telhado não muda nunca.

A gramática visual — escreve-a e não a quebres

RegraEspecificação
ContornoPreto puro. 2 px na silhueta de tudo o que é cenário e edifício; 1 px nas personagens e no detalhe interno (§01, lei da escala dupla). As camadas 1–4 de parallax não levam contorno nenhum.
MateriaisEstuque creme · vigas castanho-escuro · telha azul-petróleo escamada · pedra cinza-frio · madeira quente · relva verde-lima. Um material novo exige justificação escrita.
SombreamentoDois tons por material, sem gradientes, sem dithering decorativo. O dither é reservado a efeitos (revelação, dissolução) e às bandas de céu.
DensidadeCluster mínimo de 2×2 px em todo o cenário; 4×4 nas camadas distantes. Pixels soltos são ruído a esta resolução. As personagens são a exceção e ficam a 1 px.
Assentar no chãoTudo o que toca o solo leva sombra de contacto — elipse castanha quente, multiplicativa, 45–55%. Sem exceções, nem para caixotes.
CéuPelo menos 30% da altura do ecrã acima do telhado mais alto, sem nada contornado (§11).
RostosBocas largas com dentes, olhos afastados. O humor está na cara — atravessa idiomas sem localização.
SinaléticaÍcone entalhado em madeira, nunca texto. UI diegética e localização grátis.
Silhueta por povoCada povo é reconhecível a 100% de zoom out só pela forma dos telhados. É o teste de qualidade de um kit novo, e cada povo tem uma fonte arquitetónica real escrita no seu PeopleData.tres.

Slots: o teu sistema modular

Os teus ficheiros já separam Body, Face, Sword, Shield, Equipments. Formaliza como cinco slots:

SlotTrocado porExemplo
bodyPovo e escalaenramado, portuário, horta · escalas 1/2/3
headIdentidadecabelo preto, barba ruiva, coroa, elmo alado, barrete de cozinheiro
faceEstado e lealdadenormal, ferido, encantado, apodrecido
weapon / shieldFerreironíveis 1–4 · arma saqueada
overlayEfeitosbuff do cozinheiro, marca do arqueiro, rasto da Podridão

Cada slot é um Sprite2D filho com o mesmo AnimationPlayer. Um personagem = 5 sprites empilhados. Custo de desenho desprezável em 2D; poupança de trabalho artístico enorme — e é o que torna viável ter seis povos.

Da Aseprite ao Godot

  • Autoras em art/source/<povo>/*.aseprite, uma camada por slot, tags por animação (idle, walk, attack, die).
  • Godot Aseprite Wizard importa para SpriteFrames ou AnimationPlayer respeitando tags e camadas. É o plugin mais maduro do ecossistema.
  • Nomenclatura obrigatória: <povo>_<entidade>_<slot>.aseprite — ex. enramados_ferreiro_body.aseprite. A IA depende disto para gerar cenas sem ver a arte.
  • art/export/ é gerado e está no .gitignore. art/source/ vai para Git LFS desde o primeiro commit — migrar depois é doloroso.

Shaders que valem a pena

ShaderUsa emCusto
Palette swap (LUT 1D)Variantes de povo, estados, encantamento do bardoBaixo. O maior retorno do projeto.
Revelação por ditherCavidades a abrir no corte de soloBaixo. Mecânica e efeito ao mesmo tempo.
Outline por dilataçãoPersonagem controlado, alvo marcadoBaixo
DissoluçãoPodridão a espalhar-se, morte de unidadesBaixo
Ondulação de águaO lago do castelo, portos, pesqueirosBaixo
Névoa volumétrica falsaCavidades, crepúsculoMédio
Vinheta de cegueiraCavaleiro Selado sem montaria (§24)Baixo

Iluminação

Um CanvasModulate por faixa, animado pelo GameClock, dá o ciclo dia/noite quase de graça — e o corte de solo pode ficar escuro de forma permanente, com luz só nas cavidades descobertas. PointLight2D para as fogueiras que já desenhaste (forja, forno), faróis e a própria Podridão.

Armadilha documentada

O PointLight2D não respeita o filtro Nearest em normal maps e sombras — os teus pixels ficam suaves à volta das luzes. Se usares normal maps, testa isto na Fase 0, não na Fase 5. Sombras dinâmicas em 2D também são caras: limita-as às três luzes mais próximas da câmara e faz as restantes com sprites aditivos.

23 — Áudio

Camadas que respondem ao dia

  • Motor: AudioStreamInteractive e AudioStreamSynchronized, nativos do Godot desde a 4.3. Não precisas de FMOD nem Wwise — poupa licença e complexidade de export web.
  • Música: uma faixa por bioma, gravada em 4 stems: base, dia, tensão, noite. O GameClock faz crossfade de volumes. A Podridão a aproximar-se sobe o stem de tensão proporcionalmente à distância — o jogador ouve-a antes de a ver do outro lado do ecrã.
  • Sino da manhã: marcador sonoro do amanhecer, como no Kingdom. É o teu sinal mais importante e deve ser inconfundível.
  • Aviso do crepúsculo: som distinto quando A Podridão nasce. O jogador tem de conseguir reagir sem olhar para o HUD.
  • SFX: variação por pitch (±8%) em tudo o que se repete: passos, moedas, flechas. Sem isto, 300 unidades soam a metralhadora.
  • Limite de vozes: máx. 24 em simultâneo, com prioridade por proximidade da câmara. Obrigatório no export web (máx. 1 stream de música).
O orçamento de áudio

6 biomas × 4 stems = 24 faixas, mais ~80 SFX. Isto é o item mais provável de subcontratares (§35): entre 1 200 € e 4 000 € para um compositor indie, ou biblioteca licenciada a 200–600 €. Decide cedo, porque a música define o tom das capturas de ecrã e dos trailers tanto quanto a arte.

24 — Interface · novo

Controlos, HUD diegético e feedback

Atualização da baseline — ADR 0078, UX-08/CV-01: o Atlas do Império unifica a linguagem da HUD. A fundação apresenta uma linha contextual; Interagir abre a ficha do sítio sem fundar nem gastar. O foco inicial é Voltar, e confirmar volta a validar pela simulação. Em janela baixa o corpo da ficha rola; a navegação mantém teclado, comando e toque. O inspetor pode mostrar fontes e alcance do território. A sua sobreposição é diagnóstico, não substitui a geografia visível.

A v2 dizia "dois verbos" e parava aí. Isto é o mapa completo. Um jogo com 48 mecânicas e dois botões só funciona se cada contexto estiver escrito — e o Steam Deck obriga-te a resolver isto antes da demo, não depois.

O mapa de comando

AçãoComandoTecladoContexto
MoverStick esquerdo / D-padA · D · ← →Sempre
Verbo 1 — Largar moedaA / ✕ (toque)EspaçoSempre. Contexto define o alvo.
Largar em contínuoA / ✕ (manter)Espaço (manter)Pagar vários níveis de uma vez
Verbo 2 — AssumirX / ▢EEscolher na Casa do Herdeiro com sucessor pronto; montar, entrar em passagem e pagar ao companheiro
Descer / subir de faixaVerbo 2 sobre passagemE sobre passagemSó onde há passagem descoberta
Roda do reiY / △ (manter)Tab (manter)Só com o titular da coroa. É o corpo dele, não um menu.
AtacarRB / R1F / botão esq. do ratoCorpo controlado; manter repete à cadência da arma
Habilidade do monarcaRT / R2R / botão dir. do ratoRei: Vigília; Nia: o canto pago do Bardo; Arqueiro: marca (ADR 0045, ADR 0052)
Impulso realRoda do rei → segmentoTab → 1–5Um por dia (§15)
Câmara livreStick direitoQ · Z ou rato na margemReconhecimento; volta sozinha em 2 s
Pausa / opçõesStartEscSempre
A roda do rei é o único menu do jogo

Manter Y abre uma roda de seis segmentos desenhada como um vitral do trono: construir · recrutar · ofícios · impulso · expedição · sucessão. Cada segmento é um ícone entalhado, nunca uma palavra — a mesma regra da sinalética das lojas (§01). Selecionar é apontar o stick e largar. É gamepad-first por construção, funciona sem rato no Steam Deck, e não custa localização.

HUD diegético — o que existe no ecrã, e onde vive

InformaçãoComo se mostraOnde
MoedasO saco do personagem enche visivelmente; moedas caem quando está cheioNo sprite
Hora do diaCor da luz ambiente + posição do sol/lua no céuNo mundo
Podridão a chegarA mancha no horizonte + stem de tensão a subirNo mundo
Vida de tropaCamada face muda para ferido abaixo de 50%No sprite
Nível de muralhaMaterial e silhueta (§10)No mundo
Ganância do reiNº de nobres visíveis na varanda do casteloNo mundo
Dívida e prazoÚnico elemento não-diegético: contador de 6 dias no cantoCanto superior direito
Sementes ReaisRoda do rei, segmento de sucessãoSob pedido

Prioridade à leitura do mundo. Informação necessária sobre moeda, vida, munição, fôlego, dívida e disponibilidade deve continuar legível. A intenção diegética não proíbe o HUD funcional e as opções de acessibilidade. O PR #92 integrou o HUD móvel e as letras do mundo dimensionados para a leitura, com recursos e extras separados e caixas limitadas; confirmar em equipamento real continua um critério próprio.

Feedback — a lista de juice que não é opcional

Num jogo sem UI, o feedback é a interface. Cada item abaixo é barato e cada um deles falta na maioria dos clones do Kingdom:

  • Moeda largada — arco parabólico, som com pitch variável, pequeno bounce e sombra. Isto acontece milhares de vezes por partida: é a animação mais importante do jogo.
  • Impacto — flash branco de 80 ms, 3 px de knockback, partícula de 4 px na direção do golpe.
  • Screen shake — só para o muro a cair e o Aríete a acertar. Nunca para golpes normais. Amplitude máx. 4 px, e com opção de desligar (§26).
  • Amanhecer — sino + varrimento de luz da esquerda para a direita a 900 px/s + as tropas a saírem dos postos em cascata, não todas ao mesmo tempo.
  • Conquista — o kit de arquitetura novo aparece na roda do rei com o ícone a ser entalhado em madeira em 6 frames.
  • Cegueira do Cavaleiro Selado — vinheta que fecha até 40% do ecrã, som abafado, e a câmara deixa de antecipar o movimento. A perda tem de sentir-se.

A moeda no marco: melhorias e reparações da sede continuam contextuais e mostram o destinatário antes do pagamento. A evolução de monarca e companhia passou para feitos de batalha (Q-223/Q-232); não se ensina a antiga compra de evolução como regra atual. Corrida: manter o botão, soltar para parar (Q-193); todas as ações devem existir em toque, com alavanca e botões adaptados (Q-187).

25 — Onboarding

A Última Carroça: explorar, escolher e fundar

A abertura atual é a Última Carroça, consolidada pelas ADRs 0065–0070 e pelas Q-221/Q-223/Q-231. O imperador chega com uma carroça e três cidadãos sem ofício. Não nasce castelo, pioneiro construtor, arqueiro automático nem companhia gratuita. O jogador explora para escolher onde criar raízes.

Sequência de experiência

Momento relativo Experiência Regra e prova observável
Chegada Escolher o imperador e perceber que há pessoas a depender dele A carroça e o grupo seguem-no; moedas da reserva continuam físicas
Exploração Comparar clareira, bosque, água, recursos e acessos Não mudar de bioma como se fosse começar outra partida; mundo contínuo
Paragem Ler o local e as consequências Sem interação prioritária, um local válido oferece “Fundar o Império aqui?”
Compromisso Fundar gratuitamente Revalidação da posição; uma única sede; limpeza comum sem saque; assinatura persistente
Organização Dar trabalho e preparar rendimento/defesa Bancas aparecem só depois de fundar e dentro do primeiro traçado; martelo pago, sem profissão gratuita
Primeira noite territorial Perceber o valor do local, da luz e da defesa A Podridão vem de fora do reino; dificuldade inicial gradual, sem garantia artificial de vitória
Amanhecer seguinte Reparar, planear e ler novos sinais Despertar social é o contrato de RG-24, ainda por implementar; não uma funcionalidade concluída
Primeira expansão Escolher entre gente, renda, defesa e exploração Obras dependem de estágio, território, apoio e desbloqueios; não aparecem todas ao mesmo tempo

A primeira fundação não cobra moeda; melhorias, ferramentas e companhia cobram segundo os dados. A banca do martelo permite criar o construtor antes de erguer a muralha. A exceção territorial das bancas evita a dependência circular “precisa de muro para obter construtor, precisa de construtor para obter muro”. Os restantes convites protegidos exigem o recinto correspondente.

Tempo visual e tempo social

O dia visual, o desgaste e a vida selvagem podem avançar antes da fundação. O Dia Dois civilizacional depende de fundação, primeira noite territorial resolvida e amanhecer seguinte. A correspondência entre esses relógios ainda requer o trabalho de RG-24; o calendário corrente do protótipo não é prova de que a separação já exista.

As janelas do Documento Mestre — exploração inicial, descoberta, comparação e uma fundação típica mais tarde — são objetivos de playtest. Não há obrigação de fundar ao minuto dois, vinte ou em qualquer local marcado. Uma decisão precoce é válida; uma exploração longa deve ter consequências legíveis. O orçamento de risco antes da fundação continua a ser validado no âmbito de RG-06/RG-24, sem inventar imunidade permanente ou prazo de derrota.

O que deve ser ensinado pelo mundo

  1. Pessoas seguem e precisam de trabalho; moeda é um gesto com destinatário.
  2. Um lugar pode ser bom para alimento e mau para defesa; não existe escolha universalmente superior.
  3. Desmatar paga agora e pode retirar abrigo ou rendimento futuro; a pré-visualização explica a perda.
  4. A luz permite ler e proteger o espaço conforme cada fonte; visibilidade e proteção não são a mesma regra.
  5. O subsolo é um lugar explorável com chão, chegada e espaço útil, não uma escada sem destino.
  6. A Podridão, o Lume e os Amargueiros pertencem ao mesmo mundo de consequências; a §83 explica como os revelar sem forçar uma morte.

Medição da abertura

Medir tempo até compreender a moeda, motivos da escolha do terreno, primeira profissão, primeiro rendimento, primeira noite e primeiro regresso. Medir por semente, monarca, dispositivo e trajetória; o piloto automático é diagnóstico e não substitui jogadores. Comparar pelo menos duas estratégias de abertura sem alterar os dados para fazer um único percurso parecer bom.

Um teste de aceitação começa pelo ecrã de escolha e usa gestos normais: seguir a caravana, explorar, parar, fundar, formar, construir, guardar e retomar. Deve provar que repetir a confirmação não duplica sede, população ou riqueza e que entrar noutro bioma não repõe a abertura.

26 — Acessibilidade · novo

Acessibilidade e Steam Deck Verified

Em janeiro de 2026 o Steam atualizou as etiquetas de acessibilidade e os programadores já preencheram o questionário para mais de 22 000 jogos. É agora um campo visível na loja — e é uma das poucas melhorias que aumenta o público sem custar design.

Steam Deck Verified — os critérios reais

CategoriaCritérioO teu estado
EntradaA configuração de comando por omissão dá acesso a todo o conteúdoResolvido por design — dois verbos (§24)
EntradaOs glifos no ecrã correspondem ao dispositivo ativoImplementar: trocar atlas de ícones por Input.get_joy_name
EntradaTexto usa a API de entrada do Steamworks ou teclado próprio navegávelSó o nome do save — usa a API
EcrãCorre a 1280×800 ou 1280×7201280×720 nativo. Perfeito.
EcrãNenhum carácter abaixo de 9 px de altura a 1280×800; recomendado 12 pxRisco real — a tua fonte de pixel art tem de ser ≥ 12 px
ContinuidadeSem avisos de incompatibilidade; launcher navegável por comandoSem launcher. Resolvido.
DesempenhoJogável nas definições por omissão — 30 fps a 800pTrivial para 2D; confirma com 300 unidades
SistemaSem incompatibilidades de ProtonGodot exporta Linux nativo. Testa cedo.
O único risco de Verified que tens

O tamanho de texto. Uma fonte de pixel art a 8 px é linda e reprova a certificação. Decide na Fase 0: ou desenhas a tua fonte a 12 px de altura de carácter, ou tens duas fontes (uma decorativa para títulos, uma legível para conteúdo). Como o teu jogo quase não tem texto, isto é fácil — mas só se for decidido antes de desenhares a fonte.

As funcionalidades a declarar no Steam

FuncionalidadeCusto de implementaçãoDecisão
Remapeamento completo de comandosBaixo — InputMap + UIFazer. Fase 5.
Legendas para pistas sonorasBaixo — 8 pistas (sino, crepúsculo, muro a cair...)Fazer. Substitui o áudio para surdos.
Modos para daltonismoMédio — a paleta é quente/fria, boa baseFazer. Testa a Podridão contra o terreno em protanopia.
Controlos de contrasteBaixo — um shader de saturação/contraste globalFazer.
Desligar screen shake e flashesTrivialFazer. Obrigatório para fotossensibilidade.
Jogável ao teu próprio ritmoMédio — slider de duração do dia (240–540 s)Fazer. Também é um botão de dificuldade honesto.
Sem QTEZero — não tensDeclarar.
Jogável sem visãoMuito altoNão. Sê honesto na etiqueta.

O slider de duração do dia merece destaque: é uma linha de código (o GameClock já é uma variável), serve de acessibilidade, serve de dificuldade, e evita teres de desenhar três modos separados.

27 — Localização · novo

Idiomas, e porque é que quase não precisas deles

A tua maior vantagem competitiva escondida: o humor está nas caras e a sinalética é entalhada em madeira. Um jogo que precisa de mil e trezentas palavras localiza-se por uma fatura de três dígitos baixos. A maioria dos indies gasta entre 5 000 € e 30 000 € nisto. As mil e trezentas são as da Parte XIII (§75): doze frases de oferta, nove títulos, dez leis de capítulo e doze diários.

Idioma% utilizadores SteamQuandoNota
Inglês37,0%Dia 1Obrigatório, incluindo a página de loja
Chinês simplificado23,9%Dia 1Segundo maior mercado. Sem ele, perdes um quarto do público.
Russo10,1%Dia 1Barato e de alto impacto em análises
Português do Brasil3,9%Dia 1Fá-lo tu. É quase de graça e o mercado é leal.
Espanhol (Espanha)4,2%Dia 1Cobre também a América Latina razoavelmente
Alemão · Francês3,0% · 2,4%Pós-lançamentoMercados com poder de compra alto
Japonês · Coreano2,9% · 2,4%Se vender bemTolerância a preço alto. Exigem qualidade de tradução.
Português de Portugal—Dia 1Não pelo mercado. Pela mesma razão que escreves este dossiê em português.
Duas decisões de engenharia, agora

1. Usa a importação de tradução por CSV do Godot desde o primeiro texto — a 4.6 melhorou-a com suporte para contexto e plurais. Um único strings.csv, uma coluna por idioma. 2. Nunca componhas frases por concatenação ("Dia " + n). Usa sempre a chave inteira com placeholder (DIA_N → "Dia %d") — em japonês a ordem inverte-se, e corrigir isto depois obriga a caçar cada string no código.

A página de loja localizada vale mais do que o jogo localizado: um utilizador chinês que veja a descrição em chinês adiciona à lista de desejos mesmo que o jogo esteja em inglês. Localiza a página de Steam para os oito idiomas no dia em que a publicares (§36).

Parte IV

A produção

Onze secções sobre o que separa um dossiê bonito de um jogo lançado: o repositório, os prompts, o código de arranque, os testes, o dinheiro, o lançamento e o risco. Dez destas onze não existiam na v2.

28 — Repositório

Como fazer a IA construir isto

Escolheste o modo em que a IA escreve quase tudo e tu revês e diriges. Funciona — mas só com um repositório desenhado para isso. Estas são as regras que separam um agente produtivo de um gerador de dívida técnica.

As sete regras do repositório

Ficheiros pequenos

Máximo 250 linhas por script. Um agente lê e reescreve um ficheiro de 200 linhas com fiabilidade; falha em ficheiros de 800. Esta regra sozinha vale mais do que qualquer prompt.

Lógica separada de nós

src/sim/ é testável sem abrir o editor. A IA pode iterar aí sem partir cenas.

Dados fora do código

Balanceamento em .tres/CSV. Alterar um número nunca deve exigir tocar num script.

Testes primeiro para regras

Toda a função de src/sim/ tem teste em tests/. Sem testes, não consegues rever o que a IA escreve — e vais deixar de rever ao fim de duas semanas.

CI headless

GitHub Actions com Godot headless a correr a suite em cada commit. É a tua rede de segurança quando não leste 400 linhas geradas.

ADRs

Cada decisão arquitetónica num ficheiro em docs/adr/. É assim que o agente sabe porque é que algo está como está, sem tu repetires em cada sessão.

Git LFS para arte

.aseprite e .png em LFS desde o primeiro commit. Migrar depois é doloroso e às vezes destrutivo.

Ferramentas de ligação

FerramentaO que dáEstado em 2026
Servidor MCP para GodotO agente lança o Godot, corre o projeto em debug, lê a consola e gere cenas. É o que fecha o ciclo: o agente corre o jogo e lê os erros dele próprio.Ecossistema jovem mas usável. Há opções abertas (godot-ai, GDAI) e comerciais.
gdUnit4 + gdUnit4-actionTestes em CI com relatório, GDScript e C#Maduro. Action de GitHub pronta.
Godot Aseprite WizardArte → cena sem passos manuais, respeitando tags e camadasMaduro
GodotSteamSteam, conquistas, cloud saves, redeMaduro. Padrão do ecossistema.
LimboAIBehavior trees só para chefes e PodridãoMaduro. Não uses para tropas comuns.
Três armadilhas do MCP com Godot, documentadas

1. Desliga Auto Reload Scripts nas definições do editor durante sessões com agente — recarregar a meio de uma operação corrompe o estado. 2. A tipagem dinâmica do GDScript faz falhar chamadas de ferramenta com mais frequência do que em linguagens tipadas: anota sempre os tipos (func atacar(alvo: Unit) -> void). 3. Modificações que o agente faz na SceneTree em memória podem não chegar ao disco — exige gravação explícita depois de editar.

Atualização da v5.1 — lê a §69 antes de copiar o que se segue

Duas coisas mudaram neste ficheiro. Primeira: o contrato passou a chamar-se AGENTS.md, com um CLAUDE.md de três linhas a apontar para ele — o contrato é do repositório, não da ferramenta, e assim trocas de assistente sem reescrever nada. Segunda, e mais importante: o texto abaixo cita quatro caminhos que nenhuma tarefa da §34 ou da §65 criava — docs/design/, docs/QUESTIONS.md, docs/ASSETS_TODO.md e docs/adr/0007-save-security.md. Um caminho citado e ausente é pior do que não ter contrato: o agente inventa, e inventa diferente em cada sessão. A §68 explica o custo, a §69 fecha-o.

O ficheiro CLAUDE.md — a versão da v5 (substituída pela §69)

# Empire — contrato do agente

## O que é
Kingdom-builder 2D em pixel art, Godot 4.6, GDScript. Mundo 1.5D com tres faixas
verticais. Ver docs/design/ para os sistemas e docs/adr/ para as decisoes.

## Regras absolutas
1. Maximo 250 linhas por script. Se passar, divide antes de continuar.
2. src/sim/ NAO importa de src/actors/ e NAO usa Node, Node2D ou qualquer classe
   de cena. E logica pura. Se precisares de posicao, recebe-a como parametro.
3. Balanceamento vive em data/**/*.tres. NUNCA escrevas um numero de
   balanceamento num script. Se precisares de um valor novo, cria o campo
   @export no Resource correspondente.
4. Toda a funcao publica de src/sim/ tem teste em tests/. Escreve o teste primeiro.
5. Anota sempre os tipos: func f(x: int) -> void. Sem excecoes.
6. Nao adiciones dependencias externas sem uma ADR em docs/adr/.
7. Nao toques em art/ nem em audio/. Se faltar um asset, cria um placeholder
   de cor lisa em art/export/_placeholder/ e regista-o em docs/ASSETS_TODO.md.

## Vocabulario do dominio (usa estes nomes, em ingles no codigo)
- Band       -> faixa vertical: AERIAL | SURFACE | UNDERGROUND
- Rot        -> A Podridao, a ameaca noturna
- People     -> povo/civilizacao (Enramados, Portuarios, Fenda, Horta,
                Fornalha, SobRaiz)
- Craft      -> oficio (builder, smith, cook, diplomat, bard)
- Boost      -> impulso real
- Greed      -> ganancia do rei (0-100)
- RoyalSeed  -> Semente Real (moeda de meta-progresso)
- Favor      -> moeda de diplomacia

## Ciclo de trabalho esperado
1. Le a tarefa em docs/backlog/<id>.md
2. Escreve/atualiza o teste em tests/
3. Implementa
4. Corre: godot --headless --path . -s addons/gdUnit4/bin/GdUnitCmdTool.gd -a tests
5. So depois de verde, propoe o diff

## O que NAO fazer
- Nao inventes mecanicas. Se a spec nao cobre um caso, escreve a pergunta em
  docs/QUESTIONS.md e implementa a opcao mais simples.
- Nao refatores fora do ambito da tarefa.
- Nao adiciones comentarios que repetem o codigo.
- Nao uses load() em ficheiros de save. Ver docs/adr/0007-save-security.md
A regra do vocabulário

A secção do vocabulário é a mais subestimada do ficheiro. Sem ela, ao fim de três meses tens Rot, Blight, Decay e Corruption a designar a mesma coisa em ficheiros diferentes, porque cada sessão de IA escolheu uma tradução. Escreve o dossiê em português e o código em inglês, com o mapeamento fixo aqui.

Ritmo de trabalho semanal

Segunda
Escrever as 3–5 tarefas da semana em docs/backlog/, no formato do §34
Terça a quinta
Sessões de agente, uma tarefa por sessão. Rever o diff antes de fazer merge.
Sexta
Jogar 30 minutos. Não desenvolver. Jogar. Anotar o que aborrece.
Sábado
Arte. É a única coisa que a IA não faz por ti, e é a tua vantagem competitiva.
Sempre
Um GIF por semana para o devlog, mesmo que seja feio (§36)
29 — Prompts · novo

A biblioteca de prompts, por sistema

Pediste a melhor forma de a IA construir isto. A resposta não é um prompt gigante — é uma forma fixa de pedir, repetida trinta vezes. Um pedido vago produz 400 linhas plausíveis e erradas; um pedido com contrato produz 120 linhas revisíveis.

O molde. Usa-o sempre.

CONTEXTO   Empire, Godot 4.6, GDScript. Le CLAUDE.md e docs/design/<ficheiro>.md.
TAREFA     <uma frase, um verbo>
FICHEIROS  Cria/altera SO: <lista explicita de caminhos>
CONTRATO   Assinaturas publicas exatas:
             func nome(arg: Tipo) -> Tipo   # o que faz, numa linha
DADOS      Le de: data/<caminho>.tres — campos: <lista>
TESTES     Escreve primeiro tests/<nome>_test.gd cobrindo: <3-6 casos, com numeros>
LIMITES    Nao toques em <lista>. Maximo 250 linhas. Sem dependencias novas.
SAIDA      Diff. Depois, uma frase sobre o que ficou por fazer.

Cinco prompts reais, prontos a colar

1 · O relógio do jogo — a primeira coisa que constróis
TAREFA Implementar o GameClock: ciclo de 360 s com seis fases.
FICHEIROS src/core/game_clock.gd, tests/game_clock_test.gd
CONTRATO
  enum Phase { DAWN, MORNING, NOON, AFTERNOON, DUSK, NIGHT }
  signal phase_changed(from: Phase, to: Phase)
  signal day_started(day: int)
  func tick(delta: float) -> void
  func current_phase() -> Phase
  func phase_progress() -> float      # 0.0-1.0 dentro da fase atual
  func seconds_until(p: Phase) -> float
DADOS data/economy/clock.tres — duracoes: 15/85/40/85/30/105, day_length 360.0
TESTES
  - tick(360.0) num so passo avanca exatamente 1 dia e emite day_started(2)
  - aos 75 s a fase e MORNING e phase_progress ~= 0.706   # (75-15)/85
  - aos 15.0 s exatos ja e MORNING, nao DAWN (fronteira fechada a esquerda)
  - seconds_until(NIGHT) aos 0 s == 255.0
  - alterar day_length no .tres para 180 mantem as proporcoes
LIMITES Sem Node. E um RefCounted. Nao usa get_process_delta_time.

Repara no quarto teste: 15+85+40+85+30 = 255. Dar o número calculado ao agente é o que impede uma implementação que passa nos testes por acidente.

2 · A Podridão — o sistema que te distingue
TAREFA Implementar RotSystem: entidade com posicao, massa e invocacao.
FICHEIROS src/sim/rot_system.gd, tests/rot_system_test.gd
CONTRATO
  func spawn(day: int, side: int, map_width: float) -> void
  func tick(delta: float, consecrated: Array[Vector2]) -> Array[SpawnRequest]
  func mass() -> float
  func feed(amount: float) -> void
  func position_x() -> float
  func retreat() -> void
REGRAS
  velocidade = 14.0 + 0.9 * dia, px/s
  massa      = 40.0 + 18.0 * dia + 30.0 * fortalezas_conquistadas
             + 22.0 * amargueiros + 45.0 * amargueiros_nomeados
             + 8.0 * min(recusas_nos_ultimos_5_dias, 5)          # §74, §75
  invoca a cada 4-7 s (RNG com seed), gastando o custo de massa da criatura
  sobre terreno consagrado: velocidade * 0.6
  feed(x) reduz massa em x, minimo 0
DADOS data/rot/default.tres, data/creatures/<id>.tres   # a §70 acabou com waves/
TESTES
  - dia 1: velocidade == 14.9
  - dia 10 com 2 fortalezas, campo limpo: massa == 280.0
  - tick nao devolve SpawnRequest se massa < custo da criatura mais barata
  - 30 s sobre consagrado percorre 60% da distancia de 30 s em terreno normal
  - feed(1000) poe massa a 0, nunca negativa
  - com a mesma seed, duas corridas produzem a mesma sequencia de invocacoes
LIMITES Sem Node. Devolve pedidos; nao instancia nada.
3 · Economia — onde vive o balanceamento
TAREFA Implementar Economy: rendimento, sorvedouros e a curva de asfixia.
FICHEIROS src/sim/economy.gd, tests/economy_test.gd
CONTRATO
  func daily_income(sources: Array[SourceData], day: int) -> float
  func trade_income(routes: int, day: int) -> float   # efeito de rede a partir da 2.a
  func upkeep(troop_count: int) -> float
  func greed_cut(gross: float, greed: int) -> float
  func net_income(...) -> float
  func night_cost(day: int) -> float
  func suffocation_day(profile: EconomyProfile) -> int
REGRAS
  upkeep: 0 ate 8 tropas; 0.5/dia entre 9 e 20; 1.5/dia acima de 20
  night_cost(d) = 6.1 * pow(1.22, d - 1)
  income cresce a pow(1.12, d-1) sobre a base; upkeep e constante,
  por isso o liquido cresce mais depressa que 1.12 — ver §06
  trade_income = rotas * 4.5 * pow(1.08, d-1) * (1 + 0.10 * max(0, rotas-1))
TESTES
  - upkeep(8) == 0.0 ; upkeep(14) == 3.0 ; upkeep(25) == 13.5
  - greed_cut(100, 28) == 28.0
  - suffocation_day do perfil "equilibrado" cai entre 9 e 14  <- TESTE DE DESIGN
  - cada rota de comercio ADIA a asfixia em ~2 dias (retorno decrescente)
  - trade_income(0, d) == 0.0 para todo o d
  - greed 80 antecipa a asfixia em pelo menos 3 dias face a greed 20
LIMITES Puro. Determinista. Sem RNG.
O terceiro teste é o mais importante do projeto

suffocation_day entre 9 e 14 não é um teste de código — é um teste de design que corre no CI. Se alguém (tu ou a IA) mexer num número de balanceamento que quebre a curva, o build falha. É a única forma que conheço de manter uma economia afinada durante dois anos de alterações. Escreve testes destes para tudo o que tem um intervalo-alvo: duração da noite 1, custo de subir a primeira muralha, tempo médio até à primeira montaria.

4 · Atribuição de trabalho — o algoritmo do Kingdom
TAREFA Implementar JobBoard: atribuir tropas a postos, uma vez por fase.
FICHEIROS src/sim/job_board.gd, tests/job_board_test.gd
CONTRATO
  func post(job: JobSlot) -> void
  func assign(units: Array[UnitState], phase: int) -> Dictionary  # unit_id -> job_id
REGRAS
  score = adequacao(unidade, posto) * proximidade * urgencia(fase)
  proximidade = 1.0 / (1.0 + distancia_x / 400.0)
  a NOITE, postos de muro e torre tem urgencia 3.0; plantacao tem 0.0
  atribuicao e estavel: uma unidade so muda de posto se o score novo
  superar o atual em mais de 15% (histerese, evita tremeliques)
TESTES
  - de noite, nenhum arqueiro fica atribuido a plantacao
  - com 2 postos de muro e 5 arqueiros, exatamente 2 sao atribuidos
  - correr assign() duas vezes seguidas com o mesmo estado nao muda nada
  - uma unidade a 800 px perde para uma a 100 px com adequacao igual
LIMITES Sem Node. Sem alocacoes dentro do ciclo principal.
5 · Uma cena — o único caso em que o MCP compensa
TAREFA Montar a cena de teste de combate noturno.
USA o servidor MCP do Godot. Guarda em disco no fim.
CENA scenes/tests/night_fight.tscn
  Node2D "NightFight"
   +- Camera2D            (position 640,360; zoom 1,1)
   +- CanvasModulate      (color #1B2A4A)
   +- TileMapLayer "Ground"
   +- Node2D "Wall"       (position 640, Band.GROUND_LINE) -> scenes/buildings/wall.tscn
   +- Node2D "Spawns"     6 Marker2D em x = 1100..1400, y = Band.GROUND_LINE
   +- Node2D "Units"      (vazio; preenchido em runtime)
   +- Label "Debug"       (canto sup. esq., 12 px, mostra dia/fase/massa)
DEPOIS Corre a cena e cola as 20 primeiras linhas da consola.
LIMITES Nao alteres nenhuma cena existente.

Quatro erros que vão custar-te semanas

Pedir "o sistema de combate"

Demasiado grande. Divide sempre em: dados → resolução → apresentação → integração. Quatro sessões, quatro diffs pequenos.

Aceitar código sem teste

Se o agente diz "os testes passariam", não passaram. Corre a suite. É a diferença entre revisão e fé.

Deixar o agente inventar números

Se não deres o valor, ele escolhe um plausível e enterra-o num script — exatamente onde não deve estar. Dá sempre o número, ou diz onde o ir buscar.

Sessões longas de refactor

Ao fim de uma hora o contexto está poluído e a qualidade cai. Uma tarefa, uma sessão, um merge. Fecha e recomeça.

30 — Arranque · novo

O código dos primeiros três dias

Isto não é pseudocódigo. É o esqueleto real do projeto, escrito para caber nas regras do §28: tipado, curto, sem nós na simulação. Cria estes quatro ficheiros e tens o motor do jogo — literalmente a Camada 1 do §00.

1 · src/core/event_bus.gd — autoload
## Único ponto de acoplamento do projeto. Sistemas emitem, cenas ouvem.
## Nada em src/sim/ conhece este ficheiro — os sistemas devolvem, não emitem.
extends Node

# Ciclo
signal phase_changed(from: int, to: int)
signal day_started(day: int)

# Economia
signal coin_dropped(world_pos: Vector2, amount: int)
signal coin_collected(unit_id: int, amount: int)
signal treasury_changed(total: int, delta: int)

# Podridão
signal rot_spawned(side: int, mass: float)
signal rot_moved(x: float, mass: float)
signal creature_requested(kind: StringName, at: Vector2)
signal rot_retreated()

# Unidades
signal unit_spawned(id: int, kind: StringName, at: Vector2)
signal unit_died(id: int, at: Vector2, dropped: StringName)
signal unit_band_changed(id: int, band: int)

# Construção
signal structure_built(kind: StringName, at: Vector2, level: int)
signal structure_destroyed(kind: StringName, at: Vector2)
2 · src/sim/game_clock.gd — puro, testável, sem Node
class_name GameClock extends RefCounted

enum Phase { DAWN, MORNING, NOON, AFTERNOON, DUSK, NIGHT }

var day: int = 1
var elapsed: float = 0.0

var _durations: PackedFloat32Array
var _day_length: float

func _init(cfg: ClockData) -> void:
    _durations = cfg.phase_durations          # [15,85,40,85,30,105]
    _day_length = 0.0
    for d in _durations:
        _day_length += d

## Devolve as transições ocorridas neste tick. Quem chama emite os sinais.
func tick(delta: float) -> Array[Dictionary]:
    var events: Array[Dictionary] = []
    var before := current_phase()
    elapsed += delta
    while elapsed >= _day_length:
        elapsed -= _day_length
        day += 1
        events.append({&"type": &"day", &"day": day})
    var after := current_phase()
    if after != before:
        events.append({&"type": &"phase", &"from": before, &"to": after})
    return events

func current_phase() -> Phase:
    var acc := 0.0
    for i in _durations.size():
        acc += _durations[i]
        if elapsed < acc:
            return i as Phase
    return Phase.NIGHT

func phase_progress() -> float:
    var acc := 0.0
    for i in _durations.size():
        if elapsed < acc + _durations[i]:
            return (elapsed - acc) / _durations[i]
        acc += _durations[i]
    return 1.0

func seconds_until(p: Phase) -> float:
    var start := 0.0
    for i in int(p):
        start += _durations[i]
    var diff := start - elapsed
    return diff if diff >= 0.0 else diff + _day_length
3 · src/sim/rot_system.gd — o coração do jogo
class_name RotSystem extends RefCounted

var active: bool = false
var x: float = 0.0
var mass: float = 0.0

var _dir: int = -1
var _speed: float = 0.0
var _next_summon: float = 0.0
var _rng: RandomNumberGenerator
var _table: Array[CreatureData]

func _init(rng: RandomNumberGenerator, table: Array[CreatureData]) -> void:
    _rng = rng
    _table = table

func spawn(day: int, side: int, map_width: float, forts: int) -> void:
    active = true
    _dir = -side
    x = map_width if side > 0 else 0.0
    _speed = 14.0 + 0.9 * day
    mass = 60.0 + 26.0 * day + 40.0 * forts
    _next_summon = _rng.randf_range(4.0, 7.0)

## Avança e devolve os pedidos de invocação. Não instancia nada.
func tick(delta: float, on_consecrated: bool) -> Array[Dictionary]:
    if not active:
        return []
    var v := _speed * (0.6 if on_consecrated else 1.0)
    x += v * delta * _dir

    var out: Array[Dictionary] = []
    _next_summon -= delta
    if _next_summon <= 0.0:
        var pick := _affordable()
        if pick != null:
            mass -= pick.mass_cost
            out.append({&"kind": pick.id, &"at": Vector2(x, Band.GROUND_LINE)})
        _next_summon = _rng.randf_range(4.0, 7.0)
    return out

func feed(amount: float) -> void:
    mass = maxf(0.0, mass - amount)

func retreat() -> void:
    active = false
    mass = 0.0

func _affordable() -> CreatureData:
    var pool: Array[CreatureData] = []
    for c in _table:
        if c.mass_cost <= mass:
            pool.append(c)
    if pool.is_empty():
        return null
    return pool[_rng.randi_range(0, pool.size() - 1)]
4 · src/actors/unit_system.gd — 300 unidades sem _process
## Um nó para todas as tropas. As unidades são linhas em arrays paralelos,
## não nós com script. É o que permite 300 unidades a 60 fps.
class_name UnitSystem extends Node2D

const SLICES := 6                          # 1/6 das unidades decide por tick

var ids: PackedInt32Array = []
var pos: PackedVector2Array = []
var hp: PackedInt32Array = []
var state: PackedByteArray = []            # 0 IDLE 1 GOTO 2 WORK 3 FIGHT 4 FLEE
var band: PackedByteArray = []             # 0 AERIAL 1 SURFACE 2 UNDERGROUND
var kind: Array[StringName] = []
var sprites: Array[Node2D] = []

var _slice: int = 0

func _physics_process(delta: float) -> void:
    _slice = (_slice + 1) % SLICES
    var n := ids.size()
    for i in n:
        # decisão fatiada: cada unidade repensa a cada 6 ticks (0,2 s a 30 Hz)
        if i % SLICES == _slice:
            _decide(i)
        _advance(i, delta)
        sprites[i].position = pos[i]

func _decide(i: int) -> void:
    pass   # consulta o JobBoard; ver §29, prompt 4

func _advance(i: int, delta: float) -> void:
    pass   # movimento 1.5D: sign(alvo.x - pos[i].x) + separação
Porque é que este esqueleto vale mais do que parece

Repara no padrão que atravessa os quatro ficheiros: os sistemas puros devolvem pedidos; só a camada de nós age. RotSystem.tick() devolve "invoca um Rastejante em x=1200" — não instancia nada. Isto dá-te três coisas de uma vez: testes que correm em milissegundos sem abrir o Godot, um save que é só o estado dos sistemas, e um multijogador em que só os pedidos precisam de ser replicados. As três decisões mais caras do projeto ficam resolvidas por uma convenção de estilo.

31 — Testes · novo

Testes, CI e os testes de design

Sem testes automáticos não consegues rever o que a IA escreve, e vais deixar de tentar ao fim de duas semanas. Com testes, podes aceitar 400 linhas sem as ler linha a linha — porque sabes o que elas têm de fazer.

Revisto na Parte XIII

Os catorze testes que guardam os sistemas da Parte XIII estão na §84 e vivem em tests/design_unknown_test.gd.

Três níveis

Unitário — src/sim/

Rápido, sem editor, cobertura alta. Toda a função pública. É aqui que vive 80% da suite.

De cena — scenes/tests/

Uma noite completa em modo headless com delta fixo. Verifica que o muro aguenta e que ninguém fica preso.

De design — o mais valioso

Afirmações sobre intervalos-alvo de balanceamento. Falham quando o jogo deixa de estar afinado, não quando o código parte.

Os testes de design a escrever primeiro
# tests/design_targets_test.gd
extends GdUnitTestSuite

func test_dia_de_asfixia_no_intervalo() -> void:
    var eco := Economy.new(load("res://data/economy/curve.tres"))
    var d := eco.suffocation_day(EconomyProfile.BALANCED)
    assert_int(d).is_between(9, 14)

func test_noite_1_e_sempre_ganha() -> void:
    var r := SimHarness.run_night(1, {&"archers": 2, &"wall": 1})
    assert_bool(r.wall_survived).is_true()
    assert_int(r.deaths).is_less_equal(0)

func test_noite_8_sem_torre_e_sempre_perdida() -> void:
    var r := SimHarness.run_night(8, {&"archers": 6, &"wall": 2, &"towers": 0})
    assert_bool(r.wall_survived).is_false()

func test_arqueiros_nao_param_ariete() -> void:
    var ttk := Combat.ttk("archer_open", "slime_ram")
    assert_float(ttk).is_greater(105.0)   # mais do que uma noite inteira

func test_sim_nao_toca_em_nos() -> void:
    for f in FileScan.gd_files("res://src/sim/"):
        var src := FileAccess.get_file_as_string(f)
        assert_bool(src.contains("extends Node")).is_false()
        assert_bool(src.contains("get_tree()")).is_false()

Os cinco portões estão na §64

Estes três níveis são a estrutura. Os cinco portões de CI que a fazem cumprir — incluindo o teste de reprodutibilidade por seed, que apanha o que nenhum dos outros apanha — estão especificados na §64.

O último teste é o guarda-costas da arquitetura

Um agente que não leu bem o CLAUDE.md vai, mais cedo ou mais tarde, pôr um extends Node em src/sim/. Esse teste apanha-o em segundos, sem tu leres nada. São vinte linhas de código que protegem a decisão mais importante do projeto durante dois anos.

CI em GitHub Actions
# .github/workflows/test.yml
name: testes
on: [push, pull_request]
jobs:
  gdunit:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with: { lfs: true }
      - uses: godot-gdunit-labs/gdUnit4-action@v1
        with:
          godot-version: '4.6'
          paths: 'res://tests'
          timeout: 8
          report-name: relatorio.xml

Oito minutos de limite. Se a suite passar disso, é porque estás a testar cenas onde devias testar lógica pura — o sinal de que a fronteira de src/sim/ foi violada.

32 — Telemetria · novo

Medir sem espiar

Vais ter dez playtesters, não dez mil. Isso significa que os números têm de responder a perguntas que a observação não responde — e que a observação continua a valer mais do que os números.

Agência na abertura — ADR 0065

O protótipo mede localmente movimento, marco inspecionado, escolha e ID de fundação, primeira tarefa, primeira moeda, percepção contextual da contaminação, tarefa ao crepúsculo, sobrevivência, perda, mudança de tarefa após a noite e descoberta do subsolo. A pausa exporta JSON; nada é enviado a terceiros.

foundation_reason_posttest e kingdom_similarity_timestamp são observações humanas, separadas dos eventos automáticos. A estratégia observada também inclui muro e luz; o campo automático registra somente a tarefa. Metas e limitações estão em docs/qa/ultima-carroca-playtest.md. Não se toma um teste de código como prova de compreensão ou identidade.

Hipóteses de playtest

Primeiro controlo <10 s; landmark <60 s; boa região de fundação <8 min; fundação típica exploratória em 16–20 min. Fundar cedo ou tarde continua permitido: são hipóteses de observação, nunca prazos obrigatórios. Fazer 5–8 sessões antes de arte final. Os tempos são hipóteses do relatório, não novos valores obrigatórios de produção.

O protocolo de playtest que funciona com dez pessoas

Cinco pessoas, uma hora, sem ti a falar

A regra mais difícil e a mais importante: não explicas nada. Se tiveres de explicar, é um bug de design, e acabaste de o encontrar. Anota o minuto exato de cada confusão.

Grava o ecrã, não a cara

Precisas de ver onde eles olham e o que tentam clicar. OBS local, ficheiro apagado depois. É mais barato e mais útil do que qualquer plataforma de analytics.

Duas perguntas no fim, sempre as mesmas

"O que é que estavas a tentar fazer quando ficaste preso?" e "Descreve-me o jogo como se estivesses a falar com um amigo." A segunda diz-te se o teu pitch funciona — e é o texto da tua página de Steam.

Repete com os mesmos, três meses depois

Retenção é a única métrica que prevê análises positivas. Se eles voltarem por vontade própria, tens jogo.

33 — Roadmap

Nove fases, 28 a 40 meses

Contexto histórico: estudos de mercado, previsões, horas, listas de arranque e estados de implementação desta versão descrevem a fase em que foram escritos. A baseline e a ordem de execução atuais estão na §90; decisões posteriores da §86 prevalecem. Exemplos antigos não são ficheiros para copiar sobre o projeto atual.

Cada fase tem um critério de saída verificável. Não avanças por sentires que está pronto — avanças quando o critério passa. É a única defesa contra o problema do Thronefall: "não acabar é sempre a maior ameaça a qualquer projeto."

FaseDuraçãoAcum.O que fica feitoCritério de saída
0 · Fundação1 mês1Repo, CI, CLAUDE.md, faixas, câmara, GameClock, decisão de escalaUm sprite anda nas três faixas e o CI está verde
1 · Núcleo jogável3 meses4Moeda física, recrutar, muros, arqueiros, Podridão, uma noite — cenário em blocos de cor lisa, mas com as personagens já animadas por cima. Aos sábados, arranca o cenário da Fase 2 (§22).Sobreviver 10 dias é possível e não é trivial, e a cena-cartaz está acabada
2 · Fatia vertical3 meses7Um povo completo com arte final (7 edifícios, 3 criaturas, 5 muralhas), 1 classe, 3 ofícios, 1 fortalezaJogas 10 dias e queres jogar o 11.º — o teste que decide o projeto
3 · A segunda camada2 meses9Subterrâneo jogável, revelação por dither, segredos, primeiro diárioO minuto 10 do §25 funciona com estranhos
4 · Demo pública2 meses11Onboarding afinado, som, opções, página de Steam, build webPágina publicada. Wishlists a acumular.
5 · Next Fest3 meses14Demo no Next Fest, acessibilidade, Steam Deck, telemetria> 5 000 wishlists. Se não, para e diagnostica.
6 · Profundidade6 meses20Classes 2–4, evoluções, montarias, ganância, impulsos, sucessão, dívidaUma partida completa de 30 dias sem sistemas em falta
7 · Conteúdo e mundo6 meses26Os 6 povos, geração procedural, 12 diários, biomas caóticos, 2 epílogosLançamento. Ou Early Access aqui.
8 · Multijogador4 meses30Ecrã dividido, depois onlinePós-lançamento. Corta sem dor se necessário.
Os dois portões onde tens de ser honesto contigo

Fim da Fase 2 (mês 7): se jogares dez dias e não quiseres o décimo primeiro, o problema não se resolve com mais conteúdo. Volta ao §06 e ao §07 e muda os números até querer. Podes gastar dois meses aqui — é barato comparado com gastar dezoito na Fase 6 sobre uma fundação sem graça.

Fim da Fase 5 (mês 14): se o Next Fest não der 5 000 wishlists com uma demo boa, o problema é de posicionamento, não de jogo. Muda o trailer, a capsule e as tags antes de escreveres mais código.

34 — Backlog · novo

As primeiras trinta tarefas, ao nível do ticket

Contexto histórico: estudos de mercado, previsões, horas, listas de arranque e estados de implementação desta versão descrevem a fase em que foram escritos. A baseline e a ordem de execução atuais estão na §90; decisões posteriores da §86 prevalecem. Exemplos antigos não são ficheiros para copiar sobre o projeto atual.

Isto é o que abres na segunda-feira. Cada linha é uma sessão de agente, no formato do §29. As Fases 0 e 1 estão completas; a partir daí escreves tu, no mesmo molde.

Fase 0 — Fundação · 1 mês
#TarefaFicheirosFeito quando
F0-00Repositório do dia zero: as ondas 1 e 2 da §68.gitignore, AGENTS.md, .gdlintrc, CI, docs/Push verde e docs/design/ com 75 ficheiros
F0-01Criar projeto Godot 4.6 com as definições do §19project.godotAbre a 1280×720, filtro Nearest, 30 ticks
F0-02Git + LFS para *.aseprite e art/**/*.png.gitattributesgit lfs ls-files mostra a arte
F0-03Escrever CLAUDE.md (§28) e os primeiros 3 ADRsCLAUDE.md, docs/adr/ADR 0001 escala, 0002 faixas, 0003 dados
F0-04Instalar gdUnit4 + workflow de CI.github/workflows/Push verde com um teste trivial
F0-05Band enum + collision layers por faixasrc/sim/band.gd §70Teste: aéreo não colide com subsolo
F0-06GameClock + ClockData.tres (prompt 1, §29)src/sim/game_clock.gdOs 5 testes do prompt passam
F0-07EventBus autoloadsrc/core/event_bus.gdSinais declarados, nenhum emissor ainda
F0-08Câmara com lookahead e limites de regiãosrc/world/camera_rig.gd §70Não treme com movimento subpixel
F0-09Decidir a escala (§19) e escrever ADR 0001docs/adr/0001Testado em 1080p e no Deck
F0-10Cena de teste: um sprite anda nas 3 faixasscenes/tests/bands.tscnCritério de saída da Fase 0
Fase 1 — Núcleo jogável · 3 meses
#TarefaDepende deFeito quando
F1-01Moeda física: largar, arco, queda, apanhar, saco com capacidadeF0-07Largar 10 moedas a 60 fps sem picos
F1-02UnitData.tres + as 6 unidades do §07F0-03Editar dano no .tres muda o jogo sem recompilar
F1-03UnitSystem com arrays paralelos e time-slicingF1-02300 unidades a 60 fps no profiler
F1-04Recrutar vagabundo por 1 moeda; ele vai para a vila (Q-063)F1-01, F1-03O minuto 0:20 do §25 funciona
F1-05JobBoard (prompt 4, §29)F1-03Os 4 testes do prompt passam
F1-06Muro: 5 níveis, dois caminhos, slots de contactoF1-05Tabela do §10 replicada em .tres
F1-07Arqueiro: alcance, precisão 0,34 em campo / 1,0 em torreF1-06TTK medido bate com a tabela do §07
F1-08RotSystem (prompt 2, §29)F0-06Os 6 testes do prompt passam
F1-09Criaturas: Rastejante, Alado, Bruto + tabela de invocaçãoF1-08A noite 4 obriga a torre alta
F1-10Economy (prompt 3, §29) + curve.tresF1-01Teste do dia da asfixia entre 9 e 14
F1-11Plantação, pesqueiro, galinheiro com os valores do §06F1-10Payback de 2 dias medido em jogo
F1-12Moral e fuga com raio do rei (§07)F1-05Com o rei em campo ninguém foge
F1-13CanvasModulate por faixa animado pelo GameClockF0-06As 6 fases são distinguíveis sem HUD
F1-14Save/load do estado de src/sim/ com save_versionF1-10Fechar e reabrir no dia 7 preserva tudo
F1-15Cenário de combate noturno para afinação (§07)F1-09Noite 5 ganha com 1–2 mortes
F1-16Afinar até sobreviver 10 dias ser possível e não trivialtudoCritério de saída da Fase 1
O formato de tarefa — copia para docs/backlog/F1-08.md
# F1-08 · RotSystem

Porque   A Podridao e a mecanica que distingue o jogo. Sem ela ha um clone.
Spec     docs/design/05-loop.md, seccao "A Podridao"
Depende  F0-06 (GameClock)
Contrato [colar do prompt 2 do dossie, §29]
Feito    Os 6 testes passam + a mancha e visivel no horizonte ao crepusculo
Fora     Arte da mancha (F1-17), som (F4-03), alimentar (F6-11)

O campo Fora é o mais importante: é o que impede o agente — e a ti — de fazer três tarefas numa e produzir um diff que não consegues rever.

35 — Orçamento · novo

Quanto custa, e quantas cópias paga

Contexto histórico: estudos de mercado, previsões, horas, listas de arranque e estados de implementação desta versão descrevem a fase em que foram escritos. A baseline e a ordem de execução atuais estão na §90; decisões posteriores da §86 prevalecem. Exemplos antigos não são ficheiros para copiar sobre o projeto atual.

O custo mediano de um indie ronda os 30 000–60 000 $ quando se contabiliza o custo de oportunidade, contra ganhos medianos de 5 000–15 000 $. Tu estás numa posição melhor do que a mediana por três razões: fazes a arte, fazes o design, e a IA faz a maior parte do código. O que resta é isto.

RubricaMagroRealistaConfortávelNota
Steam Direct92 €92 €92 €100 USD, recuperável após 1 000 $ de vendas
Assinatura de IA (30 meses)600 €3 000 €6 000 €A tua maior rubrica. 20 / 100 / 200 € por mês
Música e som300 €1 800 €4 000 €Biblioteca · compositor indie · compositor + sound design
Steam Deck para testes300 €419 €500 €Usado · novo. Não é opcional se queres Verified.
Marketing400 €900 €2 500 €Fazes as capsules tu — poupas 500–2 000 €
Localização200 €700 €1 500 €Barato porque tens ~120 strings (§27)
Contabilidade e atividade400 €600 €800 €Abertura de atividade + contabilista, 2–3 anos
Ferramentas e hosting150 €280 €400 €Domínio, site do devlog, LFS, backups
QA pago0 €0 €500 €Só faz sentido no cenário alto
Contingência250 €600 €1 200 €Vai ser usada
Total direto≈ 2 700 €≈ 8 400 €≈ 16 000 €30 meses

Quantas cópias pagam isto

A 16,99 € com a comissão de 30% do Steam, recebes 11,89 € por cópia a preço cheio. Mas o preço efetivo é sempre mais baixo — preços regionais, saldos, e o mercado chinês a ~45% do preço americano. O Thronefall fez cerca de 5 $ por cópia num jogo mais barato. Assume 8,50 € líquidos por cópia e não te enganas muito.

CenárioCusto diretoCópias a preço cheioCópias a preço efetivoWishlists necessárias
Magro2 700 €227318≈ 1 600
Realista8 400 €707988≈ 5 000
Confortável16 000 €1 8821 882≈ 9 400
A leitura que interessa

Mesmo no cenário confortável, cobrir os custos diretos exige menos de 10 000 wishlists — abaixo do teu objetivo mínimo do §03. Isto quer dizer que o risco financeiro deste projeto é pequeno. O risco real é o tempo: 30 meses do teu trabalho. Se valorizares esse tempo a 20 €/hora e trabalhares 15 horas por semana, o custo de oportunidade é de cerca de 39 000 € — quinze vezes o cenário magro. É por isso que os portões do §33 existem: são o mecanismo que impede que gastes esse tempo sem sinal.

Publisher ou não

Adiantamentos típicos vão de 20 000 $ (micro-publishers) a 500 000 $ e mais. A percentagem para o publisher fica geralmente nos 30–35% depois da comissão da plataforma, e o adiantamento é recuperável da tua parte. A conta é dura: com 150 000 $ de adiantamento a 30/70, um jogo que faça 300 000 $ brutos deixa-te 0 $ e o publisher com 63 000 $.

OpçãoQuando faz sentido para ti
AutopublicaçãoO caso base. Custos diretos baixos, controlo total, o Steam é a tua plataforma principal, e fazes design e arte.
Acordo só de marketing15–25% de receita, sem adiantamento. Vale a pena depois do Next Fest, se as wishlists forem boas e não gostares de fazer marketing.
Parceria só para consolas20–30% da receita de consola. Faz sentido: Switch e Deck são o público natural deste género, e portar sozinho é caro.
Publisher completo com adiantamentoSó se precisares do dinheiro para deixar outro trabalho. E nesse caso, negocia com números do §03 na mão.
Cláusulas para recusar sempre

Propriedade ou copropriedade da IP · receita perpétua sem data-limite ou taxa decrescente · recuperação do adiantamento só da tua parte · ausência de direito de auditoria · ausência de cláusula de reversão se o publisher deixar de apoiar o jogo · compromissos de marketing vagos ("esforços comercialmente razoáveis" não quer dizer nada — exige números) · cessão do contrato sem o teu consentimento.

Isto é informação geral sobre práticas do setor, não aconselhamento jurídico — antes de assinares seja o que for, mostra o contrato a um advogado que trabalhe com jogos.

36 — Lançamento · novo

Wishlists, página, demo e trailer

Contexto histórico: estudos de mercado, previsões, horas, listas de arranque e estados de implementação desta versão descrevem a fase em que foram escritos. A baseline e a ordem de execução atuais estão na §90; decisões posteriores da §86 prevalecem. Exemplos antigos não são ficheiros para copiar sobre o projeto atual.

Vinte mil jogos por ano e metade acaba com menos de dez análises. A diferença entre os que vendem e os que não vendem raramente é qualidade — é tempo de exposição acumulado. Isso começa no mês 11, não no mês 28.

O calendário

MêsAçãoPorquê agora
1Abre a conta de devlog. Um GIF por semana, sempre.Custa 20 min/semana e é a única coisa que compõe juros durante 30 meses
4Primeiro GIF bom: a Podridão a chegar ao castelo-árvoreÉ o teu argumento visual. Testa-o cedo em público.
11Página de Steam publicada, localizada nos 8 idiomasWishlists acumulam a partir daqui. Cada mês de atraso é um mês perdido.
12Demo jogável, primeiro em itch.io e webFeedback antes de te comprometeres com o Next Fest
14Steam Next FestSó podes entrar uma vez. É o teu maior pico único.
15–25Devlogs, festivais menores, criadores de conteúdo pequenosManutenção. Mira em 1 500–3 000 wishlists por mês.
26Contactar imprensa e criadores com build final4–6 semanas de antecedência é o mínimo
28LançamentoTerça-feira. Nunca em semana de lançamento grande.

A página de Steam — o que converte

ElementoEspecificaçãoRegra
Capsule pequena462 × 174Desenha-a a 120 × 45. É onde ela vai ser vista. Se o título não se ler, refaz.
Capsule de cabeçalho920 × 430Um assunto, um caminho para o olho, título legível a 184 × 69
Capsule principal1232 × 706Carrossel da página inicial
Capsule vertical748 × 896Páginas de saldos sazonais
Capsule de biblioteca600 × 900Depois da compra
Trailer—Jogo real nos primeiros 3 segundos. Sem logótipo à cabeça. 60–90 s.
Primeiras 4 capturas1920 × 1080Cada uma mostra um sistema diferente. A primeira é a panorâmica.
Descrição curta≤ 300 caracteres"Conquistas civilizações e constróis com o que aprendes delas."
O teste da grelha

A conversão de wishlist para venda caiu de ~20% em 2018 para 5–10% em 2026, o que faz da capsule o funil inteiro. Faz este teste: põe a tua capsule pequena numa grelha com vinte concorrentes reais do Steam, a 120 × 45, e olha durante um segundo. Se não distinguires a tua, o problema não é o jogo. Tens a vantagem rara de ser designer — usa-a aqui, é onde rende mais.

O nome

Empire é um nome de código, não um nome. É genérico demais para ser pesquisável e quase de certeza colide com marcas registadas. Antes da Fase 4, precisas de um nome que: seja pesquisável no Steam sem competir com trinta jogos; funcione fonicamente em inglês e português; esteja livre como domínio .com e em pesquisa de marcas na UE; e diga algo sobre povos ou a noite que avança — os dois ganchos reais do jogo. Trata isto como uma tarefa de design com um prazo, não como uma coisa que aparece.

O que fazer no dia do lançamento

Nada. Está tudo feito há semanas. Responde a análises, corrige o que partir, e não olhes para o gráfico de vendas de cinco em cinco minutos. A primeira semana é 20–30% do primeiro ano, e o Two Crowns ainda tinha 2 788 jogadores em simultâneo oito anos depois. Este género tem cauda longa. Constrói para ela.

37 — Risco · novo

Registo de risco

Ordenado por dano esperado, não por probabilidade. Relê isto no fim de cada fase — leva quatro minutos e é a coisa mais barata que podes fazer pelo projeto.

RiscoProb.ImpactoSinal de alarmeMitigação
A Camada 1 não é divertidaMédiaFatalNão queres jogar o dia 11 no mês 7Portão da Fase 2 (§33). Dois meses de afinação de números antes de avançar.
Abandono por exaustãoAltaFatalDuas semanas sem commit; o devlog paraRitmo semanal do §28. Sexta é para jogar, sábado para arte. Fases curtas com fim visível.
O cenário não acompanha o códigoAltaGrandeFim da Fase 1 sem a cena-cartaz acabadaCenário da Fase 2 começa na Fase 1; greybox obrigatório para cenário; fatia estreita de 7 edifícios (§22)
Escopo cresce em vez de encolherAltaGrandeUma tarefa nova por semana no backlog sem nenhuma sairO campo Fora em cada ticket (§34). Nada entra na Fase 6 sem sair outra coisa.
Dívida técnica gerada por IAMédiaGrandeFicheiros acima de 250 linhas; testes a serem ignoradosAs sete regras + o teste que verifica src/sim/ (§31)
Wishlists insuficientes no mês 14MédiaGrande< 5 000 depois do Next FestDiagnóstico de posicionamento antes de mais código: trailer, capsule, tags
Desempenho com 300 unidadesBaixaMédioQuedas de fps na noite do dia 20Arquitetura de arrays desde a F1-03. Profiler de tracing do 4.6.
Reprovar Steam Deck VerifiedMédiaMédioFonte desenhada abaixo de 12 pxDecidir o tamanho da fonte na Fase 0 (§26)
Corrupção de saves num updateBaixaGrandeUm relato basta para envenenar as análisessave_version desde a v1, escrita atómica, 3 slots (§19)
Multijogador consome a Fase 8 e falhaMédiaBaixoMais de 6 semanas em sincronizaçãoJá está depois do lançamento. Corta e não perdes nada.
Nome colide com marca registadaMédiaMédioDescobres no mês 26Resolver antes da Fase 4 (§36)
Um clone sai primeiroBaixaBaixo—Irrelevante. A tua arte e os seis povos não se clonam em seis meses.
Revisto na Parte XIII

Seis linhas novas — os riscos que a Parte XIII traz, com sinal de alarme e mitigação — estão na §84.

Os dois riscos fatais são o mesmo risco

Repara que os dois de cima têm impacto fatal, e ambos se resolvem com a mesma coisa: chegar ao mês 7 com um jogo que te apetece jogar. Se isso acontecer, a exaustão passa a ser gerível porque estás a jogar o teu próprio jogo às sextas. Se não acontecer, os outros dez riscos não interessam. Todo o plano existe ao serviço da Fase 2.

38 — Agora

As dez coisas a fechar esta semana

Contexto histórico: estudos de mercado, previsões, horas, listas de arranque e estados de implementação desta versão descrevem a fase em que foram escritos. A baseline e a ordem de execução atuais estão na §90; decisões posteriores da §86 prevalecem. Exemplos antigos não são ficheiros para copiar sobre o projeto atual.

Por ordem. Nenhuma demora mais de uma tarde, e todas desbloqueiam trabalho a jusante.

#DecisãoOndeBloqueia
1Escala de ecrã: fracionária com opção de nítido§19Câmara, HUD, toda a arte de UI
1bFixar a linha do solo e as três faixas — é uma decisão, não uma medição§11Câmara, geração de mundo, todas as cenas
2Altura de carácter da fonte ≥ 12 px§26Steam Deck Verified, e a fonte não se redesenha
3Criar o repositório com CLAUDE.md e LFS§28Todo o trabalho com IA
4Separar as personagens acabadas em slots com a nomenclatura fixa§22Todo o pipeline de personagem — e é a tarefa mais barata da lista
4bImportar a paleta de trabalho e começar a cena-cartaz§22O devlog, e a tua estimativa real de horas por cena
5Fixar o vocabulário PT↔EN no CLAUDE.md§28Coerência do código durante 30 meses
6Escrever ClockData.tres e correr o prompt 1§29Tudo o que depende do tempo
7Abrir a conta do devlog e publicar o primeiro GIF§36Wishlists — e o relógio já está a andar
8Marcar cinco playtesters para o mês 7§32O portão da Fase 2
9Escolher o cenário de orçamento e o plano de IA§35Ritmo de trabalho realista
10Começar a lista de nomes candidatos§36Página de Steam no mês 11
A frase para pregar na parede

Paul Schnepf, do Thronefall, sobre porque é que fizeram um jogo pequeno: "Não acabar é sempre a maior ameaça a qualquer projeto." Ele tinha razão e vendeu um milhão de cópias. Tu tens um plano maior do que o dele e melhor arte do que ele. A única coisa que te falta é a única que não se pode delegar a uma IA: continuar a aparecer, semana após semana, durante trinta meses.

39 — Contrato

A especificação técnica começa aqui

As trinta e nove secções anteriores respondem a que jogo é este e se vale a pena fazê-lo. As vinte e nove que se seguem respondem a que ficheiros existem, que campos têm, por que ordem correm e como se sabe que estão certos. São públicos diferentes: a primeira metade é para ti; esta é para ti e para os agentes que escrevem o código.

Porque é que isto é a peça que faltava

O teu plano é que a IA escreva quase todo o código e tu revejas. Uma revisão só existe se houver contra o que rever. Sem especificação, cada sessão de agente reinventa nomes de campos, ordem de execução e contratos de módulo, e tu passas o tempo a arbitrar decisões que já tinhas tomado — sem te lembrares de quando.

A §19 tem definições de projeto, estrutura de pastas, um exemplo de Resource e uma lista de truques de desempenho. É um esboço de arquitetura. Esta parte é a especificação: todos os recursos, todos os eventos, a ordem do tick, a disciplina de aleatoriedade, o esquema do save e os critérios de aceitação.

Autoridade

AssuntoMandaRegra de conflito
Design, números de balanceamento, intençãoDossiê consolidado, incluindo §86–§91Decisões explícitas posteriores prevalecem por cláusula (§86). Os CSV mostram os valores executados; divergências entre regra aprovada e baseline têm de ficar visíveis.
Nomes de classes, campos, sinais, ficheiros§39 a §67Se o código não bate certo com o nome daqui, o código está errado. Sem exceções — nomes divergentes são o que quebra a geração assistida.
Ordem de execução e contratos de módulo§39 a §67Alterações exigem subida de versão do documento e uma linha no registo de alterações.
Arte, densidade, paleta, camadas§01, §11, §22Aqui só entram as consequências técnicas (nomenclatura de exportação, uniforms de shader, ordem de camadas).

O que ainda falta ao projeto, depois desta parte

Para não ficares com a ideia de que isto fecha tudo. O mapa honesto do que existe e do que não:

DocumentoEstadoOnde vivePrioridade
GDD — design, sistemas, progressão, UXExiste e está bom§04 a §27—
Bíblia de arteExiste — arrumada na v5.2§01 · §11 · §21 · §22, e docs/art/ (§71)Baixa — o artista és tu e escreveste-a
Especificação técnica§39 a §67Esta parteEra a que faltava
Base de dados de conteúdo — as tabelas como fonte únicaExiste desde a v5.2data/source/: 23 tabelas geradas para .tres e conferidas contra este dossiê pelo CI (§71)Feita — falta aprovares as propostas
Bíblia de nomes e loreProposta na v5.2docs/content/NAMING_BIBLE.md; o nome do jogo continua por escolherMédia — bloqueia o §36
Especificação da fatia verticalParcial§33 tem critérios de saída, §34 tem 30 ticketsFases 0 e 1 na Parte X; os tickets em docs/backlog/ (v5.2)
Como um agente deve usar esta parte

O CLAUDE.md do repositório aponta para aqui e diz três coisas: (1) nunca inventes um nome que as §39 a §67 já definem; (2) nunca acrescentes um sinal que não esteja no catálogo da §46; (3) se precisares de algo que não está especificado, para e pergunta em vez de decidir. A terceira é a que poupa mais tempo.

Contrato vivo: não existe prioridade automática de uma secção antiga por ter número menor. Atualiza-se a regra temática, a ADR, o registo da decisão, os dados quando autorizados e a documentação gerada. O catálogo técnico contém contratos históricos: nomes atuais e migrações seguem AGENTS.md e ADRs; a §90 identifica lacunas de implementação.

Parte V

Fundação

As oito regras que nunca se quebram, o mapa de módulos que as faz cumprir, e a disciplina de aleatoriedade sem a qual nada disto é reproduzível.

40 — Invariantes

As oito regras que nunca se quebram

Cada uma existe porque violá-la custa uma reescrita, não uma correção. Cada uma tem um teste automático que a defende (§64). Se um agente propuser código que quebre qualquer uma delas, o CI trava o commit antes de tu leres uma linha.

#InvariantePorquêGuarda
I1src/sim/ é lógica pura. Nada lá dentro estende Node, chama get_tree(), toca em Engine, ou carrega cenas.É o que torna a simulação testável em milissegundos e o save trivial. Também é o que permite correr uma noite inteira em headless para os testes de design.test_sim_nao_toca_em_nos
I2Tudo o que é aleatório passa por um fluxo nomeado de RngService. Nunca randi() global.Sem isto não há seed reproduzível, não há bugs reproduzíveis, e o save deixa de conseguir retomar uma noite a meio.Lint de randi\|randf\|randomize
I3Toda a entidade tem band: Band.Kind desde a criação, e as colisões usam camadas separadas por faixa.O §11 chama-lhe a decisão arquitetónica mais importante. Acrescentar isto no dia 200 é reescrever o jogo.test_toda_entidade_tem_faixa
I4Números de balanceamento vivem em .tres, nunca em código.Balancear passa a ser editar tabelas. E permite gerar os .tres de um CSV, que é o que resolve a base de dados de conteúdo (§44).test_sem_literais_de_balanceamento
I5A simulação corre a passo fixo de 30 Hz, desacoplada do render.Determinismo e desempenho com 300 unidades. O render interpola; a simulação não.test_tick_fixo
I6Nunca load() nem ResourceLoader.load num ficheiro de save. Usa FileAccess.get_var(false), apenas tipos base, com validação campo a campo (ADR 0007).Um .tres arbitrário pode conter script embutido. É execução remota de código disfarçada de save.Lint + revisão obrigatória
I7A comunicação entre sistemas é por evento nomeado do catálogo do §46. Sistemas não se chamam uns aos outros diretamente.É o que permite a um agente mexer num sistema sem partir os outros, e a ti perceberes o que aconteceu lendo um registo de eventos.test_eventos_no_catalogo
I8O parallax move-se em pixels inteiros. Cada camada faz floor() antes de aplicar a posição.Meio pixel de deslocamento destrói a grelha de autoria, que é a regra de ouro do §01.test_parallax_inteiro
A que se quebra primeiro

É sempre a I2. Um randf() solto para escolher uma variante de sprite parece inofensivo — e é, até ao dia em que precisas de reproduzir a noite 14 de um bug report e não consegues. Aleatoriedade puramente cosmética também vai a um fluxo: o fluxo visual, que existe exatamente para isso e nunca afeta a simulação.

Soberania: Solo mantém uma coroa durante controlo, queda, roubo e sucessão pendente. Coop tem um reino comum; PvP tem dois reinos segundo ADR 0067/0068. Persistência, autoridade e recompensas devem respeitar a topologia do modo (§89), sem enfraquecer as invariantes de simulação.

41 — Arquitetura

Módulos, e quem pode importar quem

Quatro camadas. As setas só apontam para baixo. Uma seta para cima é um erro de compilação conceptual, e o CI trata-a como tal.

scenes/ · ui/ Cenas Godot, nós, entrada do jogador, HUD. Nunca contém regras. src/actors/ · src/world/ Representação: sprites, animação, câmara, parallax, colisão. Lê o estado, não o decide. src/core/ Autoloads: EventBus · GameClock · RngService · SaveService · Registry src/sim/ Simulação pura. Economia, combate, Podridão, IA, moral, dívida, sucessão. Não importa nada acima desta linha. Não conhece o Godot além de Resource e tipos base.
As setas só descem. src/sim/ não sabe que existe um ecrã. É o que permite correr trinta dias de simulação em segundos num teste, e é a razão pela qual o save é quase de graça (§62).
Correção da v5.1 — a consequência que faltava tirar

Se as setas só descem e src/sim/ é o fundo, então tudo o que a simulação lê tem de viver na simulação — incluindo o Band, que o §47 e o §65 punham em core/. A §70 resolve esta e mais cinco divergências do mesmo tipo, e dá a tabela canónica de caminhos.

A árvore completa

res://
├─ data/                  # .tres gerados a partir de data/source/*.csv (§44)
│  ├─ source/             # CSV — a FONTE ÚNICA dos números
│  ├─ units/ creatures/ buildings/ walls/ peoples/ classes/
│  ├─ crafts/ mounts/ biomes/ segments/ economy/ rot/
├─ src/
│  ├─ core/               # autoloads — ver §46 e §48
│  │  ├─ event_bus.gd     # o catálogo do §46, e nada mais
│  │  ├─ game_clock.gd    # fase do dia, tick fixo
│  │  ├─ rng_service.gd   # fluxos nomeados (§42)
│  │  ├─ registry.gd      # .tres carregados por StringName
│  │  └─ save_service.gd
│  ├─ sim/
│  │  ├─ state/           # GameState, KingdomState, UnitRec…
│  │  ├─ systems/         # economy, combat, rot, jobs, build, debt…
│  │  ├─ ai/              # unit_fsm.gd, enemy_king_ai.gd
│  │  └─ worldgen/
│  ├─ actors/             # UnitView, KingView, CreatureView, MountView
│  ├─ world/              # WorldRoot, ParallaxStack, BandLayers, CameraRig
│  ├─ ui/  net/
├─ scenes/
│  ├─ boot.tscn  game.tscn  segments/  tests/
├─ art/
│  ├─ source/             # .aseprite (Git LFS)
│  └─ export/             # .png + .json gerados (NÃO versionar)
├─ shaders/  audio/
├─ tools/                 # csv_to_tres.gd, lint_sim.gd, greybox_gen.gd
└─ tests/                 # gdUnit4
A pasta que o §19 não tinha

tools/ e data/source/. São a resposta à base de dados de conteúdo: os números escrevem-se uma vez num CSV, e csv_to_tres.gd gera os .tres. Balanceias numa folha de cálculo, corres a ferramenta, e o jogo tem os números novos. Sem isto, a tabela mestra de unidades do §07 existe em três sítios e diverge no mês quatro.

42 — Determinismo

Aleatoriedade com disciplina

Uma seed reproduz tudo — o §21 promete isso e mostra-a ao jogador. Essa promessa custa uma regra: a aleatoriedade é dividida em fluxos independentes, e cada consumidor usa sempre o mesmo.

Os fluxos

FluxoConsomeSemeado comAfeta a simulação?
worldGeração de região, tipos de segmento, cavidades, passagenshash(str(seed) + "world")Sim
combatPrecisão do arqueiro, ordem de desempate na fila de contactohash(str(seed) + "combat")Sim
rotIntervalo de invocação, escolha de criatura, largura da manchahash(str(seed) + "rot")Sim
economyVariação de rendimento, preços de mercenários, saquehash(str(seed) + "economy")Sim
aiDesempate de utilidade do rei inimigo, atribuição de trabalhohash(str(seed) + "ai")Sim
visualVariante de prop, desfasamento de animação, variação de pitch, partículasTime.get_ticks_usec()Nunca
# src/core/rng_service.gd
extends Node

var _streams: Dictionary = {}   # StringName -> RandomNumberGenerator
var _seed: int = 0

func configure(world_seed: int) -> void:
    _seed = world_seed
    _streams.clear()
    for s in [&"world", &"combat", &"rot", &"economy", &"ai"]:
        var r := RandomNumberGenerator.new()
        r.seed = hash(str(world_seed) + str(s))
        _streams[s] = r
    var v := RandomNumberGenerator.new()
    v.randomize()                # só o fluxo visual é livre
    _streams[&"visual"] = v

func stream(name: StringName) -> RandomNumberGenerator:
    assert(_streams.has(name), "fluxo RNG desconhecido: %s" % name)
    return _streams[name]

func snapshot() -> Dictionary:   # para o save: guarda o estado, não só a seed
    var out := {}
    for k in _streams:
        if k != &"visual":
            out[k] = _streams[k].state
    return out
A parte que quase toda a gente esquece

Guardar a seed não chega. Se o jogador grava a meio da noite 9, retomar tem de continuar a sequência aleatória exatamente onde ia — logo o save guarda o estado de cada fluxo (rng.state), não a semente. Sem isto, carregar um save muda a noite que se estava a jogar, e o bug parece um fantasma.

Regras derivadas

Iteração ordenada

Nunca iterar um Dictionary quando o resultado afeta a simulação. Ordem de dicionário não é garantida entre execuções. Usa arrays ordenados por id.

Sem vírgula flutuante acumulada

Posição e massa da Podridão avançam por delta fixo de 1/30 s, sempre o mesmo. Nada de get_process_delta_time() dentro de src/sim/.

Ordem de resolução fixa

O combate resolve por unit.id crescente, não por ordem de nó nem por proximidade. Empates resolvem-se pelo fluxo combat, nunca por posição de memória.

A seed é visível

Mostrada no ecrã de pausa e copiável. É o teu melhor instrumento de depuração e um dos melhores hábitos de comunidade que podes ter de graça.

43 — Ciclo

O tick, e o que corre em que ordem

30 passos de simulação por segundo, metade do render (§19). Dentro de cada passo a ordem é fixa e escrita — porque uma ordem implícita é uma ordem que muda sozinha quando um agente reorganiza um ficheiro.

OrdemSistemaFrequênciaLêEscreve
1GameClock.advanceTodo o tickstate.timeFase do dia, emite fronteiras
2RotSystemTodo o tickFase, dia, terrenoPosição, massa, rasto, invoca criaturas
3JobSystemUma vez por fasePostos, tropas livresAtribuições
4UnitSystem — FSM1/6 das unidades por tickAtribuição, ameaçasEstado, alvo, intenção de movimento
5MovementSystemTodo o tickIntençãoPosição em X, faixa, separação
6CombatSystemTodo o tickSlots de contacto, alcancesVida, mortes, largadas
7EconomySystemUma vez por faseEdifícios, ofícios, rotasMoeda, matéria, capacidade
8BuildSystemTodo o tickMoedas largadas, obrasProgresso de construção
9DebtSystem · DiplomacySystemUma vez por diaDívida, favorPrazos, conversões
10KingAISystemUma vez por dia, por impérioKingdomStateAção escolhida
11EventBus.flushFim do tickFila de eventosEntrega à apresentação
Eventos entregam-se no fim, sempre

Sistemas enfileiram eventos; não os emitem no momento. A entrega acontece no passo 11, depois de todo o estado do tick estar consolidado. Sem esta regra, um ouvinte reage a um estado a meio de mudar — e apanhas bugs em que uma tropa morre e ainda ataca no mesmo tick. A fila também é o teu registo de depuração: grava os últimos 600 eventos e tens vinte segundos de história de qualquer bug.

Parte VI

Dados

Todo o recurso de definição, todo o campo do estado autoritativo, e o catálogo completo de eventos. É a parte que um agente lê antes de escrever a primeira linha.

44 — Definições

Os recursos, com todos os campos

Doze classes de Resource. Cada uma é gerada a partir de um CSV em data/source/ pela ferramenta tools/csv_to_tres.gd — o CSV é a fonte, o .tres é artefacto, e nenhum dos dois se edita à mão no outro lado.

ClasseCSV de origemLinhas na fatia verticalCampos-chave
UnitDataunits.csv6custo, vida, dano, intervalo, precisão aberta, alcance, faixa, velocidade
CreatureDatacreatures.csv3 (de 6)massa, vida, dano, intervalo, velocidade, dia mínimo, faixa, alvo preferido
BuildingDatabuildings.csv7 (de 13)custo, matéria produzida, ritmo, bioma exigido, largura, slots, estados
WallDatawalls.csv5nível, custo, vida, slots de contacto, material, peças
PeopleDatapeoples.csv1 (de 6)kit de arquitetura, rampa de paleta, fonte arquitetónica, tropa única, modificadores
ClassDataclasses.csv1 (de 4)fases, verbo, custo de Semente Real, efeitos
CraftDatacrafts.csv3 (de 5)matéria consumida, moeda agora, capacidade depois, edifício-alvo
BiomeDatabiomes.csv1 (de 6)tabela de criaturas, recursos disponíveis, preset atmosférico, faixas de parallax
SegmentDatasegments.csv8tipo, peso, restrições de adjacência, cena, slots de construção, cavidades
EconomyCurveeconomy.csv1curva de rendimento, dia de asfixia alvo, preços de mercenário por fase
RotProfilerot.csv1velocidade base e por dia, massa base e por dia, intervalo de invocação, abrandamentos
MountDatamounts.csv0 (Fase 6)velocidade, capacidade, faixa, penalização sem montaria

As duas que mais interessam, por extenso

# src/sim/data/unit_data.gd
class_name UnitData extends Resource

@export var id: StringName                      # &"archer" — chave do Registry
@export var display_key: String                   # chave de tradução, não texto
@export var people: StringName = &"neutral"

@export_group("Combate")
@export var max_health: int = 10
@export var damage: int = 0
@export var attack_interval: float = 1.2          # segundos
@export var accuracy_open: float = 0.34            # 1.0 dentro de torre
@export var range_px: int = 28
@export var targets_bands: Array[int] = [1]         # que faixas consegue atingir

@export_group("Economia")
@export var recruit_cost: int = 1
@export var upkeep_per_day: float = 0.0
@export var drops_on_death: Array[StringName] = []

@export_group("Mundo")
@export var band: Band.Kind = Band.Kind.SURFACE
@export var move_speed: float = 26.0               # px/s
@export var scale_tier: int = 2                    # 1, 2 ou 3 — §22
@export var can_change_band: bool = false

@export_group("Arte")
@export var sprite_frames: SpriteFrames
@export var layer_slots: Array[StringName] = [&"body", &"face", &"weapon"]
@export var shadow_width: int = 18                 # largura da elipse de contacto
# src/sim/data/rot_profile.gd — A Podridão como dados, não como código
class_name RotProfile extends Resource

@export var speed_base: float = 14.0               # px/s
@export var speed_per_day: float = 0.9
@export var mass_base: float = 60.0
@export var mass_per_day: float = 26.0
@export var mass_per_fortress: float = 40.0
@export var summon_interval: Vector2 = Vector2(4.0, 7.0)
@export var consecrated_slowdown: float = 0.40      # -40% em terreno consagrado
@export var trail_move_penalty: float = 0.20
@export var two_sided_from_day: int = 12
@export var sacrifice_mass_per_coin: float = 0.5
A regra do texto

Nenhum .tres contém texto visível — só display_key. O jogo do dossiê é quase sem texto (§27), mas quase não é nada, e a diferença entre pôr as strings numa tabela desde o dia 1 e migrá-las no mês 20 é de duas horas contra duas semanas.

45 — Estado

O estado autoritativo, e o que não pertence lá

Uma regra simples: se está aqui, é guardado no save e é determinista. Se está num nó, é derivado e descartável. A fronteira entre os dois é o que torna o save trivial.

# src/sim/state/game_state.gd
class_name GameState extends RefCounted

var seed: int
var tick: int = 0                              # passos desde o início
var day: int = 1
var phase: GameClock.Phase = GameClock.Phase.DAWN
var phase_elapsed: float = 0.0

var player: KingdomState                        # o teu império
var kingdoms: Array[KingdomState] = []          # impérios inimigos, ordenados por id

var units: Array[UnitRec] = []                  # ordenado por id, sempre
var creatures: Array[CreatureRec] = []
var buildings: Array[BuildingRec] = []
var coins_on_ground: Array[CoinRec] = []
var corpses: Array[CorpseRec] = []              # ressuscitáveis até ao amanhecer

var rot: RotState                               # posição, largura, massa, ativo
var world: WorldState                            # segmentos, cavidades, passagens, terreno apodrecido
var debt: DebtState
var next_id: int = 1                             # contador único e monotónico
# src/sim/state/unit_rec.gd — uma tropa é uma linha de dados, não um nó
class_name UnitRec extends RefCounted

var id: int
var data_id: StringName          # chave para UnitData no Registry
var owner: int                   # 0 = jogador, 1..n = impérios
var x: float
var band: Band.Kind
var health: int
var state: UnitFsm.State         # IR_PARA, TRABALHAR, COMBATER, FUGIR, MORTO
var job_id: int = -1
var target_id: int = -1
var attack_cooldown: float = 0.0
var carried_coins: int = 0
var slots: Dictionary = {}       # body/head/face/weapon/overlay -> StringName
var loyalty: float = 1.0         # mercenários e encantados (§14)

O que fica de fora, e porquê

Posição em Y

Derivada da faixa e da linha do solo. Guardar Y seria guardar duas vezes a mesma informação e abrir a porta a que divirjam.

Estado de animação

Derivado de state. O UnitView escolhe a tag. Carregar um save e ver toda a gente no frame 0 de idle não é um bug.

Câmara

Preferência de sessão, não estado de jogo. Vai para user://settings.cfg.

Partículas, sons, ecrã a tremer

Consequências de eventos. Um save a meio de uma explosão carrega sem explosão. Correto.

46 — Eventos

O catálogo completo

Sessenta e um sinais. É a lista fechada: um sistema que precise de comunicar uma coisa que não está aqui precisa primeiro de uma entrada nova na §46. É esta restrição que impede a IA de inventar meia dúzia de sinais quase iguais em ficheiros diferentes.

SinalCargaEmitido porQuem ouve
Relógio — 7
day_startedday: intGameClockEconomia, Podridão, IA, autosave
phase_changedfrom, to: PhaseGameClockTrabalho, luz, áudio, tropas
dawn_brokeday: intGameClockSino, varrimento de luz, contagem de perdas
dusk_fellday: intGameClockAviso sonoro, nascimento da Podridão
night_startedday: intGameClockRecolha aos postos, música
night_survivedday, deaths, walls_lostGameClockTelemetria, conquistas, diário
game_pausedpaused: boolUITodos os sistemas
Economia — 11
coin_droppedx, band, amount, sourceJogador, unidade, morteConstrução, apanha, áudio
coin_collectedunit_id, amountMovementSystemHUD do saco, áudio
coin_spentamount, purposeBuild, recrutamentoTelemetria
material_producedbuilding_id, kind, amountEconomySystemCarroças, ofícios
material_consumedbuilding_id, kind, amountCraftSystemVisual da carroça
craft_chosencraft_id, modeJogadorEconomia, capacidade
capacity_grantedkind, magnitude, durationCraftSystemTropas, overlay visual
trade_route_openedpeople_id, incomeDiplomacySystemEconomia, HUD
trade_route_closedpeople_id, reasonConquista, PodridãoEconomia
seed_royal_gainedamount, sourceFortaleza, segredoMetaprogresso, save
favor_changeddelta, totalDiplomacia, bardoHUD, mercenários
Unidades e combate — 14
unit_spawnedunit_id, data_id, x, bandUnitSystemApresentação, telemetria
unit_promotedunit_id, from, toJobSystemSlots de arte, áudio
unit_state_changedunit_id, from, toUnitFsmAnimação
unit_damagedunit_id, amount, from_idCombatSystemFlash, camada face, knockback
unit_diedunit_id, x, band, dropsCombatSystemCorpo, largadas, áudio, telemetria
unit_revivedunit_idClassSystemApresentação
unit_fledunit_id, reasonUnitFsmMoral
attack_launchedfrom_id, to_id, hit: boolCombatSystemProjétil, impacto, áudio
target_markedtarget_id, by_idClasse ArqueiroPrioridade de alvo, contorno
contact_slot_takenwall_id, slot, unit_idCombatSystemPosicionamento
contact_slot_freedwall_id, slotCombatSystemSubstituição em 0,4 s
weapon_droppedx, band, tierCombatSystemFerreiro n2
mercenary_hiredunit_id, price, debtDiplomacySystemDívida, HUD
loyalty_changedunit_id, valueBardo, dívidaCamada face, IA
A Podridão — 8
rot_spawnedx, width, mass, sideRotSystemMancha, música, aviso
rot_movedx, widthRotSystemMancha, stem de tensão
rot_summonedcreature_id, x, mass_spentRotSystemApresentação
rot_slowedfactor, causeRotSystemFeedback visual
rot_fedmass_removed, offeringJogadorMancha, áudio
rot_trail_leftfrom_x, to_xRotSystemTerreno, plantações, movimento
rot_retreateddayRotSystemDissolução, luz
creature_diedcreature_id, x, bandCombatSystemLargadas, telemetria
Mundo e construção — 12
region_generatedseed, segmentsWorldGenApresentação, parallax
segment_enteredsegment_id, typeCameraRigÁudio, telemetria
build_startedslot_id, building_idBuildSystemAndaime, construtor
build_progressedslot_id, ratioBuildSystemEstado do sprite
build_completedbuilding_idBuildSystemEconomia, áudio
building_damagedbuilding_id, ratioCombatSystemEstado do sprite
building_destroyedbuilding_id, xCombatSystemRuína, economia
wall_upgradedwall_id, levelBuildSystemMaterial, silhueta, slots
wall_breachedwall_idCombatSystemTremor de ecrã, música, IA
cavity_revealedcavity_idJogadorShader de dither, luz
passage_usedunit_id, from_band, to_bandMovementSystemApresentação
secret_foundsecret_idMundoDiário, Semente Real
Coroa e impérios — 9
king_action_chosenkingdom_id, actionKingAISystemApresentação, telemetria
greed_changedkingdom_id, valueCrownSystemNobres na varanda, economia
royal_impulse_usedimpulse_idJogadorEfeito, roda do rei
king_diedkingdom_id, heir_idCombatSystemSucessão, derrota
succession_startedheir_idSuccessionSystemUI, luz
fortress_conqueredfortress_id, people_idConquestSystemKit novo, Semente Real
people_assimilatedpeople_idDiplomacySystemRota, arquitetura
debt_incurredamount, due_dayDebtSystemContador de 6 dias
debt_defaultedamountDebtSystemMercenários viram inimigos
Como o EventBus é escrito

Um único autoload com sinais declarados, não um dicionário de strings. Sinais declarados dão-te verificação estática, autocompletar, e um erro em vez de silêncio quando alguém escreve unit_dead em vez de unit_died. A fila do §43 é interna: queue(sig, args) durante o tick, flush() no fim.

47 — Constantes

Enums e números que o código pode conhecer

A invariante I4 diz que balanceamento vive em .tres. Isto é o complemento: o que não é balanceamento e pode, por isso, ser constante de código. A distinção é simples — se afinares isto num playtest, está no sítio errado.

# src/sim/band.gd  — corrigido na v5.1, ver §70
class_name Band
enum Kind { AERIAL = 0, SURFACE = 1, UNDERGROUND = 2 }

# Planos de imagem — §11. Fixados na Fase 0 e nunca mexidos.
const SKY_TOP        := 0
const HORIZON        := 420    # onde as camadas distantes se encontram
const GROUND_LINE    := 517    # onde as tropas pisam
const SCREEN_BOTTOM  := 720
const AERIAL_BOTTOM  := 200
const SOIL_CUT       := SCREEN_BOTTOM - GROUND_LINE   # 203

# Camadas de física — uma por faixa, mais estáticos
# v5.2: uma constante por linha — o GDScript não aceita várias numa só (C-01, §72)
const L_AERIAL   := 1
const L_SURFACE  := 2
const L_UNDER    := 4
const L_TERRAIN  := 8
const L_BUILDING := 16
const L_COIN     := 32
ConstanteValorDe onde vemAfina-se em playtest?
TICK_HZ30§19Não
DAY_SECONDS360§05Sim → vai para ClockData (v5.2, ADR 0006)
GROUND_LINE517§11, fixado na Fase 0Não — meia dúzia de sistemas dependem dele
SEGMENT_WIDTH640§21Não
TILE32§22Não
AI_SLICE61/6 das unidades decide por tickNão — é desempenho
SLOT_REPLACE_TIME0,4 s§07Sim → EconomyCurve
EVENT_LOG_SIZE600≈ 20 s de história para depuraçãoNão
O teste que mantém isto honesto

test_sem_literais_de_balanceamento percorre src/ à procura de literais numéricos fora de uma lista de exceções (0, 1, -1, e as constantes acima). Encontrar 26.0 escrito à mão dentro de um sistema é um chumbo. É rude, e é exatamente por isso que funciona quando o código não é escrito por ti.

Parte VII

Sistemas

Dez sistemas, cada um com o seu contrato: o que lê, o que escreve, com que frequência corre e o que acontece nos casos difíceis. Nenhum chama outro diretamente.

48 — Relógio

GameClock — a fase do dia é um estado, não um temporizador

Seis fases, 360 segundos, durações do §05. Tudo o resto no jogo pergunta ao relógio; o relógio não pergunta a ninguém.

FaseDuraçãoInícioEmite à entradaEstado das tropas
DAWN15 s0dawn_broke, phase_changedSaem dos postos, em cascata
MORNING85 s15phase_changedTrabalho livre
NOON40 s100phase_changedTrabalho livre · fortalezas detetam
AFTERNOON85 s140phase_changedTrabalho livre · mercenários +25%
DUSK30 s225dusk_fell, rot_spawnedRecolha aos postos
NIGHT105 s255night_startedPosto de cerco
# src/core/game_clock.gd — o único sítio onde o tempo avança
enum Phase { DAWN, MORNING, NOON, AFTERNOON, DUSK, NIGHT }
const DURATIONS := [15.0, 85.0, 40.0, 85.0, 30.0, 105.0]
const STEP := 1.0 / 30.0

func advance(s: GameState) -> void:
    s.tick += 1
    s.phase_elapsed += STEP
    if s.phase_elapsed < DURATIONS[s.phase]:
        return
    var old := s.phase
    s.phase_elapsed = 0.0
    s.phase = (s.phase + 1) % 6
    if s.phase == Phase.DAWN:
        s.day += 1
        EventBus.queue(&"day_started", [s.day])
        EventBus.queue(&"night_survived", [s.day - 1, _deaths, _walls_lost])
    EventBus.queue(&"phase_changed", [old, s.phase])
A regra da fase, não do segundo

Nenhum sistema pergunta "que segundo é". Perguntam s.phase. Se um dia decidires que a tarde deve ter 95 segundos, mudas um número num .tres e nada mais no jogo se apercebe. Sistemas que dependem de segundos absolutos são o que torna um ciclo de dia impossível de afinar.

49 — Economia

EconomySystem — três circuitos, uma passagem por fase

O §06 define produção, conversão e comércio. Aqui está o contrato: quando corre, o que toca, e a regra que impede a matéria-prima de virar um inventário.

Corre
Uma vez por transição de fase, no passo 7 do tick. Nunca por frame.
Lê
state.buildings, state.player.crafts, rotas de comércio abertas, EconomyCurve.
Escreve
Matéria dentro de cada edifício, moeda no chão, capacidades ativas, rendimento das rotas.
Nunca escreve
Um inventário do jogador. Não existe inventário. A matéria vive no edifício que a produziu, e é isso que mantém os dois verbos intactos.

O algoritmo, por fase

func on_phase(s: GameState, phase: int) -> void:
    # 1 — produção: cada edifício acumula a sua matéria
    for b in s.buildings:                       # ordenado por id (I2/§42)
        if b.destroyed or b.on_rot_trail: continue
        var d := Registry.building(b.data_id)
        b.stock += d.yield_per_phase
    # 2 — conversão: ofícios consomem matéria e produzem moeda OU capacidade
    for c in s.player.active_crafts:
        var src := _find_building(s, c.source_id)
        if src == null or src.stock < c.cost: continue
        src.stock -= c.cost
        EventBus.queue(&"material_consumed", [src.id, c.kind, c.cost])
        if c.mode == CraftData.Mode.COIN:
            _drop_coins(s, src.x, c.coin_yield)
        else:
            _grant_capacity(s, c.capacity_kind, c.magnitude)
    # 3 — comércio: uma vez por dia, no DAWN
    if phase == GameClock.Phase.DAWN:
        for r in s.player.routes:
            _drop_coins(s, s.player.core_x, r.income)
Caso difícilResolução
Edifício no rasto da PodridãoNão produz nesse dia. Plantações são destruídas; as restantes só param. A distinção está no BuildingData, não em if por tipo.
Ofício sem matéria suficienteNão faz nada e não avisa. A falta de trânsito de carroças é o aviso — é o HUD diegético do §24.
Duas conversões a competir pela mesma matériaOrdem por craft.id. Determinista, e o jogador aprende a ordem.
Moeda largada quando o chão está cheioEmpilha na mesma coordenada com contagem, até 99. Acima disso, funde num saco.
Rota de comércio de povo arrasadoFechada em fortress_conquered se o modo foi saque. É a razão económica para não arrasares.
50 — Combate

CombatSystem — legível antes de emocionante

As quatro regras do §07 são de design. Estas são as de implementação, e a mais importante é a ordem de resolução: sem uma ordem fixa, a mesma noite dá resultados diferentes e a promessa da seed morre.

Ordem de resolução, por tick

Atualizar slots de contacto

Cada muro tem N slots (2 no nível 1 até 7 no Bastião). Slots libertados são preenchidos pelo atacante mais próximo da fila, com 0,4 s de transição visível. A fila tem posições estáveis entre 30 e 120 px — atribuídas, não emergentes.

Decrementar cooldowns

Por unit.id crescente. Sempre.

Escolher alvos

Prioridade: alvo marcado pelo Arqueiro > alvo atual se ainda vivo e em alcance > mais próximo em faixa atingível. Nunca reescolher se o alvo atual serve — é o que evita o desperdício de flechas que o Kingdom tem.

Resolver ataques

Um roll do fluxo combat contra accuracy_open, ou acerto garantido dentro de torre. Emite attack_launched com hit já decidido — a apresentação nunca decide se acertou.

Aplicar dano e mortes

Recolhe as mortes numa lista e só as aplica no fim do passo. Uma unidade que morre neste tick ainda não desaparece a meio da iteração — é o que evita "morreu e ainda atacou".

Largar

Toda a morte larga: arma, moedas transportadas, ou corpo. Nada desaparece em silêncio.

Precisão é posição, e isso tem uma consequência técnica

accuracy_open = 0.34 em campo aberto e 1.0 dentro de torre não é um multiplicador de dano — é um roll. Isso significa que a variância de uma noite é real, e que a tabela de tempo-até-matar do §07 são médias. O teste de design test_arqueiros_nao_param_ariete tem de assertar sobre o valor esperado, não sobre uma corrida única, ou vai falhar de forma intermitente e vais acabar por o desligar.

Ocupação de linha

# Uma regra de dados, não de física. Sem colisão entre aliados.
func _assign_queue_positions(wall: WallRec, attackers: Array) -> void:
    var free := attackers.filter(func(a): return a.slot == -1)
    free.sort_custom(func(a, b): return a.id < b.id)
    for i in free.size():
        # posições estáveis: não vibram, não empurram
        free[i].queue_x = wall.x + sign(free[i].x - wall.x) * (30 + i * 18)
51 — Podridão

RotSystem — uma entidade, não um spawner

A §05 insiste que A Podridão é um sistema de primeira classe. Tecnicamente isso quer dizer: tem posição contínua, um orçamento de massa, e é a única fonte de criaturas no jogo.

# src/sim/state/rot_state.gd
class_name RotState extends RefCounted
var active: bool = false
var x: float                      # centro da mancha
var width: float
var mass: float                   # orçamento de invocação
var side: int                     # -1 esquerda, +1 direita, 0 = ambos (dia 12+)
var next_summon_at: float
var trail_from: float
var trail_to: float
MomentoO que aconteceFórmula
DUSKNasce na borda mais distante do lado ameaçadomass = 60 + 26·dia + 40·fortalezas
Todo o tickAvança em direção ao impériov = (14 + 0,9·dia) · (1 − abrandamentos) px/s
A cada 4–7 sGasta massa a invocar da tabela do biomaEscolhe a criatura mais cara que cabe e cujo dia mínimo já passou
Ao avançarDeixa rasto: plantações destruídas, animais mortos, −20% de movimentoPersiste até ao DAWN seguinte
DAWNRecua. Não morre — nunca é morta em campo abertoactive = false, criaturas vivas dissolvem-se
A escolha de criatura, e porque é assim

"A mais cara que cabe" produz naturalmente a curva certa: nos primeiros dias há massa só para Rastejantes; ao dia 14 aparece o Aríete de lodo (48 de massa) e a noite muda de carácter sem uma única linha de scripting por dia. Se em vez disso escolhesses ao acaso entre as disponíveis, terias noites 14 sem Aríete nenhum e o jogador nunca aprenderia a lição que o §07 quer ensinar.

As quatro interações do jogador

Ver

A mancha é visível no crepúsculo. O rot_moved alimenta o stem de tensão do áudio proporcionalmente à distância — o jogador ouve-a antes de a ver.

Atrasar

Fogueiras, barris e terreno consagrado emitem rot_slowed. Cada segundo de atraso é uma invocação a menos, e isso é literal: o orçamento gasta-se por tempo, não por distância.

Desviar

Se o caminho de superfície estiver selado, a mancha usa a faixa subterrânea ou aérea. É uma tática avançada, e a implementação é um grafo de três nós — não vale mais do que isso.

Alimentar

rot_fed remove massa: 0,5 por moeda, mais por animal ou tropa. Transforma economia em segurança, e é a mecânica mais sinistra do jogo.

52 — IA

JobSystem e UnitSystem — previsível vence inteligente

Duas camadas, como o §20 define. A de cima corre uma vez por fase e é global; a de baixo é uma máquina de estados de cinco casos por unidade. Nada de behavior trees para tropas comuns.

Camada A — atribuição de trabalho

func assign(s: GameState) -> void:
    var openings := _collect_openings(s)      # postos publicam vagas com prioridade
    openings.sort_custom(func(a, b): return a.priority > b.priority)
    var free := s.units.filter(func(u): return u.job_id == -1 and u.state != UnitFsm.State.DEAD)
    for o in openings:
        var best := -1
        var best_score := -INF
        for i in free.size():
            var u: UnitRec = free[i]
            var score := _fit(u, o) * _proximity(u, o) * o.urgency
            if score > best_score:
                best_score = score; best = i
        if best >= 0:
            free[best].job_id = o.id
            free.remove_at(best)
Porque é que isto basta

É o algoritmo do Kingdom, e a previsibilidade é a funcionalidade. Num jogo de controlo indireto, o jogador precisa de conseguir antecipar para onde vão as suas tropas. Uma IA que otimiza melhor mas surpreende é pior. Se um agente propuser behavior trees para tropas comuns, rejeita — só chefes e criaturas da Podridão as justificam.

Camada B — a máquina de estados

EstadoEntra quandoSai quandoCusto por tick
GOTOTem trabalho e está longeChega ao postoMovimento em X
WORKEstá no postoFase muda, ameaça em alcance, posto destruídoNada — só animação
FIGHTInimigo em alcance e a unidade tem danoAlvo morre ou sai de alcanceResolução de combate
FLEEVida < 25% e classe permite, ou lealdade quebradaChega ao núcleo, ou morreMovimento em X
DEADVida ≤ 0Ressuscitada até ao amanhecer, ou removidaNada

Fatiamento: só 1/6 das unidades reavalia por tick (u.id % 6 == s.tick % 6). Uma unidade decide cinco vezes por segundo, o que é impercetível e corta a IA para um sexto do custo. O movimento e o combate continuam a correr todos os ticks — é só a decisão que é fatiada.

O rei inimigo

Utilidade ponderada, cinco ações, uma vez por dia por império. O código está no §20 e não se repete aqui. A parte que interessa aqui é o contrato: KingAISystem lê um KingdomState e devolve um StringName. Não executa a ação — emite king_action_chosen e os sistemas respetivos reagem. É o que permite testá-la sem simular nada.

53 — Faixas

Faixas, colisão e a matriz que tem de existir no dia 1

A invariante I3. Uma câmara só, três faixas, camadas de física separadas. A matriz abaixo é a configuração exata do projeto.

CamadaBitColide comNotas
L_AERIAL1Terreno alto, projéteis de arqueiro e torreVoadoras. Ignoram tudo o que é de solo.
L_SURFACE2Terreno, edifícios, muralhas, moedasO jogo do Kingdom acontece aqui
L_UNDER4Terreno de cavidade, passagensTropas de defesa nunca descem
L_TERRAIN8Todas as três faixas, seletivamenteTileMapLayer com máscara de revelação
L_BUILDING16Superfície e subsoloSó o que é atacável
L_COIN32Nada — é apanha por proximidadeColisão de moeda com 300 unidades é desperdício
Transição de faixa

Só através de PassageRec. Um grafo de 20 a 60 nós, Dijkstra, recalculado quando uma cavidade é revelada. Não é NavigationServer2D — é pequeno de mais para justificar.

Movimento na superfície

sign(alvo.x − self.x) mais separação por steering. O mundo é uma linha; A* seria absurdo.

Subterrâneo

Aí sim há túneis ramificados. NavigationRegion2D só nesta faixa, e só depois da Fase 3.

Voadoras

Movimento livre em X e Y dentro da faixa aérea, com flocking leve. Só atacáveis por arqueiros e torre alta — e isso é a máscara, não um if.

54 — Mundo

WorldGen — determinista, e por camadas separadas

Atualização do gerador: a geração contínua existente mantém sementes e alterações persistentes. A sequência natural → fundação → primeira noite territorial → despertar social da §88 é o contrato adotado, ainda por completar em RG-24. A antiga distribuição de fortalezas e mercenários prontos não é o destino final.

O §21 resolve o conflito entre geração e composição com uma regra: o parallax nunca é por segmento. Aqui está a consequência técnica — a geração corre em duas passagens independentes.

Passagem 1 — a paisagem

As camadas 1 a 4 (céu, montanha, colina, fundo médio) são geradas uma vez para a região inteira a partir do fluxo world. Produzem texturas contínuas com repeat_size igual à largura da região. Nenhum segmento sabe que elas existem.

Passagem 2 — os segmentos

Oito segmentos de 640 px sorteados por peso, com as restrições de adjacência do §21. Cada um instancia uma cena autorada, com os seus slots de construção e 0–2 cavidades. Só isto colide, só isto é jogável.

Passagem 3 — costura

Terreno e primeiro plano atravessam as juntas: erva, pedras e ramos são colocados depois da montagem, ignorando fronteiras de segmento. É o que apaga a grelha aos olhos do jogador.

func generate(seed: int, biome: BiomeData) -> WorldState:
    var rng := RngService.stream(&"world")
    var w := WorldState.new()
    w.width = _region_width(biome)             # derivado do tempo de travessia, §21
    w.parallax = _make_landscape(rng, biome, w.width)   # passagem 1
    w.segments = _pick_segments(rng, biome, w.width / 640)
    _apply_adjacency_rules(w.segments)          # fortalezas nunca adjacentes, etc.
    _place_core(w)                              # base_inicial ao centro
    _carve_cavities(rng, w)
    _scatter_decoration(rng, w)                 # passagem 3, ignora juntas
    return w
A ordem é parte do contrato

Trocar duas chamadas nesta função muda todos os mundos gerados por todas as seeds anteriores. Não é um refactor inocente: é quebrar todos os saves e todas as seeds partilhadas. Se a ordem tiver mesmo de mudar, sobe WORLDGEN_VERSION e trata como migração (§62).

55 — Construção

BuildSystem — moeda física, slots pré-definidos

Contrato territorial atual e extensão: RealmGrowth consulta a recusa de território derivada pelo RG-28 antes de autorizar a obra. A §92 define o avaliador comum e a §95 a revalidação por revisão do mundo; elegibilidade futura inclui acessos/direitos, além do alcance atual.

Contrato
Uma obra existe quando uma moeda cai num BuildSlot. O construtor vai lá, e o progresso avança enquanto ele estiver presente — não por tempo decorrido. É o que torna os construtores um recurso real.
Estados
EMPTY → SCAFFOLD → BUILDING(ratio) → DONE → DAMAGED(ratio) → RUIN. Cada um é um frame de sprite, não uma cena diferente.
Muralhas
Cinco níveis. Cada subida emite wall_upgraded, que muda material, silhueta e número de slots de contacto — os três ao mesmo tempo, porque é a mesma decisão de design.
Destruição
wall_breached é o único evento com direito a tremor de ecrã (máx. 4 px, §24). Nunca golpes normais.

Os slots de construção são autorados na cena do segmento, não calculados. É a decisão do §21: forçar posições arriscadas em vez de deixar amontoar tudo no sítio seguro. O gerador escolhe segmentos; o segmento decide onde se pode construir.

Fundação e expansão atuais: confirmar a fundação válida é gratuito e idempotente; os estágios seguintes são pagos. Bancas nascem só após fundar, dentro do primeiro recinto. Obra disponível depende também de estágio, expansão, apoio e maturidade (Q-221/Q-227/Q-233). Ao reservar solo/subsolo, respeitar §87/§88 e o conflito da Q-237.

56 — Dívida

DiplomacySystem e DebtSystem

SistemaCorreRegra
FavorUma vez por dia, no DAWNDecai 10% se não for usado. É a única moeda que perde valor — e é o que impede acumular favor durante vinte dias.
MercenáriosAo contratarPreço sobe 25% na AFTERNOON. Contratar sem favor cria dívida com prazo de 6 dias.
DívidaUma vez por diaÉ o único elemento de HUD permanente do jogo (§24), e só existe quando há dívida.
IncumprimentoNo prazodebt_defaulted: os mercenários mudam de owner na mesma linha de código. Não são substituídos por inimigos — tornam-se inimigos, com o equipamento que lhes deste.
Uma nota sobre a lealdade

loyalty é um campo de UnitRec, não uma classe de unidade separada. Um mercenário e um aldeão diferem num float. É o que permite que o bardo encante inimigos e que a dívida vire aliados — a fronteira entre os exércitos é permeável porque, nos dados, mal existe.

57 — Coroa

CrownSystem — ganância, impulsos, sucessão

Ganância
Um float de 0 a 100 por império. Lê-se no mundo pelo número de nobres visíveis na varanda — não há número no ecrã. Sobe com riqueza acumulada, desce com gasto.
Impulso real
Um por dia, pela roda do rei. Emite royal_impulse_used; o efeito é um Resource, não um match com cinco casos.
Morte do rei
king_died com heir_id. Se há herdeiro, succession_started. Se não, é derrota — e a morte é permanente, por isso este caminho tem de ser à prova de bala e testado desde a Fase 1, não na Fase 6.
Herança
Na sucessão por morte, a ganância é sorteada conforme Q-133. O herdeiro é neutro até preparado e a escolha de perfil segue Q-196/Q-202 (§15). Ganância na troca voluntária permanece aberta; o desvio herdado da v6 não é a regra atual.
Parte VIII

Apresentação

A camada que lê o estado e não o decide. Composição por slots, ordem de render, catálogo de shaders e o mapa de entrada.

58 — Sprites

Composição por slots

Seis Sprite2D empilhados por personagem, um AnimationPlayer partilhado. Custo de desenho desprezável em 2D; poupança de trabalho artístico enorme — e é o que torna viável ter seis povos (§22).

SlotOrdem ZTrocado porFonte do valor
body0Povo e escalaUnitData.people + scale_tier
storage1O armazenamento do personagem jogável e o que levaClassData.storage (storages.csv) — a camada Equipments (Q-153)
head2IdentidadeUnitRec.slots["head"] — sorteado do fluxo visual
face3Estado e lealdadeDerivado de health e loyalty. Nunca guardado.
weapon / shield4Nível de ferreiroUnitRec.slots["weapon"]
overlay5EfeitosCapacidades ativas, marca do arqueiro, rasto da Podridão
shadow−1Largura do spriteUnitData.shadow_width — obrigatório, §22
Nomenclatura de exportação
<povo>_<entidade>_<slot>.aseprite → art/export/<povo>_<entidade>_<slot>.png + .json. Obrigatória: é o que permite a um agente gerar cenas sem ver a arte.
Tags
idle 6 frames · walk 8 · attack 5 · die 7, a 10 fps. O Godot Aseprite Wizard importa respeitando tags e camadas.
Desfasamento
Cada unidade arranca a animação num frame aleatório do fluxo visual. Sem isto, 300 aldeões respiram em uníssono e parecem um exército de clones.
Fora do ecrã
VisibleOnScreenNotifier2D: continua a simular, para de animar. A simulação nunca depende de estar visível.
59 — Render

A pilha, de trás para a frente

Os deltas de saturação, valor e matiz estão no §22 e não se repetem aqui. Isto é a ordem, os nós e a regra do pixel inteiro.

ZNómotion_scaleCanvasModulateNotas
−60SkyLayer1/32CéuBandas + dither. Sol e lua posicionados pelo GameClock.
−50MountainLayer1/8DistânciaMassa lisa, zero textura, zero contorno
−40HillLayer1/4DistânciaDetalhe mínimo 4 px
−30MidLayer1/2Plano médioA faixa que faltava (§11)
−20HazeBands——2–3 bandas aditivas, 6–14% de opacidade
−10TerrainLayer1JogoTileMapLayer · superfície e corte de solo
0ShadowLayer1JogoElipses de contacto, multiplicativas
10EntityLayer1JogoOrdenado por band, depois por x
20FxLayer1—Mancha da Podridão, projéteis, partículas
30ForeLayer3/2Primeiro planoEscuro, silhueta, sobrepõe-se às tropas
40GodRays——Só entre nascer e pôr do sol
100DebtHud——O único HUD permanente, e só com dívida
# src/world/parallax_stack.gd — a invariante I8, num sítio só
func _process(_d: float) -> void:
    var cam := camera.global_position.x
    for l in layers:
        l.node.position.x = floor(cam * (1.0 - l.motion_scale))   # floor, sempre
Multi-mesh para a vegetação

Erva, flores, pedrinhas e detritos são milhares de instâncias e não têm lógica nenhuma. MultiMeshInstance2D: uma draw call para tudo. Se um agente propuser Sprite2D por tufo de erva, rejeita — é a diferença entre 60 e 900 draw calls.

60 — Shaders

Catálogo, com uniforms

ShaderUniformsAplicado aFase
palette_lutlut: Texture2D, mix: floatTodos os sprites de jogo. Faz hora do dia, variante de povo, encantamento e estado — um shader, quatro trabalhos.0
dither_revealprogress: float, matrix: Texture2DCavidades a abrir no corte de solo3
outline_dilatewidth: int, color: vec4Silhueta de cenário → 2 px sem redesenhar (§01)1
dissolveprogress: float, edge_color: vec4Podridão a espalhar-se, morte de unidades1
water_rippleamp: float, speed: floatLago do castelo, portos, pesqueiros2
fake_fogdensity: float, tint: vec4Cavidades, crepúsculo3
blind_vignetteclosure: floatCavaleiro Selado sem montaria6
normal_palette_lightpalette: Texture2D, ramp: Texture2D, palette_size: int, normal_mod: floatSó objetos-herói: núcleo, castelo, muralhas, forja. Nunca 300 unidades.5+
A armadilha, e o que a resolve

PointLight2D não respeita o filtro Nearest em normal maps e sombras — os pixels ficam suaves à volta das luzes, o que destrói tudo. A solução é normal_palette_light: codifica o índice de paleta num canal e o brilho da normal noutro, e descodifica através de uma textura de gradiente, para a cor iluminada cair sempre numa cor da paleta. Testa isto na Fase 0 com um spike de duas horas, não na Fase 5.

61 — Entrada

Dois verbos, e como chegam à simulação

Limite dos exemplos: o encaminhamento antigo de ASSUME não autoriza assumir tropas nem trocar livremente entre imperadores. A ação contextual valida o contrato de herdeiro da §15; ataque, habilidade e corrida têm entradas separadas com paridade de toque (§24).

O mapa completo de comandos está no §24. Aqui só interessa o contrato: a entrada nunca muda estado diretamente.

# scenes/game.tscn → src/ui/input_router.gd
func _unhandled_input(e: InputEvent) -> void:
    if e.is_action_pressed(&"verb_drop"):
        # NÃO mexe no estado. Enfileira uma intenção.
        Sim.queue_intent(Intent.DROP_COIN, {&"x": _player_x(), &"band": _player_band()})
    elif e.is_action_pressed(&"verb_assume"):
        Sim.queue_intent(Intent.ASSUME, {&"target": _nearest_assumable()})

As intenções são consumidas no início do tick seguinte, na ordem em que chegaram. É o que faz o jogo determinista apesar de haver um humano: dada a mesma seed e a mesma sequência de intenções, a partida repete-se exatamente. E é isso que torna possível gravar uma repetição em 40 bytes por segundo.

Parte IX

Qualidade

Persistência que não perde partidas, orçamentos que se medem, e os portões que travam o que a IA escreveu antes de tu leres.

62 — Save

Esquema, versões e a regra de segurança

Persistência territorial: RG-28 mantém save v12, assinatura v2 para novas fundações e perfis derivados. A §95 define o estado futuro de água/contratos/carga e as regras de migração. Q-248 confirma que limpeza da paisagem e construções persistem; reabrir não restitui árvores nem concede madeira.

Como a simulação é pura, o save é quase trivial: serializa GameState, mais o estado dos fluxos RNG. As regras à volta é que não são negociáveis.

# O que um ficheiro de save contém
{
  save_version: int          # desde a v1, com migrações explícitas
  worldgen_version: int      # §54 — se mudar, o mundo é regenerado ou recusado
  created_utc: int
  play_seconds: int
  seed: int
  rng_states: Dictionary     # §42 — o ESTADO, não a semente
  intents_since_tick: Array  # para repetição, opcional
  state: Dictionary          # GameState serializado, campo a campo
}
RegraPorquê
Escreve para ficheiro temporário e só depois renomeiaUm crash a meio da escrita não pode destruir o save. Renomear é atómico; escrever não é.
save_version desde a v1, com migrações explícitasUm jogador que perca 40 horas por causa de um update não volta. E não há v0 — a primeira versão já é a 1.
Três slots com rotação, em user://Autosave no DAWN de cada dia. Um save corrompido nunca é o único.
Nunca load() nem ResourceLoader.load — grava com FileAccess.store_var(dados, false), lê com FileAccess.get_var(false) e valida os tipos base campo a campoUm .tres arbitrário pode conter script embutido. É execução remota de código disfarçada de save, e é a falha de segurança clássica de jogos Godot.
Campos desconhecidos são ignorados, não são erroPermite ler um save de uma versão futura sem rebentar — degrada em vez de recusar.
Versão 8 — a fundação (ADR 0059)

Um save de antes trazia o castelo de pé. Na escada nova o castelo é a Fortaleza: a migração passa o núcleo para esse estágio com a vida que tinha e marca a sede como herdada. Nada mais se inventa: nem o pioneiro, nem a carroça de provisões, nem a banca de graça. Carregar não repõe a carroça nem refaz a fundação.

A migração escreve-se quando se muda o campo, não quando se lança

Cada alteração ao GameState acrescenta uma função _migrate_N_to_N1(d: Dictionary) no mesmo commit. Deixar as migrações para o fim é como deixar os testes para o fim: nunca acontece, e a dívida é paga com saves de jogadores.

Persistência da revisão v7: esta atualização documental não muda o formato dos saves. Futuras alterações têm de versionar e migrar fundação, cobertura/árvores, sociedades, sucessão e propriedade por modo (§88/§89), sem duplicar coroas, recursos, recompensas ou perfis. Um cache de afinidade não substitui o estado persistido que o produz.

63 — Desempenho

Orçamentos, e como se medem

O alvo é 60 fps no Steam Deck com 300 unidades no ecrã. Isso dá 16,6 ms por frame, dos quais a simulação usa metade dos ticks. Os números abaixo são orçamentos, não medições — o teste de desempenho falha quando são ultrapassados.

ItemOrçamentoComo se medeSe estourar
Simulação, tick completo4,0 msProfiler de tracing (Tracy/Perfetto, §19)Aumenta AI_SLICE antes de otimizar código
  — CombatSystem1,5 msMarcador dedicadoReduz slots de contacto, não unidades
  — MovementSystem1,0 msMarcador dedicadoSteering só contra os 4 vizinhos mais próximos
  — UnitSystem (FSM)0,8 msMarcador dedicadoFatiamento para 1/8
Render, draw calls≤ 120Monitor do GodotMais MultiMeshInstance2D
Nós ativos na cena≤ 900Monitor do GodotPooling; unidades fora do ecrã não têm nó
Vozes de áudio≤ 24Contador próprioPrioridade por proximidade da câmara
Memória de texturas≤ 512 MBMonitor do GodotNo export web, máx. 1024 px por textura
Tempo de arranque até jogável≤ 4 sTeste de cenaCarregar .tres em segundo plano
A ordem por que se otimiza

Nunca por instinto. Primeiro mede, depois muda dados (fatiamento, contagens, distâncias), e só em último caso muda código. Metade dos problemas de desempenho num jogo com 300 unidades resolvem-se com um número, não com uma reescrita — e uma reescrita feita por um agente sem medição é sempre pior do que o original.

64 — Testes

Três níveis e cinco portões

Sem testes automáticos não consegues rever o que a IA escreve, e vais deixar de tentar ao fim de duas semanas. Com testes, podes aceitar 400 linhas sem as ler linha a linha — porque sabes o que elas têm de fazer.

Unitário — src/sim/

Rápido, sem editor, cobertura alta. Toda a função pública. 80% da suite vive aqui, e corre em menos de dois segundos.

De cena — scenes/tests/

Uma noite completa em headless com delta fixo. Verifica que o muro aguenta e que ninguém fica preso.

De design — o mais valioso

Afirmações sobre intervalos-alvo de balanceamento. Falham quando o jogo deixa de estar afinado, não quando o código parte.

Os cinco portões de CI

#PortãoDefendeCusto
G1test_sim_nao_toca_em_nosInvariante I1 — a decisão mais importante do projeto20 linhas
G2Lint de RNG: sem randi/randf/randomize fora de RngServiceI2 — a promessa da seed10 linhas
G3test_eventos_no_catalogo: nenhum sinal emitido fora do §46I7 — impede a proliferação de sinais quase iguais15 linhas
G4test_sem_literais_de_balanceamentoI4 — números fora dos .tres30 linhas
G5Testes de design no intervaloO jogo continuar afinadoVer abaixo

Os testes de design propriamente ditos — dia de asfixia, noite 1 sempre ganha, noite 8 sem torre sempre perdida, arqueiros não param aríetes — estão escritos na §31 e não se repetem aqui. O que a §31 não tinha são os cinco portões acima e o teste que se segue.

# tests/determinism_test.gd — o que apanha o que os outros não apanham
func test_seed_reproduz() -> void:
    var a := SimHarness.run_days(10, 12345)
    var b := SimHarness.run_days(10, 12345)
    assert_str(a.checksum()).is_equal(b.checksum())
O último é o que apanha tudo o resto

test_seed_reproduz corre dez dias duas vezes e compara uma soma de controlo do estado final. Se um agente introduzir um randf() solto, uma iteração de dicionário, ou uma ordem de resolução dependente de posição de memória, este teste falha — mesmo que os quatro portões anteriores passem. É o teste mais barato de escrever e o que mais bugs impossíveis te vai poupar.

Parte X

A primeira etapa

Fase 0 e Fase 1, ao nível do ficheiro. Não é um plano — é a lista do que existe quando cada uma acaba, e como se sabe que acabou.

65 — Fase 0

Fundação — seis semanas, 42 ficheiros, ≈ 63 h

Contexto histórico: estudos de mercado, previsões, horas, listas de arranque e estados de implementação desta versão descrevem a fase em que foram escritos. A baseline e a ordem de execução atuais estão na §90; decisões posteriores da §86 prevalecem. Exemplos antigos não são ficheiros para copiar sobre o projeto atual.

Revisto na v5.1: esta lista tratava só dos ficheiros de jogo. Os do repositório — que vêm antes — estão na §68, e o conteúdo de cada um na §69; os caminhos marcados §70 foram corrigidos. Critério de saída do §33: um sprite anda nas três faixas e o CI está verde. Nada mais. A tentação é fazer combate na Fase 0; resistir a essa tentação é o que faz a Fase 1 correr bem.

FicheiroO que fazDepende deh
Infraestrutura — 6, mais os 19 da §68
project.godotAs definições do §19, copiadas tal e qual—1
.gitattributesGit LFS para art/source/ desde o primeiro commit—0,5
.github/workflows/ci.ymlgdUnit4 em headless, os cinco portões do §64—3
AGENTS.md + CLAUDE.mdO contrato do §69. Aponta para docs/design/, gerado por tools/split_dossie.py§691,5
tools/csv_to_tres.gdGera .tres a partir de data/source/*.csv§444
tools/lint_sim.gdPortões G1, G2, G4—2
Núcleo — 6
src/sim/band.gd §70O enum e as constantes de plano (§47). Na simulação, não em core/§700,5
src/core/event_bus.gdOs 61 sinais declarados, fila e flush§463
src/core/rng_service.gdOs seis fluxos, snapshot e restore§422
src/sim/game_clock.gd §70Seis fases, passo fixo, fronteiras. Puro, RefCounted§483
src/core/clock_service.gd §70O autoload de trinta linhas que faz o relógio andar e emite os sinais§700,5
src/core/registry.gdCarrega .tres por StringName§442
src/core/save_service.gdEscrita atómica, versão, rotação de três slots§624
Estado e mundo mínimo — 5
src/sim/state/game_state.gdA estrutura do §45, ainda quase vazia§452
src/sim/state/unit_rec.gdUma tropa como linha de dados§451
src/sim/data/clock_data.gd §69O Resource que o GameClock do §30 recebe e que a v5 não criava§440,5
src/sim/data/unit_data.gdO Resource completo do §44§441,5
src/world/band_layers.gdAs três faixas, camadas de física, a matriz do §53§533
src/world/camera_rig.gdUma câmara, limites, movimento em pixel inteiro§593
Apresentação mínima — 4
src/world/parallax_stack.gdSeis camadas com floor(), ainda com placeholders§593
src/actors/unit_view.gdOs cinco slots empilhados, mais a sombra§584
shaders/palette_lut.gdshaderO shader que faz quatro trabalhos§604
scenes/boot.tscn §70A cena principal: Registry, idioma e save antes de o mundo existir§701
scenes/game.tscnA cena raiz do jogo, com a pilha do §59 montada§593
Testes — 2
tests/architecture_test.gdG1, G3, G4§642
tests/clock_test.gdPasso fixo, fronteiras de fase, 360 s por dia§481,5
Os dois spikes de duas horas que pertencem à Fase 0

(1) PointLight2D com normal map e filtro Nearest, para veres com os teus olhos o que ele faz aos pixels antes de construíres a pilha de luz em cima. (2) A escada de escalas: 1280×720 em ecrãs de 1080p e no Steam Deck, com fractional e com integer, lado a lado. Ambas são decisões que custam semanas se forem descobertas na Fase 5, e duas horas agora.

Critério de saída, verificável

Funcional
Um sprite move-se em X na superfície, desce por uma passagem para o subsolo e sobe para a faixa aérea. As três faixas têm colisão separada e provada por teste.
Determinismo
test_seed_reproduz passa com uma simulação vazia mas com relógio a correr.
CI
Verde nos cinco portões, em menos de 90 segundos.
Orçamento
≈ 63 h com a §68 incluída (54 h só de jogo) de trabalho, somando a coluna acima. A um ritmo de dez horas por semana, cabe no mês — e sobra folga para os dois spikes.
Arte
Sombras de contacto e CanvasModulate por plano a funcionar — o degrau 1 da pilha de iluminação (§22). Três horas, e melhora toda a arte futura.
66 — Fase 1

Núcleo jogável — três meses, sete blocos

Contexto histórico: estudos de mercado, previsões, horas, listas de arranque e estados de implementação desta versão descrevem a fase em que foram escritos. A baseline e a ordem de execução atuais estão na §90; decisões posteriores da §86 prevalecem. Exemplos antigos não são ficheiros para copiar sobre o projeto atual.

Critério de saída: sobreviver 10 dias é possível e não é trivial. Cenário em blocos de cor lisa; personagens já animadas por cima. Ao sábado, arranca o cenário da Fase 2 em paralelo.

BlocoFicheirosCritério de aceitação
Economia mínimasim/systems/economy_system.gd · build_system.gd · data/building_data.gd · state/building_rec.gd · coin_rec.gdLargar uma moeda num slot constrói. Uma plantação produz. O dia de asfixia cai entre 9 e 14 no teste de design.
Tropas e trabalhosim/systems/unit_system.gd · job_system.gd · movement_system.gd · ai/unit_fsm.gdRecrutar um vagabundo com uma moeda; ele vai sozinho para o posto certo e volta ao amanhecer. 300 unidades dentro do orçamento do §63.
Combatesim/systems/combat_system.gd · state/wall_rec.gd · data/wall_data.gd · creature_data.gdSlots de contacto, fila estável, precisão por posição. As quatro tabelas de tempo-até-matar batem certo com o §07, em valor esperado.
A Podridãosim/systems/rot_system.gd · state/rot_state.gd · data/rot_profile.gdNasce no crepúsculo, avança, invoca dentro do orçamento de massa, deixa rasto, recua ao amanhecer. Vê-se chegar do outro lado do ecrã.
Uma noite completascenes/tests/night_test.tscn · tests/sim_harness.gdCorre em headless com delta fixo, dez dias em menos de dez segundos. É o instrumento que vai balancear o jogo inteiro.
Mundo mínimosim/worldgen/world_gen.gd · segment_data.gd · 8 cenas de segmento em greyboxUma região gerada por seed, com paisagem contínua e segmentos montados. A mesma seed dá o mesmo mundo.
Savemigração 1→1, integração com DAWNGravar a meio da noite 9 e retomar continua a mesma noite, com a mesma sequência aleatória.

Os primeiros doze commits, por ordem de dependência

Esqueleto, CI e os cinco portões

Antes de qualquer jogo. Um repositório com CI verde e nenhum código é melhor ponto de partida do que um protótipo sem testes.

Band, camadas de física e a matriz

A invariante I3. Se entrar depois, reescreves.

EventBus com os 61 sinais

Declarados todos de uma vez, mesmo os que só serão usados na Fase 6. Um catálogo incompleto convida a inventar.

RngService e test_seed_reproduz

O teste passa trivialmente agora e vai proteger-te durante dois anos.

GameClock e o teste do ciclo

360 segundos, seis fases, fronteiras a emitir.

csv_to_tres e os primeiros CSV

Unidades e criaturas. A partir daqui, balancear é editar uma folha.

GameState, UnitRec, SaveService

Gravar e carregar um estado vazio. Fazer isto cedo é o que torna o save trivial para sempre.

MovementSystem e UnitView

Um sprite anda. É o critério de saída da Fase 0 e a primeira coisa que se parece com um jogo.

Moeda física e BuildSystem

O Verbo 1. A partir daqui há decisões a tomar no ecrã.

JobSystem e a FSM

As tropas passam a ir sozinhas para onde fazem falta. O jogo começa a jogar-se.

CombatSystem e SimHarness

Os dois juntos, sempre: combate sem instrumento de simulação é balanceamento às cegas.

RotSystem e a primeira noite

O momento em que este projeto deixa de ser um clone do Kingdom.

67 — Aberto

O que esta parte não decide

As decisões em falta estão em docs/QUESTIONS.md, com contexto, proposta e responsável. Não se reabre por omissão uma escolha já tomada: GROUND_LINE, escala do protótipo, catálogo de conteúdo e arquitetura autoritativa online já têm decisões próprias. O estado de execução é diferente da aprovação.

Tema ainda aberto Limite conhecido Referência
Herdeiro e troca voluntária Neutro, caro, escolhido quando pronto; faltam afinação e ganância na troca voluntária Q-196/Q-202/Q-205, UN-32
Quarto imperador Conceito aprovado; nome, números e implementação por completar Q-205, UN-33
Clima e sociedades Direção aprovada; regras temporais, migração e parametrização por completar Q-235, RG-24
Cave e subsolo existente Devem ser compatíveis; falta regra completa de conflito/migração Q-237/Q-245
Afinidades regionais Extensão proposta, sem coeficientes aprovados Q-249, §87
Dificuldade inicial Q-240 rejeita crescimento agressivo; Q-242/Q-243 aprovam ajustes no contexto da proposta §89; RG-06
Ladrões, armazéns e cavernas Contrato de chão existe; logística por categoria e fauna não fechadas Q-244/Q-245
Escudeiro Arqueiro Dispara evoluído, mas afinação e reserva partilhada/própria continuam abertas Q-246
Ações adiadas Não executar só porque foram documentadas Q-081/Q-112/Q-147/Q-191/Q-194
Rede online Servidor autoritativo decidido; infraestrutura, persistência, reconexão e validação ainda por entregar UN-29–UN-31, ADR 0067/0068

Esta lista não substitui o registo completo. A §91 documenta as respostas realmente existentes na consulta; a ausência de uma resposta não significa aprovação. Protótipos reversíveis continuam assinalados como tal.

Parte XI

O dia zero

A §65 diz que ficheiros de jogo escreves no primeiro mês. Esta parte diz o que tem de existir antes deles, resolve as contradições que as dez partes anteriores deixaram abertas, e dá o conteúdo de cada ficheiro pronto a copiar.

68 — Dia zero · novo

O repositório antes da primeira linha de jogo

Contexto histórico: estudos de mercado, previsões, horas, listas de arranque e estados de implementação desta versão descrevem a fase em que foram escritos. A baseline e a ordem de execução atuais estão na §90; decisões posteriores da §86 prevalecem. Exemplos antigos não são ficheiros para copiar sobre o projeto atual.

Os primeiros ficheiros de um projeto não são os que fazem o jogo andar — são os que ficam caros de acrescentar depois. A §65 tratava do jogo e estava certa naquilo que fazia. Faltava-lhe a camada por baixo: dezanove ficheiros, quase todos de menos de trinta linhas, que decidem se o próximo ano é legível ou não.

As três famílias, e porque é que são estas

Decisões que congelam

Entram em todos os ficheiros escritos a seguir: a faixa, o RNG, a escala, o relógio. Não se acrescentam no mês seis — reescrevem-se. São as invariantes do §40 tornadas ficheiro.

Portões que travam a IA

CI, lint, formatador, checklist de revisão. O teu modelo é a IA escreve, tu revês: o que decide se ele sobrevive não é a qualidade dos prompts, é o custo de rever. Portões mantêm esse custo constante.

Referências que o agente lê

AGENTS.md, docs/design/, ADRs. Regra sem exceção: o que não existe, o agente inventa — e inventa diferente em cada sessão. Um caminho citado no contrato e ausente do disco é pior do que não ter contrato.

O achado desta revisão — as referências penduradas

O CLAUDE.md do §28 manda o agente ler docs/design/, escrever em docs/QUESTIONS.md e docs/ASSETS_TODO.md, seguir tarefas em docs/backlog/<id>.md e obedecer a docs/adr/0007-save-security.md. Nenhum destes caminhos é criado por nenhuma das 23 linhas da §65 nem por nenhuma das dez tarefas F0 da §34, e o dossiê — a fonte de docs/design/ — é este ficheiro HTML.

O que acontece na prática, à terceira sessão: o agente não encontra docs/design/05-loop.md, escreve a sua própria versão do loop a partir do que consegue inferir do código, e a partir daí a spec vive em dois sítios que divergem em silêncio. Custo de fechar isto: quarenta minutos e um script (§69). Custo de não o fechar: descobri-lo no mês quatro, com o código já escrito em cima da versão errada.

O manifesto do dia zero, por ondas

Pela ordem em que se criam. A coluna da direita diz o que a v5 já tinha: falta é ficheiro novo, §70 é caminho em conflito resolvido na secção seguinte.

FicheiroPorque é dia zeroEstado na v5h
Onda 1 — antes de qualquer código. O que suja todos os commits futuros se faltar no primeiro.
.gitignoreSem ele, o .godot/ entra no commit inicial e todos os diffs seguintes trazem milhares de linhas de cache — e tu deixas de os lerfalta0,25
.gitattributesLFS para *.aseprite e art/**/*.png, eol=lf em tudo, addons/ fora do LFS✓ §650,5
README.mdComo correr, testar e exportar. Escreve-se em três minutos e é o que lês daqui a seis meses, ou outra pessoa lê no dia em que entrarfalta0,5
LICENSE + NOTICE.mdCódigo teu; arte com todos os direitos reservados; e as licenças de terceiros listadas (gdUnit4, GodotSteam, LimboAI, tipos de letra). Antes do primeiro GIF público, não depoisfalta0,25
.editorconfigTabulações no .gd, espaços no resto. Elimina a classe inteira de diffs que são só espaço em brancofalta0,1
AGENTS.md + CLAUDE.mdUm contrato só, lido por qualquer agente. O CLAUDE.md passa a três linhas a apontar para elefalta0,5
docs/design/**A spec que o agente lê a cada sessão. Gerada deste dossiê por tools/split_dossie.py, uma secção por ficheirofalta1,5
docs/adr/0000-template.mdMais os sete primeiros ADRs. O 0007 já é citado como regra absoluta no contratoparcial1
docs/QUESTIONS.md
docs/ASSETS_TODO.md
docs/backlog/
Os três destinos que o contrato manda usar. Vazios, com um cabeçalho a dizer o que lá vai — é o suficiente para o agente acertarfalta0,25
Onda 2 — os portões. Antes da primeira linha de lógica, porque é o que te deixa aceitar código que não leste.
project.godotAs definições do §19, copiadas tal e qual✓ §651
.godot-versionUma linha: 4.6-stable. Fixa a versão no CI e na tua máquina — um patch do motor a meio da Fase 3 não pode mudar um resultado de testefalta0,1
addons/gdUnit4/Vendorizado no repo, versão fixa, fora do LFSparcial0,5
.github/workflows/ci.ymlOs cinco portões do §64 — mais o passo --import, sem o qual a suite falha sempre em checkout frio e tu perdes meia manhã a perceber porquêparcial3
.gdlintrcmax-file-lines: 250. Transforma a regra mais valiosa do §28 num portão de CI em vez de uma boa intençãofalta0,5
.github/PULL_REQUEST_TEMPLATE.mdNove caixas. É o ficheiro de dez linhas com mais alavancagem do repositório, porque o teu modelo inteiro é revisãofalta0,25
run_tests.shUm comando, usado por ti e pelo agente. Um sítio para mudar quando o gdUnit4 mudar de caminhofalta0,25
export_presets.cfgE um export a correr no dia 1, com um sprite no ecrã. A primeira falha de export deve custar uma tarde no mês 1, não uma semana no mês 20falta1
tools/csv_to_tres.gd
tools/lint_sim.gd
Gerador de dados e portões G1/G2/G4✓ §656
data/source/clock.csv
data/source/units.csv
A ferramenta existia sem input. Duas linhas de CSV bastam para provar o circuito CSV → .tres → jogo no dia 1falta1
Onda 3 — os contratos congelados. Tipos e serviços que todo o código posterior assume.
src/sim/band.gdEnum, planos e GROUND_LINE. Na simulação, não em core/ — ver §70, é o conflito que chumbava o portão G1 no primeiro dia§700,5
src/core/event_bus.gdOs 61 sinais do §46, fila e flush✓ §653
src/core/rng_service.gdOs seis fluxos, snapshot e restore✓ §652
src/sim/game_clock.gd
src/core/clock_service.gd
O relógio puro e o autoload de trinta linhas que o faz andar. São dois ficheiros, não um — §70§703,5
src/sim/data/clock_data.gdO Resource que o construtor do GameClock recebe no §30. Sem ele, o código de arranque do dossiê não compilafalta0,5
src/core/registry.gd
src/core/save_service.gd
Carregamento por StringName; escrita atómica com rotação de três slots✓ §656
src/sim/state/game_state.gd
src/sim/state/unit_rec.gd
src/sim/data/unit_data.gd
A estrutura do §45 e o Resource do §44, ainda quase vazios✓ §654,5
Onda 4 — o primeiro píxel. Só agora, e só o suficiente para o critério de saída.
scenes/boot.tscnA cena principal do project.godot: carrega Registry, idioma e save, e só depois instancia game.tscn. Está na árvore do §41 e faltava na listafalta1
scenes/game.tscnA cena raiz do jogo, com a pilha do §59 montada✓ §653
src/world/band_layers.gd
src/world/camera_rig.gd
src/world/parallax_stack.gd
Faixas e matriz de colisão do §53, câmara, seis camadas de parallax✓ §659
src/actors/unit_view.gd
shaders/palette_lut.gdshader
Cinco slots empilhados; o shader que faz quatro trabalhos✓ §658
art/source/.gdignoreFicheiro vazio. Impede o Godot de tentar importar .aseprite e de reimportar tudo a cada checkout de LFSfalta0,1
tests/architecture_test.gd
tests/clock_test.gd
scenes/tests/bands.tscn
G1, G3, G4, o relógio, e a cena que prova o critério de saída✓ §654,5
As duas regras do dia zero

1 · Nenhum commit de lógica antes de um push verde. O primeiro commit de código do projeto é um teste trivial que passa no CI. Tudo o que vem depois herda um portão que funciona, e nunca tens de reconstruir a confiança no CI no meio de uma fase.

2 · O que o contrato cita, existe. Antes de escreveres AGENTS.md, cria os ficheiros que ele nomeia — mesmo vazios, mesmo com uma linha só a dizer para que servem. Um caminho citado e ausente é um convite a que o agente decida por ti.

O que isto acrescenta ao orçamento

Trabalho novo
≈ 9 h, das quais 4 h são o split do dossiê e o primeiro export — as duas que mais tempo poupam a jusante
Fase 0 revista
≈ 63 h, contra as ≈ 54 h da §65
Calendário honesto
A dez horas por semana são seis semanas, não quatro. A §65 já estava otimista antes desta secção; é melhor saberes agora do que na quinta semana
Critério de saída
Não muda. Continua a ser um sprite anda nas três faixas e o CI está verde — mais e o repositório exporta um executável
69 — Arranque · novo

Os ficheiros de dia zero, prontos a copiar

Contexto histórico: estudos de mercado, previsões, horas, listas de arranque e estados de implementação desta versão descrevem a fase em que foram escritos. A baseline e a ordem de execução atuais estão na §90; decisões posteriores da §86 prevalecem. Exemplos antigos não são ficheiros para copiar sobre o projeto atual.

Onze ficheiros, quase todos abaixo das trinta linhas. Copia-os por esta ordem, faz um commit por onda, e o repositório fica com todos os portões antes de existir uma linha de lógica de jogo. O último — o split do dossiê — é o que fecha as referências penduradas da §68.

1 · .gitignore

# ---- Godot 4 ----
.godot/                 # cache do editor: nunca vai para o repositorio
/android/
/build/
/export/
*.translation           # gerado de data/i18n/*.csv

# ---- Arte gerada ----
# A fonte esta em art/source/ (LFS). art/export/ e produzido pelo Aseprite Wizard.
art/export/
!art/export/_placeholder/
!art/export/_placeholder/**

# ---- Dados gerados por tools/csv_to_tres.gd ----
# ADR 0004: os .tres SAO versionados — o export precisa deles e o CI nao tem de
# correr a ferramenta. Se algum dia inverteres a decisao, descomenta:
# data/**/*.tres
# !data/source/**

# ---- Segredos ----
# O export_presets.cfg E versionado. Palavras-passe de keystore e credenciais
# de assinatura ficam em variaveis de ambiente / segredos do GitHub, nunca aqui.
*.keystore
*.p12
.env

# ---- Sistema ----
.DS_Store
Thumbs.db
*.tmp

2 · .gitattributes

Uma armadilha conhecida: em .gitattributes ganha a última regra que casa, não a primeira. A linha dos addons/ tem de vir depois das de LFS, ou os ícones do gdUnit4 acabam a gastar a tua quota.

* text=auto eol=lf

# ---- Git LFS, desde o primeiro commit (§28) ----
*.aseprite      filter=lfs diff=lfs merge=lfs -text
*.ase           filter=lfs diff=lfs merge=lfs -text
art/**/*.png    filter=lfs diff=lfs merge=lfs -text
audio/**/*.ogg  filter=lfs diff=lfs merge=lfs -text
audio/**/*.wav  filter=lfs diff=lfs merge=lfs -text

# Os addons trazem PNGs pequenos e nao devem ir para LFS.
# Em .gitattributes a ultima regra que casa e a que vale — por isso vem depois.
# v5.2: 'text' forcado corrompia os PNG dos addons; '!' repoe o valor por omissao (C-05, §72)
addons/**       !filter !diff !merge text=auto

# Ficheiros do Godot sao texto: tem de dar diff legivel numa revisao
*.gd    text eol=lf
*.tres  text eol=lf
*.tscn  text eol=lf
*.godot text eol=lf

3 · AGENTS.md — o contrato

# Empire — contrato do agente

Vale para qualquer agente. O CLAUDE.md tem tres linhas a apontar para aqui.
Se leres um unico ficheiro deste repositorio, e este.

## O que e
Kingdom-builder 2D em pixel art. Godot 4.6, GDScript. Mundo 1.5D com tres
faixas verticais: AERIAL, SURFACE, UNDERGROUND.

## Onde esta a verdade
- Design e especificacao: docs/design/ — um ficheiro por seccao, gerado do
  dossie por tools/split_dossie.py. NAO editar a mao.
- Decisoes tomadas, e porque: docs/adr/
- A tarefa desta sessao: docs/backlog/<id>.md
- Duvida que a spec nao cobre: escreve-a em docs/QUESTIONS.md. Nao decidas tu.
- Asset em falta: placeholder de cor lisa em art/export/_placeholder/ e uma
  linha em docs/ASSETS_TODO.md.

## Regras absolutas
1. Maximo 250 linhas por script. O gdlint chumba — nao e um conselho.
2. src/sim/ nao importa de nenhuma camada acima e nao usa Node, Node2D nem
   qualquer classe de cena. E logica pura. Posicao entra como parametro.
3. Balanceamento vive em data/**/*.tres, gerado de data/source/*.csv.
   Nunca escrevas um numero de balanceamento dentro de um script.
4. Toda a funcao publica de src/sim/ tem teste em tests/. O teste vem primeiro.
5. Tipos sempre anotados: func f(x: int) -> void. Sem excecoes.
6. Aleatoriedade so pelo RngService, com fluxo nomeado. Nunca randi, randf
   nem randomize fora de src/core/rng_service.gd.
7. Sinais: so os que existem no catalogo (docs/design/46-*.md).
8. Sem dependencias novas sem uma ADR em docs/adr/.
9. Nao toques em art/ nem em audio/.

## Vocabulario — codigo em ingles, dossie em portugues
Band -> faixa (AERIAL|SURFACE|UNDERGROUND) · Rot -> A Podridao ·
People -> povo (Enramados, Portuarios, Fenda, Horta, Fornalha, SobRaiz) ·
Craft -> oficio (builder, smith, cook, diplomat, bard) · Boost -> impulso ·
Greed -> ganancia (0-100) · RoyalSeed -> Semente Real · Favor -> favor

## Caminhos canonicos — se dois documentos divergirem, esta tabela manda
src/sim/band.gd             Band          enum, planos de imagem, GROUND_LINE
src/sim/game_clock.gd       GameClock     relogio puro (RefCounted)
src/core/clock_service.gd   ClockService  autoload; faz o relogio andar
src/world/band_layers.gd    BandLayers    camadas e mascaras de fisica
src/world/camera_rig.gd     CameraRig     camara unica
scenes/boot.tscn                          cena principal do project.godot

## Ciclo de trabalho
1. Le docs/backlog/<id>.md e as seccoes de docs/design/ que ele cita.
2. Escreve ou atualiza o teste em tests/. Confirma que falha.
3. Implementa o minimo que o faz passar.
4. Corre ./run_tests.sh
5. So com tudo verde, propoe o diff, com a checklist do PR preenchida.

## O que nao fazer
- Nao inventes mecanicas. Se a spec nao cobre o caso, escreve a pergunta em
  docs/QUESTIONS.md e implementa a opcao mais simples e mais reversivel.
- Nao refatores fora do ambito da tarefa.
- Nao escrevas comentarios que repetem o codigo.
- Nao uses load() em ficheiros de save. Ver docs/adr/0007-save-security.md
- Nao mudes um numero em data/ para fazer um teste de design passar. Um teste
  de design a falhar e informacao, nao um obstaculo.
E o CLAUDE.md passa a isto
# Empire

Este repositorio usa **AGENTS.md** como contrato unico do agente.
Le AGENTS.md antes de qualquer tarefa — nao ha aqui nenhuma regra que
nao esteja la.
Porque é AGENTS.md e não CLAUDE.md

O contrato é do repositório, não da ferramenta. Um ficheiro neutro com um ponteiro de três linhas por cima deixa-te trocar de assistente a meio de uma fase — ou usar dois ao mesmo tempo, um a escrever e outro a rever — sem reescrever nada nem manter duas cópias que divergem. A partir daí, a diferença entre ferramentas passa a ser de execução e de preço, que é onde deve estar, e nunca de regras do projeto.

4 · .github/workflows/ci.yml

Três coisas que a versão do §31 não tinha: a versão do motor fixada, o passo --import, e o export a correr em cada push.

name: ci
on: [push, pull_request]

env:
  GODOT_VERSION: 4.6-stable

jobs:
  testes:
    runs-on: ubuntu-latest
    timeout-minutes: 10
    steps:
      - uses: actions/checkout@v4
        with:
          lfs: false                      # a suite nao precisa de arte

      - name: Godot ${{ env.GODOT_VERSION }}
        run: |
          BASE=https://github.com/godotengine/godot-builds/releases/download
          F=Godot_v${GODOT_VERSION}_linux.x86_64
          curl -sSLo godot.zip $BASE/${GODOT_VERSION}/${F}.zip
          unzip -q godot.zip && chmod +x $F && sudo mv $F /usr/local/bin/godot

      # Sem este passo a suite falha sempre em checkout frio: o Godot precisa
      # de importar os recursos uma vez antes de conseguir abrir uma cena.
      - name: Importar recursos
        run: godot --headless --import --path . || true

      - name: G2 · nenhum RNG solto fora do RngService
        run: |
          ! grep -rnE '\b(randi|randf|randomize|randi_range|randf_range)\s*\(' \
              src/ --include='*.gd' | grep -v 'src/core/rng_service.gd'

      - name: G1 G3 G4 G5 · suite gdUnit4
        # v5.2: o gdUnit4 6.x sai com 103 em --headless sem esta opcao (C-03, §72)
        run: godot --headless --path . -s addons/gdUnit4/bin/GdUnitCmdTool.gd --ignoreHeadlessMode -a tests

      - name: Formato e limite de 250 linhas
        run: |
          pipx install "gdtoolkit==4.*"
          gdformat --check src/ tests/ tools/
          gdlint src/ tests/

      # v5.2: sem templates o export falha sempre; so os de Linux, em cache (C-04, §72)
      - name: Cache dos templates de export
        uses: actions/cache@v4
        with:
          path: ~/.local/share/godot/export_templates
          key: godot-templates-${{ env.GODOT_VERSION }}-linux

      - name: Templates de export (so Linux)
        run: |
          T=~/.local/share/godot/export_templates/${GODOT_VERSION/-/.}
          if [ ! -f "$T/linux_debug.x86_64" ]; then
            mkdir -p "$T"
            BASE=https://github.com/godotengine/godot-builds/releases/download
            curl -sSLo t.tpz $BASE/${GODOT_VERSION}/Godot_v${GODOT_VERSION}_export_templates.tpz
            unzip -q -j t.tpz templates/linux_debug.x86_64 templates/linux_release.x86_64 \
              templates/version.txt -d "$T"
            rm t.tpz
          fi

      - name: Export do Linux ainda arranca
        run: |
          mkdir -p build
          godot --headless --path . --export-debug "Linux" build/empire.x86_64
          test -s build/empire.x86_64 && test -s build/empire.pck
          cd build && ./empire.x86_64 --headless --quit-after 30
O passo --import — meia manhã perdida, uma vez por projeto

Num checkout frio não existe .godot/, e portanto não existe nenhum recurso importado. Qualquer teste que abra uma cena falha com um erro que não menciona importação nenhuma. Toda a gente perde a mesma meia manhã a descobrir isto; tu já não tens de a perder.

5 · run_tests.sh

#!/usr/bin/env bash
# O unico comando de testes. Usa-o tu e usa-o o agente: assim ha um so sitio
# para mudar quando o gdUnit4 mudar de caminho.
set -euo pipefail
GODOT="${GODOT:-godot}"
"$GODOT" --headless --import --path . >/dev/null 2>&1 || true
# v5.2: o gdUnit4 6.x recusa --headless sem --ignoreHeadlessMode (sai com 103). C-03, §72
"$GODOT" --headless --path . -s addons/gdUnit4/bin/GdUnitCmdTool.gd --ignoreHeadlessMode -a tests "$@"

6 · .github/PULL_REQUEST_TEMPLATE.md

## Tarefa
docs/backlog/<id>.md

## Checklist — le-se antes do diff, nao depois
- [ ] Nenhum ficheiro passa das 250 linhas
- [ ] Nada em src/sim/ importa de cima nem usa Node / Node2D
- [ ] Zero numeros de balanceamento no codigo (estao em data/)
- [ ] Todas as funcoes publicas anotadas: func f(x: int) -> void
- [ ] Ha teste novo, e ele falhava antes desta alteracao
- [ ] Os sinais usados existem no catalogo da §46
- [ ] RNG so pelo RngService, com fluxo nomeado
- [ ] Nada refatorado fora do ambito da tarefa
- [ ] Se surgiu uma duvida de design, esta em docs/QUESTIONS.md

## O que este PR NAO faz
<uma linha — e o campo que impede tres tarefas no mesmo diff>

7 · docs/adr/0000-template.md

# ADR NNNN — <titulo curto na forma de decisao>

- Estado: proposta | aceite | substituida por ADR NNNN
- Data: AAAA-MM-DD
- Seccao do dossie: §NN

## Contexto
O que era verdade quando esta decisao foi tomada. Restricoes reais, nao desejos.

## Decisao
Uma frase no presente e no imperativo. "O relogio e puro; o autoload so o faz andar."

## Alternativas consideradas
O que foi rejeitado, e a razao concreta.

## Consequencias
O que fica mais facil. O que fica mais dificil. O que passa a ser proibido.
Se esta decisao for revertida, o que tem de ser reescrito.

E os sete primeiros, a escrever na Fase 0 — o 0007 já é citado como regra absoluta no contrato:

ADRDecisãoVem de
0001Escala e escada de resoluções: fractional por omissão, interruptor para integer§19
0002Três faixas com camadas de física separadas, desde a primeira entidade§53
0003Balanceamento em CSV, gerado para .tres§44
0004Os .tres gerados são versionadosnovo, §69
0005boot.tscn é a cena principal; game.tscn é instanciada por ela§70
0006O relógio é puro; o autoload só o faz andar§70
0007O save nunca usa load(): só tipos base, validados campo a campo§62

8 · .editorconfig e .gdlintrc

root = true

[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true

[*.gd]
indent_style = tab          # convencao do GDScript; o gdformat assume-a
indent_size = 4

[*.{yml,yaml,json,md,csv,cfg}]
indent_style = space
indent_size = 2
# .gdlintrc — gdtoolkit 4.x
max-line-length: 100
max-file-lines: 250            # a regra do §28 deixa de ser boa intencao
max-public-methods: 20
function-arguments-number: 6
# v5.2: '_?' aceita privados (_init, _durations), que o GameClock do §30 usa (C-02, §72)
function-name: '(_on_)?_?[a-z][a-z0-9]*(_[a-z0-9]+)*'
class-variable-name: '_?[a-z][a-z0-9]*(_[a-z0-9]+)*'
A linha que vale a secção inteira

max-file-lines: 250. A regra mais valiosa do §28 — a que faz um agente escrever código revisível — deixa de depender de alguém se lembrar dela e passa a chumbar no CI. Custo: uma linha.

9 · Os dois ficheiros de uma linha

.godot-version          ->  4.6-stable
art/source/.gdignore    ->  (ficheiro vazio)

O .gdignore impede o Godot de tentar importar .aseprite e de reimportar a pasta inteira a cada checkout de LFS. O .godot-version fixa o motor: sem ele, um patch do Godot a meio da Fase 3 muda um resultado de teste e passas dois dias à procura de um bug que não existe.

10 · src/sim/data/clock_data.gd e o primeiro CSV

# src/sim/data/clock_data.gd
# O Resource que o construtor do GameClock recebe (§30) e que a v5 nao criava.
class_name ClockData
extends Resource

## Alvorada, manha, meio-dia, tarde, crepusculo, noite — em segundos reais.
@export var phase_durations: PackedFloat32Array = PackedFloat32Array(
	[15.0, 85.0, 40.0, 85.0, 30.0, 105.0]
)

## Redundante de proposito: o teste compara com a soma e chumba se divergirem.
@export var day_seconds: float = 360.0

@export var tick_hz: int = 30
id,dawn,morning,noon,afternoon,dusk,night,tick_hz
default,15,85,40,85,30,105,30

Duas linhas de CSV chegam para provar o circuito inteiro — data/source/clock.csv → tools/csv_to_tres.gd → data/economy/clock.tres → ClockService — no primeiro dia, em vez de o descobrires partido quando tiveres sete folhas de cálculo para converter.

11 · tools/split_dossie.py

O ficheiro que fecha a maior lacuna da §68: transforma este dossiê nos 75 ficheiros de docs/design/ que o contrato manda o agente ler. Só biblioteca padrão, idempotente, e volta a correr sempre que editares o dossiê. Guarda o HTML em docs/dossie.html e corre python3 tools/split_dossie.py docs/dossie.html docs/design.

#!/usr/bin/env python3
"""Parte o dossie HTML em docs/design/NN-slug.md, um ficheiro por seccao.

Uso:  python3 tools/split_dossie.py docs/dossie.html docs/design
So usa a biblioteca padrao. Idempotente: reescreve a pasta de destino.
"""
import html
import os
import re
import sys
import unicodedata

TAGS_FORA = ("script", "style", "svg", "figure", "nav", "footer")


def slug(txt: str) -> str:
    txt = unicodedata.normalize("NFKD", txt).encode("ascii", "ignore").decode()
    txt = re.sub(r"[^a-zA-Z0-9]+", "-", txt).strip("-").lower()
    return re.sub(r"-{2,}", "-", txt)[:48]


def texto(frag: str) -> str:
    frag = re.sub(r"<br\s*/?>", "\n", frag)
    frag = re.sub(r"<[^>]+>", "", frag)
    return html.unescape(frag).strip()


def linha_tabela(celulas) -> str:
    return "| " + " | ".join(c.replace("|", "\\|") for c in celulas) + " |"


def tabela_md(frag: str) -> str:
    linhas, cabecalho = [], None
    for tr in re.findall(r"<tr\b.*?</tr>", frag, re.S):
        celulas = [
            " ".join(texto(c).split())
            for c in re.findall(r"<t[hd]\b.*?</t[hd]>", tr, re.S)
        ]
        if not celulas:
            continue
        if cabecalho is None and "<th" in tr:
            cabecalho = celulas
            linhas.append(linha_tabela(celulas))
            linhas.append(linha_tabela(["---"] * len(celulas)))
        else:
            if cabecalho and len(celulas) < len(cabecalho):
                celulas += [""] * (len(cabecalho) - len(celulas))
            linhas.append(linha_tabela(celulas))
    return "\n".join(linhas) + "\n"


def bloco(frag: str) -> str:
    """Converte um pedaco de HTML do dossie em Markdown."""
    saida = []
    padrao = re.compile(
        r"<(h4|h5|p|ul|ol|pre|table|dl)\b[^>]*>.*?</\1>"
        r"|<div class=\"(note|kv|grid|steps)[^\"]*\".*?</div>\s*(?=<|$)",
        re.S,
    )
    for m in padrao.finditer(frag):
        bruto = m.group(0)
        tag = m.group(1) or m.group(2)
        if tag == "h4":
            saida.append("## " + texto(bruto))
        elif tag == "h5":
            saida.append("### " + texto(bruto))
        elif tag == "pre":
            corpo = re.sub(r"</?(code|span)[^>]*>", "", bruto)
            corpo = html.unescape(re.sub(r"</?pre[^>]*>", "", corpo)).strip("\n")
            saida.append("```gdscript\n" + corpo + "\n```")
        elif tag == "table":
            saida.append(tabela_md(bruto))
        elif tag in ("ul", "ol"):
            itens = re.findall(r"<li\b.*?</li>", bruto, re.S)
            marca = "- " if tag == "ul" else "1. "
            saida.append("\n".join(marca + " ".join(texto(i).split()) for i in itens))
        elif tag in ("kv", "dl"):
            pares = re.findall(r"<dt\b.*?</dt>\s*<dd\b.*?</dd>", bruto, re.S)
            saida.append(
                "\n".join(
                    "- **%s** — %s"
                    % (
                        " ".join(texto(re.search(r"<dt.*?</dt>", p, re.S).group(0)).split()),
                        " ".join(texto(re.search(r"<dd.*?</dd>", p, re.S).group(0)).split()),
                    )
                    for p in pares
                )
            )
        elif tag == "note":
            rotulo = re.search(r'class="lbl">(.*?)</span>', bruto, re.S)
            corpo = re.sub(r'<span class="lbl">.*?</span>', "", bruto, flags=re.S)
            linhas = [texto(p) for p in re.findall(r"<p\b.*?</p>", corpo, re.S)]
            titulo = texto(rotulo.group(1)) if rotulo else "Nota"
            saida.append("> **%s**\n>\n" % titulo + "\n>\n".join("> " + l for l in linhas))
        elif tag == "grid":
            for cel in re.findall(r'<div class="cell">.*?</div>\s*(?=<div|$)', bruto, re.S):
                h6 = re.search(r"<h6>(.*?)</h6>", cel, re.S)
                saida.append(
                    ("**%s** — " % texto(h6.group(1)) if h6 else "")
                    + " ".join(texto(re.sub(r"<h6>.*?</h6>", "", cel, flags=re.S)).split())
                )
        elif tag == "steps":
            for i, st in enumerate(re.findall(r'<div class="step">.*?</div>', bruto, re.S), 1):
                saida.append("%d. %s" % (i, " ".join(texto(st).split())))
        else:  # p
            t = texto(bruto)
            if t:
                saida.append(t)
    return "\n\n".join(x for x in saida if x.strip())


def main(origem: str, destino: str) -> int:
    doc = open(origem, encoding="utf-8").read()
    for t in TAGS_FORA:
        doc = re.sub(r"<%s\b.*?</%s>" % (t, t), "", doc, flags=re.S)
    os.makedirs(destino, exist_ok=True)
    indice, n = [], 0
    for m in re.finditer(r'<section id="(s\d+|trk)"[^>]*>(.*?)</section>', doc, re.S):
        corpo = m.group(2)
        num = re.search(r'class="sec-no">(.*?)</span>\s*<h3>', corpo, re.S)
        tit = re.search(r"<h3>(.*?)</h3>", corpo, re.S)
        if not tit:
            continue
        titulo = " ".join(texto(tit.group(1)).split())
        etiqueta = " ".join(texto(num.group(1)).split()) if num else m.group(1)
        ident = etiqueta.split("—")[0].strip().replace("§", "")
        if not ident.isdigit():
            ident = re.sub(r"\D", "", m.group(1)) or "99"
        nome = "%s-%s.md" % (ident.zfill(2), slug(titulo))
        md = "# %s · %s\n\n_Gerado de %s — nao editar a mao; edita o dossie e volta a correr._\n\n%s\n" % (
            etiqueta,
            titulo,
            os.path.basename(origem),
            bloco(corpo),
        )
        open(os.path.join(destino, nome), "w", encoding="utf-8").write(md)
        indice.append("- [%s · %s](%s)" % (etiqueta, titulo, nome))
        n += 1
    open(os.path.join(destino, "INDEX.md"), "w", encoding="utf-8").write(
        "# Especificacao do Empire\n\nGerado de %s por tools/split_dossie.py.\nA fonte unica e o dossie; estes ficheiros existem para o agente os ler.\n\n%s\n"
        % (os.path.basename(origem), "\n".join(indice))
    )
    print("%d seccoes escritas em %s" % (n, destino))
    return 0


if __name__ == "__main__":
    sys.exit(main(*(sys.argv[1:3] or ["docs/dossie.html", "docs/design"])))
A regra que isto impõe

docs/design/ é gerado, nunca editado à mão — o cabeçalho de cada ficheiro di-lo, para o agente ler. A fonte única continua a ser este dossiê. Quando mudares uma regra de design, mudas aqui, voltas a correr o script, e o commit mostra exatamente que secções mudaram: o diff da spec passa a ser revisível como o do código.

70 — Correções · novo

Seis contradições que as dez partes anteriores deixaram abertas

Um documento de setenta secções escrito em camadas contradiz-se em sítios pequenos. Nenhuma destas é grave enquanto ninguém escreve código — todas se tornam duas implementações do mesmo conceito assim que alguém escreve. Aqui ficam resolvidas, com a razão e não só com a escolha.

Onde divergeA contradiçãoDecisão
O relógio
§30 · §41 · §48 · §65
A §30 escreve src/sim/game_clock.gd, puro, extends RefCounted. A §41 e a §65 põem src/core/game_clock.gd na lista de autoloads. Um autoload é um Node. São dois ficheiros. src/sim/game_clock.gd é o relógio: puro, dono do estado, testável em milissegundos. src/core/clock_service.gd é um autoload de trinta linhas que chama tick(delta) no _physics_process e traduz o que ele devolve em sinais do EventBus. Zero lógica.
A faixa
§34 · §47 · §65
A §47 e a §65 põem Band em src/core/; a tarefa F0-05 da §34 põe-no em src/world/. Mas o UnitData (§19) declara band: Band.Kind e o RotSystem (§30) lê constantes de Band — ambos dentro de src/sim/. src/sim/band.gd. Em core/ ou em world/, a simulação importaria de uma camada acima e o portão G1 chumbava no primeiro dia. As camadas de física ficam onde já estavam: src/world/band_layers.gd.
A linha do solo
§30 · §47
O código do §30 usa Band.GROUND_Y; o §47 define GROUND_LINE. Dois nomes para o mesmo número — exatamente o que a regra do vocabulário do §28 existe para evitar. GROUND_LINE, corrigido na §30. O valor (517) continua em aberto até ao greybox, como diz a §67 — o nome é que não pode continuar a ser dois.
A câmara
§34 · §41 · §65
camera_rig.gd na §65, camera.gd na tarefa F0-08, CameraRig na árvore da §41. src/world/camera_rig.gd, classe CameraRig. É rig e não câmara porque leva limites, lookahead e arredondamento a píxel inteiro — não é o nó do Godot.
O arranque
§41 · §65
scenes/boot.tscn está na árvore da §41 e não está em nenhuma das 23 linhas da §65, que faz de game.tscn a cena raiz. boot.tscn é a cena principal do project.godot. Carrega o Registry, o idioma e o save, decide que game.tscn instanciar, e só depois entrega. Uma hora na Fase 0; poupa a reescrita do arranque quando o save entrar na Fase 1.
A árvore de data/
§19 · §41
A §19 tem waves/; a §41 não tem, e acrescenta source/, crafts/, mounts/, segments/ e rot/. A árvore da §41 é a canónica. Não há waves/: A Podridão substituiu as ondas (§05) e a §19 é anterior a essa decisão.
A regra que decide as próximas — porque vão aparecer mais

Um tipo ou uma constante que a simulação lê vive na simulação. Um Node que a simulação nunca vê vive em core/ ou acima. Esta única frase resolve as seis linhas acima e todas as que vierem, porque é a invariante I1 (§40) traduzida em pergunta operacional: quem precisa disto mais abaixo na pilha?

O corolário prático: quando hesitares entre core/ e sim/, escreve o teste primeiro. Se o teste tem de abrir o Godot para correr, puseste a coisa no sítio errado.

A tabela canónica — cola isto no AGENTS.md

CaminhoClasseCamadaPode importar de
src/sim/band.gdBandsimulaçãonada
src/sim/game_clock.gdGameClocksimulaçãoClockData
src/sim/data/*.gd*DatasimulaçãoResource, Band
src/sim/state/*.gdGameState, UnitRec…simulaçãosim/
src/sim/systems/*.gdEconomySystem…simulaçãosim/
src/core/clock_service.gdClockService (autoload)núcleosim/
src/core/event_bus.gdEventBus (autoload)núcleonada
src/core/rng_service.gdRngService (autoload)núcleonada
src/core/registry.gd
src/core/save_service.gd
Registry, SaveService (autoloads)núcleosim/
src/world/band_layers.gdBandLayersapresentaçãocore/, sim/
src/world/camera_rig.gdCameraRigapresentaçãocore/, sim/
src/actors/*.gdUnitView, KingView…apresentaçãocore/, sim/
scenes/boot.tscn— (cena principal)cenastudo
O teste que torna esta tabela executável

O tests/architecture_test.gd já defende o G1 (nada em src/sim/ toca em nós). Acrescenta-lhe vinte linhas que percorrem src/sim/**/*.gd à procura de preload, load ou class_name de camadas acima, e a tabela deixa de depender de alguém a ler esta secção. É o mesmo princípio do max-file-lines da §69: uma regra que não chumba no CI não é uma regra, é uma preferência.

Parte XII

A implementação

A Parte XI dizia o que tinha de existir antes da primeira linha de jogo. Agora existe. Esta parte não acrescenta teoria nenhuma: é o índice do que foi criado, o que a implementação encontrou de errado neste dossiê, e o que continua à espera de uma decisão tua.

71 — Índice · novo

O repositório que já existe, pasta a pasta

Contexto histórico: estudos de mercado, previsões, horas, listas de arranque e estados de implementação desta versão descrevem a fase em que foram escritos. A baseline e a ordem de execução atuais estão na §90; decisões posteriores da §86 prevalecem. Exemplos antigos não são ficheiros para copiar sobre o projeto atual.

Inventário histórico — os números desta secção são os de 11/09/2026. A tabela abaixo fica como registo do que a v5.2 tinha, e não se atualiza: 23 tabelas, 120 recursos, 23 testes, 75 ficheiros de especificação, 550 propostas. O estado de hoje está medido em docs/recovery/validation.json, contado em docs/recovery/RETOMADA.md, e mostrado no painel ★ Estado desta página, que o volta a contar a cada construção. Onde os dois discordarem, manda o medido.

As ondas 1 e 2 da §68, e tudo o que o relatório do que faltava pedia, estão num repositório que abre no Godot 4.6: 23 testes (dois saltados, com a razão escrita), o export de Linux a arrancar, e os números deste dossiê em 23 tabelas de onde saem 120 recursos .tres. O que o dossiê não dava foi proposto e marcado — 550 valores, 265 deles na fatia vertical. Nada foi decidido em silêncio.

Pasta a pasta

PastaO que temVem deEstado
RaizAGENTS.md + CLAUDE.md, README.md, .gitignore, .gitattributes, .editorconfig, .gdlintrc, .godot-version, LICENSE, NOTICE.md, LEGAL.md, project.godot, export_presets.cfg, run_tests.sh§68, ondas 1 e 2 · §69Existe e corre
.github/workflows/ci.yml — os cinco portões do §64, mais dois passos da v5.2: dados em sincronia com o dossiê, e docs/design/ igual ao gerado · PULL_REQUEST_TEMPLATE.md§64 · §69Existe; corre no GitHub quando houver remoto
data/source/ → data/**/*.tres23 tabelas e o registo _tables.csv; 120 .tres gerados e versionados. As colunas _src e _proposed dizem de onde vem cada número e o que ainda é proposta§44 · §06 a §17Existe; csv_to_tres --check sem diferenças
data/i18n/strings.csv207 chaves de texto, PT-PT e EN, com contexto e limite de caracteres§27Existe
src/sim/band.gd e 23 recursos de definição — as doze classes da §44 e mais onze que as tabelas pediram (relógio, postos de trabalho, ganância, impulsos, segredos, diários, fauna, companheiros…)§44 · §47 · §70Existe; o resto da simulação são os tickets F0 e F1
scenes/boot.tscnA cena principal do dia zero: céu, corte de solo, um placeholder de escala 2 com sombra de contacto em cima da GROUND_LINE§59 · §70Existe — placeholder, não jogo
tools/csv_to_tres.gd, csv_codec.gd, lint_sim.gd, lint_rules.gd, split_dossie.py, check_dossie_vs_csv.py, content_report.py, export_aseprite.sh§41 · §64 · §69Existe; o último por testar com o Aseprite
tests/Arquitetura (G1, G2, G4, a faixa canónica, 250 linhas), dados (tabelas completas, referências, chaves de texto) e design (tempo até matar do §07, Podridão, manutenção, asfixia entre 9 e 14, rotas, ganância, muralhas)§31 · §6423 testes; G3 espera pelo F0-07, o aríete pela Q-001
docs/design/Este dossiê partido por secção, 75 ficheiros§69Gerado; o CI falha se divergir
docs/adr/0000 a 0010 — escala, faixas, dados, versionamento, arranque, relógio, save, convenções da base de dados, correções do dia zero, importação da arte§28 · §690001 e 0010 são propostas; as outras, aceites
docs/backlog/42 tickets: F0-00 a F0-15 e F1-01 a F1-17 no formato do §34, com os caminhos da §70 e os ficheiros reais de docs/design/; mais nove tickets de arte, greybox, nomes e dados§34 · §65 · §66Existe
docs/content/Dicionário e esquema da base de dados, as 550 propostas, a Podridão dia a dia, os nomes, e a bíblia de nomes com a triagem dos candidatos ao nome do jogo§17 · §36 · §44Existe; o nome do jogo continua por escolher
docs/art/Asset Bible, registo de 251 assets, bíblia de animação, guia de expressões, 34 efeitos§01 · §22 · §58 · §60Existe
docs/world/Bíblia de produção de mundo, regras de greybox, registo de 43 segmentos§21 · §54Existe
docs/ux/ · docs/audio/ · docs/localization/Fluxos e 25 ecrãs · bíblia de áudio e 56 pistas · glossário de 57 termos e guia de estilo§23 · §24 · §25 · §27Existe
docs/qa/Plano e formulário de playtest, plano mestre de QA, regressão, desempenho, acessibilidade§26 · §32 · §63Existe
docs/legal/ · docs/release/ · docs/marketing/Registo de terceiros, checklists de lançamento, assets da loja§35 · §36Existe
docs/QUESTIONS.md (Q-001 a Q-036), ASSETS_TODO.md, dossie-v5.2-correcoes.md§28 · §68Existe

Como se verificou

Motor
Godot 4.6-stable em headless: o projeto importa sem erros
Testes
gdUnit4 6.2.1 — 23 testes, 21 a passar e 2 saltados com a razão escrita
Dados
csv_to_tres --check sem diferenças; check_dossie_vs_csv.py confere 127 números deste dossiê contra as tabelas, e não há divergências
Portões
lint_sim.gd (G1, G2, G4) limpo; gdformat e gdlint limpos
Export
Linux, com os templates 4.6; o executável arranca em headless
A curva
O modelo do §06 reproduzido num teste: asfixia no dia 11 no perfil equilibrado, duas rotas empurram-na quatro dias, tudo no máximo leva-a ao dia 28 — como o simulador do §06 diz

A pré-produção está fechada?

O relatório do que faltava dá doze critérios. Agrupados, o estado honesto é este:

CritérioEstado
O dossiê é a fonte de verdadeSim — gerado para docs/design/ e conferido pelo CI
As decisões da Fase 0 estão registadasEm parte — a escala é ADR proposta até ao spike; a GROUND_LINE, a fonte e a câmara continuam na §67
Existe a base de dados de conteúdoSim, com 550 propostas por aprovar
Existem a Asset Bible, o registo de assets, a bíblia de animação e a de nomesSim — o nome do jogo não
Existem todos os ficheiros do dia zeroAs ondas 1 e 2, completas; as ondas 3 e 4 são os tickets F0
O CI está verdeLocalmente, com a mesma sequência de passos; no GitHub, quando houver remoto
O projeto exportaSim — Linux
Uma personagem funciona dentro do jogoNão — F0-10 e ART-01
A greybox funcionaNão — GB-01 a GB-03
O que falta já não é documentação

As duas linhas por fazer não se resolvem a escrever. O próximo marco é o do relatório: abrir o Empire, controlar uma personagem real numa greybox, atravessar as três faixas, construir algo com uma moeda, sobreviver à primeira noite e reproduzir o resultado pela mesma seed. Os tickets estão por ordem em docs/backlog/. Começa pelo F0-00.

72 — Achados · novo

O que a implementação encontrou no dossiê

Contexto histórico: estudos de mercado, previsões, horas, listas de arranque e estados de implementação desta versão descrevem a fase em que foram escritos. A baseline e a ordem de execução atuais estão na §90; decisões posteriores da §86 prevalecem. Exemplos antigos não são ficheiros para copiar sobre o projeto atual.

Transformar prosa em ficheiros que correm é o teste mais duro que uma especificação pode ter. Sete ficheiros do dia zero não funcionavam como estavam escritos, trinta e cinco números ou regras estavam em falta ou não batiam entre secções, e uma regra de segurança não protegia o que prometia. Ficou tudo escrito: os ficheiros corrigidos, as contradições em perguntas com proposta, e nada decidido por omissão.

Os sete ficheiros que não corriam como estavam escritos

#OndeO que falhavaCorreção
C-01§47 · band.gdVárias constantes numa só linha: erro de sintaxe, e o UnitData caía com eleUma constante por linha — corrigido na §47
C-02§69 · .gdlintrcOs padrões recusavam nomes privados (_init, _durations): o gdlint chumbava o próprio GameClock do §30_? nos dois padrões — corrigido na §69
C-03§69 · run_tests.sh, ci.ymlO gdUnit4 6.x sai com o código 103 em --headless--ignoreHeadlessMode — corrigido na §69
C-04§69 · ci.ymlO export falha sempre sem os templates do motorUm passo, com cache, que instala só os de Linux — corrigido na §69
C-05§69 · .gitattributestext forçado nos addons/ trata os PNG como texto e corrompe-os!filter !diff !merge text=auto — corrigido na §69
C-06CIO checkout sem LFS deixa ponteiros no lugar das imagens do dia zeroOs placeholders ficam fora do LFS, em art/export/_placeholder/ — no repositório
C-07GodotO Godot importa qualquer .csv como tradução, incluindo os de data/source/.gdignore em data/source/ e em docs/ — no repositório

A ADR 0009 tem a razão de cada uma. Os ficheiros do repositório são a versão completa: o AGENTS.md, o ci.yml e o clock_data.gd de lá levam ainda o que a v5.2 acrescentou — a tabela da §70 inteira, os passos de dados e de spec, e os limites do slider da §26.

As contradições entre secções

Trinta e seis perguntas em docs/QUESTIONS.md, cada uma com o sítio exato, a proposta e o que bloqueia. Oito ficaram resolvidas na v5.2, porque o próprio dossiê já as decidia noutro lado; as outras esperam por ti.

#Resolvida na v5.2Ficou
Q-019O §30 escolhe a criatura ao acaso; a §51 manda escolher a mais cara que cabeA §51 — o F1-08 corrige o código do §30
Q-020A §42 semeava os fluxos com XOR de constantes que nem são hexadecimais (0xR0T7); o código logo abaixo usa hashO código — a tabela da §42 foi corrigida
Q-021O §47 mandava DAY_SECONDS para a EconomyCurve; a §69 criou o ClockDataClockData (ADR 0006) — corrigido no §47
Q-022Ids em português nos exemplos (enramados_arqueiro.tres) contra a regra do código em inglêsInglês — a bíblia de nomes, §5
Q-023O §22 diz uma camada por slot; o §58, um ficheiro por slotFonte com camadas, exportação por slot — Asset Bible, §2
Q-026O relatório pedia um waves.csvrot.csv — A Podridão substituiu as ondas (§70)
Q-027A §49 lê rendimento por fase; o §06 dá números por diaO CSV guarda por dia; o sistema divide pelas fases
Q-032Os sete ficheiros acimaAplicadas — ADR 0009
#Em aberto, e bloqueia as Fases 0 e 1Bloqueia
Q-001Os arqueiros param o Aríete de lodo? O §07 diz que não, mas 96,6 s é menos do que uma noite de 105 sF1-09 — o teste está saltado
Q-005As tropas fogem a 30% ou a 25% de vida?F1-12
Q-006Quem atinge a faixa aérea?F1-07 · F1-09
Q-017Três Rastejantes na noite 1, como diz a §25, ou dez, como dá a massa do §05?F1-15
Q-024A camada Equipments dos teus ficheiros é o slot head?ART-01
Q-025Godot 4.6-stable, 4.6.3 ou 4.7?Fase 0
Q-033A curva abstrata do §06 contra os edifícios reaisF1-10
Q-035Sinais do §30 que não estão no catálogo da §46F0-07
Q-036O I6 proíbe o load() num save e recomenda o ResourceLoader.load — que é a mesma função; um .tres pode trazer script e executá-loF0-13 — a ADR 0007 já segue a proposta

A Q-036 é a mais séria, e a única de segurança: a proposta é gravar o save com FileAccess.store_var e lê-lo com get_var(false), só com tipos base. Na retomada, as frases das §19, §40 e §62 foram alinhadas com a ADR 0007; o SaveService continua por implementar. As outras dezanove são de fases posteriores e estão no mesmo ficheiro, cada uma com a proposta que já está nos dados.

O português

A v5.2 revê o texto inteiro contra a norma europeia com o Acordo Ortográfico de 1990, que já era a do resto do documento: 105 correções — 69 grafias anteriores ao Acordo, 9 formas do Brasil e 27 de gramática, pontuação e coerência. Estão todas, uma a uma e com o contexto, em docs/dossie-v5.2-correcoes.md. Os blocos de código ficaram de fora de propósito: são ASCII para poderem ser colados.

A regra que fecha a pré-produção

A partir daqui, o dossiê só muda por três razões: uma correção, uma decisão que vira ADR, ou um número que um playtest desmentiu. Uma pergunta nova vai para docs/QUESTIONS.md; um número muda no CSV e o CI confere-o contra este texto. Uma v6 feita de teoria nova seria a forma mais confortável de não fazer o jogo.

Parte XIII

O Desconhecido

A Parte XII fechou a pré-produção e escreveu a regra: a partir dali, o dossiê só muda por correção, por decisão que vira ADR, ou por número que um playtest desmentiu. Esta parte é do segundo tipo. Não acrescenta teoria — troca a natureza de uma coisa que já lá estava. A Podridão continua a chamar-se Podridão, continua a nascer no crepúsculo e a recuar de manhã, e os dois verbos não mudam. O que muda é que ela passa a querer alguma coisa de ti, e a saber pedi-la.

73 — Método · novo

O que Over the Garden Wall faz, e o que dele serve

Cem minutos, dez capítulos, um orçamento de televisão por cabo. A série consegue uma densidade de mundo que jogos de trinta vezes o tamanho não têm, e não é por causa da paleta. É por causa de sete decisões estruturais que se podem enumerar, medir e roubar. Quatro delas cabem no Empire quase sem custo. Duas custam caro e valem. Uma não serve e é a que toda a gente copia.

As sete alavancas

#AlavancaO que é, mecanicamenteServe?Onde cai
1O antagonista oferece, não atacaA Besta nunca força. Faz propostas razoáveis a pessoas em dificuldade e deixa-as escolher. O terror é de consentimento, não de força.Central§74 · §75
2O combustível são as vítimasA lanterna arde a óleo de edelwood; o edelwood é feito das crianças perdidas. A ameaça é literalmente construída com as perdas anteriores. No Empire é o Lume: arde roxo na base dela, e tudo o que ela consome o alimenta; a tua luz afasta-a (ADR 0034).Central§74
3Ninguém tem nome, toda a gente tem funçãoNa taberna não há nomes: há o Taberneiro, o Açougueiro, a Parteira, o Salteador. Ser nomeado é ganhar um lugar na história — e uma dívida para com ela.Barata§76
4Um lugar, uma lei, uma cançãoCada capítulo é um sítio fechado com uma regra estranha que ninguém explica, um habitante que a cumpre com naturalidade, e uma canção que a diz. Noventa segundos e percebeste o sítio.Barata§77
5A morte é um emprego com horárioPottsfield é uma vila de esqueletos alegres que te põem a trabalhar e depois te deixam ir. A submissão é cordial, e é isso que a torna insuportável.Cara, vale§78
6A luz é o assunto da imagemNick Cross recusou a teoria de cor impressionista e usou preto académico. As cenas compõem-se à volta de uma fonte de luz. O resto é silhueta.Cara, vale§80
7A revelação do purgatórioNos dois últimos capítulos percebe-se que os irmãos estão a afogar-se num lago no Dia das Bruxas e que O Desconhecido é o intervalo.Não§82
Porque é que a sétima não serve

Uma reviravolta de "afinal era tudo outra coisa" paga-se com cem minutos de investimento e cobra-se uma vez. O teu jogo pede 28 a 40 meses de produção (§33) e quarenta horas ao jogador, com permadeath e decay (§16). Um jogador que perde o império à quinquagésima hora e descobre que nada aconteceu fecha o jogo. O que se tira da série não é a revelação — é a liminaridade: a sensação de estar num sítio que funciona com regras próprias, que não te explica nada, e de onde se sai por decisão e não por vitória. Isso o Empire já tem meio construído e nem deu por isso.

A alavanca que a série não te dá, e é a mais importante

Patrick McHale coleciona postais de Dia das Bruxas de 1890 a 1930. Nick Cross foi buscar cromolitografia, Doré, Harrison Cady, Ivan Shishkin. A música é shape-note do Sacred Harp, ragtime, canção de sala e parlor song anterior a 1950. Nada disto é fantasia inventada: é o vernáculo popular do próprio país deles, com cem anos, posto fora de sítio. É por isso que O Desconhecido parece lembrado e não desenhado.

Se copiares o resultado — abóboras com cara, perus de carga, mansões de comerciantes de chá — ficas com o fantasma de uma coisa americana num jogo cuja fonte arquitetónica já é a Carrasqueira, a Serra da Lousã, a lezíria do Tejo e as ferrarias bascas (§22, peoples.csv). Se copiares o método, ficas com uma coisa que ninguém fez.

A decisão que esta parte inteira assume

O Empire não vai para O Desconhecido. Vai para o equivalente ibérico d'O Desconhecido: alminhas nos cruzamentos, romarias que não chegam, encomendação das almas, caretos, mouras encantadas, cante alentejano a duas vozes, o Homem do Chapéu de Ferro, ex-votos de cera. É a mesma operação de McHale sobre um manancial que está por explorar e que é teu por direito. Cada elemento das secções seguintes tem uma raiz portuguesa verificável e uma função mecânica — se algum só tiver a raiz, corta-se.

O que o Empire já tinha e não sabia

§05 · Alimentar a Podridão

"Deixar sacrifícios reduz a massa. Sinistro, eficaz, e mecanicamente honesto." Já é a Besta. Falta só que ela peça. A §75 faz isso com o Verbo 1 e zero UI nova.

§16 · O corpo fica no mapa até ao amanhecer

Já existe uma janela entre a morte e a alvorada em que o cadáver é um objeto no mundo. É exatamente onde o edelwood nasce. A §74 põe lá a terceira opção.

§04 · Cada súbdito é alguém

"Não são unidade tipo 3 — são razões para doer quando morrem." Escrito na v3, nunca implementado. A §76 dá-lhe a mecânica que faltava, e custa uma tabela e um overlay.

§17 · A escolha estava a ser feita desde o primeiro cerco

A melhor frase do dossiê, e neste momento é falsa: nada no jogo regista as escolhas que levam a União ou a Domínio. A §78 torna-a verdadeira doze vezes.

§17 · Biomas caóticos

Quatro regiões com uma regra estranha cada. É a estrutura de capítulo da série, meio construída e sem narrativa agarrada. A §77 leva-as a dez e cola-lhes os diários.

§08 · O companheiro do trono

Uma criatura que não obedece a ouro e segue quem a alimenta. É o sapo do Greg. Falta-lhe uma canção e um nome que o jogador escolhe — §81.

Nenhuma das dez secções seguintes inventa um sistema do nada. Sete alteram sistemas que já estão especificados, duas dão conteúdo a estruturas vazias, e uma — a §76 — é nova e custa menos de dez horas.

74 — Ameaça · novo

A Podridão ganha um Lume — e o combustível és tu

Decisão posterior sobre a abertura: Q-239 e Q-241 aprovam pressão acumulada sujeita à rampa e emboscadas pagas a partir da noite três. Q-240 considera agressivo o limite 3/6/9; não está aprovado como ritmo final. Q-242 aprova a proposta de rampa sete no contexto do playtest; Q-243 aprova a primeira noite funda na doze, depois de seis em seis. Os CSV e a tabela gerada ROT_BY_DAY aplicam a rampa sete e o primeiro pico doze desde a correção da auditoria de 09/10. A Q-240 continua pendente.

A Podridão da v5.2 é meteorologia com orçamento: nasce, avança, gasta massa, recua. É melhor do que ondas, como diz a §05, mas tem um buraco que ninguém apontou — durante os 85 segundos da Manhã e os 85 da Tarde, não há nada que possas fazer em relação a hoje à noite. Constróis, colhes, recrutas. A noite é um número que já está decidido. Esta secção rouba a alavanca 2 da série e fecha esse buraco: a massa da noite passa a ser escrita pelo jogador, de dia, com os seus próprios mortos.

A candeia — o Lume

(Reescrito pelo dono a 29/09/2026, ADR 0034. A primeira versão punha a luz no meio da mancha, a atravessar o campo — copiava a lanterna da Besta ao pé da letra e deitava fora o que a série diz dela.)

A Podridão tem uma luz, e é uma só: o Lume, um fogo roxo que arde na base de onde ela nasce — o horizonte do lado ameaçado, como os portais do Kingdom. Não sai de lá. A mancha que atravessa o campo é escuridão; a única luz dela é aquela, lá atrás, e é a única que a aquece. Tudo o que a Podridão consome vai parar ao Lume: as moedas e os animais que lhe dás, o que os Ladrões roubam, os Amargueiros que deixas de pé. É a lanterna da Besta tal como a série a conta — arde com o óleo das vítimas e guarda a alma de quem a acende —, adaptada ao Empire: a lanterna não vem ter contigo, és tu que a vês crescer no horizonte noite após noite.

Raio da luz
150 + 4 × dia px, com teto em 260. Dentro do raio vê-se o que a Podridão invocou; fora, não — tirando o que as tuas luzes alumiam.
Cor
Roxo (§80: núcleo, meio e bordo violeta). É a única luz do campo que não é tua, e a atmosfera da base inimiga é essa: tudo ali tingido de roxo.
Combustível
O que ela consome alimenta-o. Cada unidade de combustível vale lume_mass_per_fuel de massa nas noites seguintes (0,25, proposta) — alimentá-la compra esta noite e paga-se nas próximas, que é o preço da Besta.
Estado
O brilho é o mostrador da Dívida da Candeia (§75). Nunca aparece um número.
Vulnerabilidade
Nenhuma em campo aberto: continua a valer o §05, não pode ser morta, só impedida. Apagar o Lume é o fim do ciclo — a Besta perante a lanterna apagada — e é pergunta aberta (Q-156).

As tuas luzes afastam-na

Na série é a Besta que foge da luz apagada; no Empire é a Podridão que foge da tua. Cada luz tua de pé — fogueira, farol, o archote do rei — guarda um troço de chão, e o que entra nele recua ou abranda conforme o tipo de construção e o nível da criatura. O nível é a massa: o preço que a Podridão pagou por ela (§51).

LuzRaioFaz recuar até massaAos mais fortes
Archote do rei96 px8 — Rastejantesnada
Fogueira96 px8 — Rastejantesabranda 25%
Farol300 px30 — Brutosabranda 30%

Quem recua anda para trás durante 3 s (light_recoil_s) e volta a tentar; quem é forte de mais só abranda, e o Ariete de lodo e o Devorador atravessam qualquer luz. Os números são proposta (_proposed em rot.csv e buildings.csv). A mancha em si continua a abrandar por cima do fogo (§05).

O Amargueiro

Uma tropa que morre fora das muralhas e não é recolhida antes da alvorada cria raiz. Na Alvorada — a fase de 15 s em que a §05 já manda contar as perdas — o corpo levanta-se transformado numa árvore de madeira escura e resinosa, com a cara da tropa na casca. Não anda, não ataca, não pode ser destruída por dano. Fica ali, e alimenta a noite seguinte.

A fórmula da massa, reescrita
# v5.2 — §05
M = 60 + 26 * dia + 40 * fortalezas_conquistadas

# v6 — a Podridão come o que deixaste no campo
M = 40 + 18 * dia + 30 * fortalezas
  + 22 * amargueiros + 45 * amargueiros_nomeados
  + 8  * min(recusas_nos_ultimos_5_dias, 5)   # §75

A base e o termo do dia descem de propósito. O que a noite tem de duro deixa de vir do calendário e passa a vir de como jogaste. As primeiras noites sobem em rampa: a noite 1 traz os três Rastejantes do §25, e a massa do calendário sobe em linha recta até à fórmula, que manda por inteiro a partir da noite 7 — começa leve e intensifica-se (Q-017, Q-068). Depois da noite 10 a parte do calendário cresce 6% por noite: conforme os dias passam, a noite fica mais difícil exponencialmente (Q-151).

Estado do campoDia 5Dia 10Dia 20Contra a v5.2, ao dia 20
v5.2 (referência)190320580—
Campo limpo — 0 Amargueiros130220716+24%
3 Amargueiros de pé196286782+35%
8 Amargueiros de pé306396892+54%
5 anónimos + 3 nomeados375465961+66%

Todas as linhas assumem zero fortalezas conquistadas e zero recusas, para isolar o termo novo. O dia 20 já traz dez noites de crescimento a 6% do calendário (Q-151, o dono a 29/09/2026: depois da noite 5 a noite fica mais difícil exponencialmente) — por isso passa a v5.2; as árvores e as fortalezas não crescem, e a distância entre o campo limpo e o campo cheio de mortos é a mesma em qualquer dia: +66 com três árvores, +245 com cinco anónimas e três nomeadas.

Um jogador que arrasta os seus mortos para dentro tem um jogo um quarto mais leve do que o que os deixa no campo. Um jogador que os deixa no campo tem um jogo mais pesado. A curva de dificuldade deixa de ser uma reta que subiste no Excel e passa a ser uma consequência — e é uma consequência que se explica sozinha, sem tutorial, na primeira vez que um Amargueiro com a cara de alguém aparece à porta.

Os três destinos de um Amargueiro

Sempre com o Verbo 1. A moeda que largas é que decide, e a decisão é a mesma que o Lenhador da série tem de tomar todos os dias sem perceber que a está a tomar.

DestinoComoCustoRendeEfeito na noite
CortarLargar moedas na base, a partir da segunda alvorada. Vem um lenhador da serração (§06). 12 s de corte.6 moedas1 · 2 · 3 Lenho por escala · 5 se era nomeado−22 (ou −45) de massa, a partir daí
ConsagrarLargar 1 Semente Real na base. Vira Marco de pedra. Pode fazer-se logo na primeira alvorada.1 Semente RealMarco permanente−22 de massa, e a Podridão abranda 40% num raio de 120 px (a regra de terreno consagrado da §05)
DeixarNada.00+22 (ou +45) de massa por noite, para sempre

As três regras que impedem isto de virar uma máquina de dinheiro

A falha que a primeira versão desta secção tinha

Um vagabundo custa 1 moeda a recrutar (units.csv). Se um Amargueiro rendesse três Lenhos vendáveis a 40 moedas, a jogada ótima do jogo passava a ser mandar vagabundos morrer lá fora de propósito: 1 moeda a entrar, 120 a sair. Um sistema de design que premeia matar os teus faz o contrário do que esta parte inteira quer. As três regras abaixo fecham-no, e o teste D-02 da §84 impede que volte a abrir.

RegraO quêPorquê
1 · O Lenho não é moedaNão se vende, não se troca, não tem preço. Só se constrói com ele.Sem preço não há arbitragem. Acaba com a exploração na raiz, em vez de a tornar menos rentável.
2 · Uma noite de péUm Amargueiro só pode ser cortado depois de ter aguentado uma noite inteira. Antes disso a serra não pega.Pagas sempre os +22 de massa uma vez, por cada árvore. Sacrificar dez vagabundos é +220 na noite seguinte — a matemática do §84 mostra que isso mata um império do dia 6.
3 · Rende o que a pessoa eraEscala 1 (o escudeiro): 1 Lenho. Escala 2, tropa ou vagabundo: 2. Escala 3 ou mais, elite, personagem jogável ou monarca: 3. Nomeado: 5.A carne barata rende pouco e a cara rende muito — que é o inverso exato do incentivo perverso.
Para que serve o Lenho Amargo, então

Para uma coisa só, e é grande. O walls.csv diz que a muralha de nível 4 tem requires_conquest: fornalha — sem conquistares a Fornalha não há muro de ferro, e a Fornalha é um povo de Fase 7. Um Lenho Amargo dispensa esse requisito por segmento. Constróis muro de nível 4 com os teus mortos, pagando na mesma as 36 moedas, dez fases antes de o poderes ter de outra maneira. O bastião de nível 5, que é único por império, custa 3 Lenhos além das 65 moedas.

Não há penalização escondida e não há final mau por o fazeres. A única coisa que o jogo faz é mostrar-te a cara na casca antes de a serra entrar, e cobrar-te 1 ponto de moral do império durante 2 dias se a tropa tinha nome (§76) — porque toda a gente estava a ver.

Onde o Amargueiro pode nascer, e onde não

  • Fora das muralhas — cria raiz. É a regra.
  • Dentro das muralhas — não cria. O corpo desaparece na alvorada e conta como perda normal. É o incentivo a arrastar os mortos para dentro, e reutiliza inteiro o gesto que a §16 já tem para o Santuário das Raízes.
  • Na faixa subterrânea — cria raiz, e cresce ao contrário, para baixo. Bloqueia a passagem. Os Sob-Raiz têm um problema que os outros povos não têm, e isso é do Ato III (§79).
  • Na faixa aérea — não há corpos na faixa aérea; as voadoras caem.
  • Sobre terreno consagrado — não cria. Um Marco protege um raio de 120 px de novas raízes, o que faz dele defesa, economia e cemitério ao mesmo tempo.
  • Fora da tua região e das adjacentes — cria raiz e fica lá, mas não conta para a tua massa. Um Amargueiro que deixaste a seis ecrãs de distância, numa campanha de conquista, não te persegue a casa. Conta para a massa de quem lá vive.
O que isto custa a construir

Um AmargueiroSystem pequeno pendurado no sinal de alvorada que o GameClock já emite (§48), um termo novo na fórmula do RotSystem (§51), um recurso Lenho Amargo na tabela da §44, um slot de destino no BuildSystem (§55, que já trata moeda física em slots pré-definidos), e um sprite de tronco por escala que reaproveita o slot face das personagens que já desenhaste. Estimativa: 11 h de código, 3 h de arte, e os dois testes que impedem a exploração voltar (D-02 e D-03) estão orçamentados na §84. É o melhor rácio da parte inteira.

Painel de 30/09/2026 — ADR 0043. Primavera, verão, outono e inverno: os canteiros param no inverno e a caça abranda. A pesca, as galinhas e o celeiro preparado com reservas permitem sobreviver. Só grão novo é reservado, antes da conversão; o inverno liberta reservas de celeiros de pé (Q-172). Os valores novos de balanceamento são propostas ajustáveis nas tabelas.

75 — Voz · novo

A Oferta, e a dívida que ninguém te mostra

Tocha e acordo futuro (Q-247, resposta de 07/10): a tocha de mão serve inicialmente como ferramenta de iluminação sem desgaste. Mais adiante, um acordo desfavorável poderá permitir à Podridão corrompê-la e torná-la consumível. “Metade do jogo” indica a intenção de progressão, não uma percentagem ou noite fixada. O gatilho, consumo, recuperação e relação com emboscadas ainda precisam de especificação. Na baseline, a tocha ilumina e o archote comprado protege; não se infere que a nova resposta tenha aprovado proteção gratuita.

A Besta nunca ataca ninguém. Aparece a pessoas cansadas, fala em voz baixa, e faz uma proposta que naquele momento é a coisa sensata a fazer. O Lenhador aceitou-a durante anos e nem se lembra de ter escolhido. Esta é a alavanca 1, e é a que transforma A Podridão de fenómeno em personagem sem lhe acrescentar um único ponto de vida.

Como funciona, sem um terceiro verbo

A mancha chega a 300 px da muralha mais exterior

Acontece uma vez por noite, entre os 20 e os 60 segundos depois do crepúsculo, conforme a velocidade. A música baixa. A candeia sobe de brilho durante meio segundo.

Aparece uma linha no mundo

Não numa caixa. Junto à mancha, na tipografia entalhada da §24, como as placas de loja que já tens. Uma frase. Nunca mais do que oito palavras. Fica 20 segundos.

Aceitar é o Verbo 1, dentro do prato

Com a frase aparece um prato de oferenda no chão, à borda da mancha — um alguidar de barro, do tamanho de um slot de construção. O preço tem de lá cair dentro: as moedas atiradas para o prato, a tropa mandada andar até ele, a Semente Real largada nele. É um alvo, não um menu, e continua a ser o Verbo 1.

Recusar é não fazer nada, e tem teto

Passam os 20 segundos, o prato afunda-se no chão, a noite continua. Recusar custa +8 de massa por cada recusa das últimas cinco noites, até cinco — no máximo +40, e volta a zero assim que aceitares uma vez. Recusar hoje é quase de graça; recusar cinco noites seguidas é uma vaga inteira; recusar trinta é exatamente igual a recusar cinco. Um jogador que decida nunca fazer negócio nenhum paga um imposto fixo e conhecido, e não uma dívida que cresce para sempre.

As quatro regras que impedem acidentes e discussões

SituaçãoO que acontecePorquê
Uma moeda solta cai perto da mancha durante o combateNada. Só conta o que cai no prato.Perder uma tropa nomeada por um clique mal dado numa noite atarefada seria a coisa mais injusta do jogo.
Aceitaste e não consegues pagar tudo em 20 sA oferta caduca e conta como recusa. O que já estava no prato é devolvido no chão.Sem meias-aceitações não há estados intermédios para depurar, e o jogador nunca perde o que pôs sem receber nada.
Duas manchas, a partir do dia 12 (§05)Uma oferta por noite, na mancha que chegar primeiro. A outra fica calada.A voz é uma pessoa. Duas propostas por noite fariam dela um sistema de menus.
O preço deixou de existir a meio (a tropa morreu, gastaste o ouro)Caduca como recusa. Sem penalização extra.O jogo não pune por causa das suas próprias condições de corrida.

As doze ofertas

Uma por noite, sorteada entre as elegíveis com o fluxo de aleatoriedade dedicado da §42. Nenhuma é só má e nenhuma é só boa — a regra dos impulsos reais da §15 aplica-se aqui inteira, e é por isso que este sistema encaixa sem atrito: o jogador já aprendeu a gramática "vantagem com custo" no menu do rei.

A frasePreçoO que dáQuandoDívida
Dá-me o que já não anda.As tropas abaixo de 40% de vida saem e não voltamA mancha para 25 sDia 3++1
Nada. Só quero ver.1 moedaRevela a posição de um Capítulo escondido (§77)Dia 3++1
Um por cada porta.1 tropa por portão que tenhasOs portões não podem ser arrombados esta noiteDia 5++1
Deixa a porta aberta.Os portões ficam abertos até à alvorada−40% de massaDia 6++2
O que brilha, e nada mais.Todo o ouro em tesourariaA noite é saltada. A mancha não nasce.Dia 4+, tesouraria > 80+2
A árvore que plantaste.Um Marco consagrado teu (§74)+1 Semente RealCom Marco+2
Diz-me um nome.Uma tropa nomeada sai e não volta (§76)A mancha contorna o império esta noiteCom nomeados+3
O que enterraste.Abrir uma passagem que escoraste (a escora cai)Massa a metadeTerritório Sob-Raiz, com escora+3
O que estava aqui antes de ti.A arquitetura de um povo conquistado desaparece do teu império−15% de massa, permanenteCom 2+ povos+4
Fica com o Lume por uma noite.A evolução da tua classe jogável, para sempre nesta campanha (a classe fica, Q-140)Seguras o Lume: a mancha é tua esta noite e vai-se (manda-la a um império rival, quando os houver)Dia 15++5
Um herdeiro.O sucessor em treino (§15)Ganância a 0 durante 10 diasCom sucessor+5
Devolve-me o que é meu.Tudo o que tem nomeA Podridão não volta a nascerDívida ≥ 12fecha
A voz — a regra de escrita

Dá-me o que já não anda.

Nunca ameaça. Nunca explica. Nunca usa a segunda pessoa do plural. Fala como quem já fez este negócio muitas vezes e não tem pressa. Se uma frase soar a vilão, está errada — reescreve-se até soar a funcionário.

A Dívida da Candeia

Um contador escondido, de 0 a 20. Sobe com cada oferta aceite. Nunca desce. Nunca aparece como número, barra, ícone ou linha de texto. Aparece assim:

DívidaO que muda no ecrãO que muda no jogo
0–2A candeia ilumina 1 faixaNada
3–5A candeia ilumina 1 faixa e meia; a luz tem um haloAs ofertas passam a incluir as de preço 3
6–82 faixas. Aparece o Zelador: uma figura que anda atrás da mancha, não ataca, e olha para o teu núcleo.Se o Zelador chegar ao núcleo, leva uma tropa nomeada. Pode ser afastado, não morto.
9–11O ecrã inteiro tem luz âmbar à noite. Deixa de haver escuro.As tuas fogueiras deixam de dar bónus de visão — já não são necessárias, e isso é a perda
12+A candeia tem duas chamasO epílogo União fica fechado (§79). Aparece a décima segunda oferta.
Porque é que o mostrador é a luz e não um número

A §24 pede HUD diegético e a §26 pede que o jogo se jogue em comando sem UI de rato. Um contador moral em número é a coisa mais fácil de fazer e a que estraga isto: assim que o jogador vê "Dívida: 7", começa a otimizar um número em vez de tomar decisões. Com a luz, ele sente que qualquer coisa está a mudar e não sabe dizer o quê durante horas. E quando perceber, já lá vai. É o mesmo mecanismo que faz o Lenhador não dar por nada durante anos.

A gramática da coluna requires

Doze condições ad hoc dão doze interpretações. A coluna requires do offers.csv aceita uma gramática de três formas e mais nenhuma, avaliada pelo RotSystem contra o estado autoritativo (§45):

# <chave><op><numero>   op em { >= , <= , = }
gate>=1          # tens pelo menos um portao
treasury>=80     # ouro em tesouraria
named>=1         # tropas nomeadas (§76)
marker>=1        # Marcos consagrados (§74)
peoples>=2       # povos detidos ou soltos (§78)
successor=1      # ha herdeiro em treino (§15)
debt>=12         # Divida da Candeia

# <chave>=<id>   igualdade com um id do catalogo
biome=subterranean

# vazio: sem condicao. Varias condicoes separam-se por virgula e sao TODAS obrigatorias.

Nada de parênteses, nada de ou, nada de negação. Se uma oferta precisar de mais do que isto, é porque são duas ofertas.

O custo que a §27 não previa

A §27 argumenta que o jogo quase não precisa de idiomas. Esta parte põe uma personagem a falar, e isso tem uma conta: doze frases de oferta (≈ 90 palavras), nove títulos (≈ 40) e dez leis de capítulo (≈ 250) — cerca de 380 palavras novas de texto traduzível, mais as 900 dos doze diários que a §17 já orçamentava. Total de 1 280 palavras. A cinco idiomas e a preço de mercado, é uma fatura de três dígitos baixos, não de quatro. A frase da §27 passa a ser "precisa de mil e trezentas palavras", e continua a ser um argumento de venda.

O que isto resolve que estava em aberto

  • A §05 tinha "alimentar" sem interface. Agora tem, e é o mesmo verbo de tudo o resto.
  • A §14 tinha um só sorvedouro emocional. A dívida dos mercenários é ansiedade com relógio visível; a Dívida da Candeia é a mesma coisa sem relógio nenhum. São duas emoções diferentes e ambas boas, como a própria §14 argumenta.
  • Os dois epílogos não tinham entradas. Agora têm duas: esta e a §78.
  • A noite não tinha decisões. Tinha combate. Agora tem uma decisão por noite, tomada sob pressão, com informação incompleta, em 20 segundos.
76 — Identidade · novo

Ninguém tem nome até merecer um

Na taberna do quarto capítulo não há um único nome próprio. Há o Taberneiro, o Açougueiro, o Padeiro, a Parteira, o Alfaiate, o Salteador, o Fabricante de Brinquedos. Quando o Wirt se recusa a dizer o que é, a taberna não o deixa em paz — atribui-lhe um papel à força, porque um sítio assim não sabe lidar com quem não tem função. É a alavanca 3, é a mais barata das sete, e resolve um problema que todos os kingdom-builders têm: a sopa de unidades indistinguíveis.

O problema que isto resolve, dito sem rodeios

A §04 promete: "Não são unidade tipo 3 — são razões para doer quando morrem, e a tua morte é permanente." A frase está escrita desde a v3 e nada no dossiê a implementa. Cinquenta lanceiros iguais a morrer não doem. O que dói é aquele lanceiro. E a diferença entre um e outro não é arte nem IA — é um nome e uma linha de história, que custam uma tabela CSV.

Como se ganha um nome

Nunca por sobrevivência sozinha, e nunca por escolha do jogador. Ganha-se por feito registado: uma condição que o sistema já observa para outra coisa qualquer. Na alvorada, se uma tropa viva cumpriu uma condição na noite anterior, o império nomeia-a.

FeitoCondiçãoTítuloGanha
Aguentou5 noites vivo em posto de cercoO Que Ficou+1 vida máxima
Último na portaÚnico sobrevivente de um portão atacadoA Que Ficou na PortaNão foge (ignora a regra da §07)
Partiu o cercoGolpe final num Aríete de lodoO Que Partiu a Pedra+2 dano contra siege
Contou10 Rastejantes abatidosO Contador+10% cadência
Trouxe os outrosArrastou 3 corpos para dentro antes da alvoradaO Que Trouxe os OutrosArrasta ao dobro da velocidade
Falou com elaEstava dentro da mancha e saiu vivoA Que Falou com ElaVê o raio da candeia como zona segura: não entra em pânico
Não comeu7 dias sem passar pela cozinhaO SecoMetade do consumo de comida
VoltouRessuscitado no Santuário das Raízes (§16)A Que VoltouImune a encantamento do Bardo inimigo
Não largouManteve a mesma arma 10 diasO Da Mesma LançaA arma sobe um nível

As quatro regras

Nove, no máximo

O império segura nove nomes ao mesmo tempo. Cumprido um décimo feito, a tropa fica à espera: na alvorada seguinte para um passo à frente das outras e não é nomeada. Fica assim até abrir vaga — e um jogador atento percebe que aquela figura parada é uma promessa por pagar. Nove cabe num ecrã sem menu, e a escassez é o que faz o nome valer.

O nome vê-se

Uma fita no slot overlay que já existe na composição por slots (§58). Uma cor por tipo de feito. Zero sprites novos de corpo.

O nome volta, com número

Um título é único enquanto o dono estiver vivo. Morto o dono, o título fica de luto três dias e depois pode ser ganho outra vez — mas por O Segundo Que Ficou, e depois pelo Terceiro. O ordinal é a memória do império, custa um inteiro no estado, e é o que impede o sistema de se esgotar às nove horas de jogo.

O nome custa caro na morte

Um Amargueiro nomeado vale 45 de massa em vez de 22 (§74), rende 5 Lenho em vez de 1, 2 ou 3, e serrá-lo tira 1 ponto de moral ao império durante 2 dias. Ter nomes é ficar mais forte e mais frágil ao mesmo tempo.

A encomendação

Em boa parte do país houve, e nalguns sítios ainda há, o costume da encomendação das almas: na Quaresma, um grupo sai de noite e vai pelos caminhos a chamar em voz alta pelos mortos, para que não fiquem esquecidos. Não é uma cerimónia bonita — é uma obrigação, e faz-se no escuro.

É a cerimónia de nomeação do Empire, e é o momento em que os quinze segundos da Alvorada deixam de ser tempo morto. Na alvorada, se houve nomeação ou se houve Amargueiro, o império canta. Duas vozes, sem instrumentos, oito segundos (§81). Nomeia quem sobreviveu; chama quem criou raiz. A mesma melodia para as duas coisas — e é essa a decisão de design: o jogo não distingue celebração de luto, porque a série também não.

Custo

titles.csv com nove linhas, um ouvinte de feitos pendurado nos sinais que o CombatSystem e o UnitSystem já emitem (§50, §52), um campo title_id no estado da unidade, um sprite de fita por cor e um stinger de oito segundos. 7 h de código, 2 h de arte, 1 h de som. É a secção com o maior retorno emocional por hora de toda a Parte XIII, e nenhuma outra secção depende dela para existir — se o calendário apertar, esta entra na Fase 4 sem partir nada.

77 — Mundo · novo

Dez lugares, uma lei cada

A série faz mundo com dez capítulos fechados. Cada um é um sítio com uma regra estranha que ninguém explica, um habitante que a cumpre com a naturalidade de quem sempre viveu assim, e uma canção que a diz por outras palavras. Nunca há exposição. Percebe-se o sítio em noventa segundos e nunca se percebe o mundo. É a alavanca 4, e o Empire já tem quatro destes construídos a meio — a §17 chama-lhes biomas caóticos e trata-os como modificadores de rota.

As seis regras de um Capítulo

  1. Uma lei. Uma frase. Se precisar de duas, são dois capítulos ou não é nenhum.
  2. Um habitante. Fala, cumpre a lei, e comporta-se como se ela fosse óbvia. Nunca a justifica.
  3. Uma canção. Vinte a quarenta segundos, sem letra traduzível (§27, §81).
  4. Um diário. Ou uma Semente Anciã, se o capítulo não carregar narrativa nesta partida.
  5. Contorna-se sempre, e o desvio tem preço escrito. Nenhum capítulo bloqueia o caminho: o gerador garante um caminho alternativo, e esse caminho custa 25 s a mais numa bifurcação e 40 s numa travessia. Obrigatório na sensação, opcional no facto, e o preço da recusa é conhecido — como em tudo o resto desta parte.
  6. A lei não entra em casa. Nada do que acontece num capítulo se aplica dentro das tuas muralhas. Nenhuma ficha o contraria (Q-039).

Os dez

1 · As Alminhas do Cruzamento

Qualquer bioma, numa bifurcação · Semente Anciã · Sem canção

Lei: deixa uma moeda no nicho e as almas pintadas apontam por onde a Podridão vem esta noite. Tira uma moeda e, durante três dias, todas as leituras de estrada mentem — inclusive as do teu companheiro.

Um nicho de pedra à beira do caminho, com almas em chamas pintadas a vermelho e a branco por alguém que não sabia desenhar mãos. É o único capítulo sem canção: o silêncio é a lei a funcionar. As figuras pintadas mudam de posição entre visitas e o jogo nunca dá por isso.

2 · A Romaria Parada

Várzea · Diário 3 · Hino de marcha que nunca resolve

Lei: atravessar este segmento a pé custa o dobro do tempo. Larga uma moeda no andor e a procissão leva-te ao outro lado em 8 s — mas as tuas tropas andam ao passo dela durante um dia inteiro (−20% de velocidade).

Cinquenta figuras a carregar um andor com um santo cuja cara já ninguém limpa, a caminho da mesma capela há quarenta anos. O Mordomo da Festa garante que falta pouco. Falta pouco desde o princípio. A melodia sobe três notas e volta sempre ao mesmo sítio, e é o único tema do jogo que não tem fim escrito — corre em loop perfeito e nunca cadencia.

3 · A Casa Que Conta

Qualquer bioma, à beira da estrada · Diário 4 · Cantiga de contar que só sobe

Lei: a Contadeira conta tudo o que passa. À terceira vez que passares, fica com um nome teu — perdes uma tropa nomeada (§76). Se à primeira contagem lhe deres um nome de livre vontade, ela diz-te a massa exata da Podridão, todas as noites, até ao fim da partida.

Não é malévola. Tem de manter a conta certa e não há mais ninguém para a manter. Enquanto fala contigo continua a contar, em voz baixa, por cima do que estás a dizer. A canção conta até dezassete e recomeça no doze.

4 · A Várzea Invertida

Várzea · Semente Anciã · Duas vozes, uma delas ao contrário

Lei: as faixas trocam. A faixa aérea anda-se, a superfície voa-se, e a Podridão chega por cima — o Lume fica por baixo de ti.

Da §17, mantida e agarrada à Podridão. Ensina o sistema de faixas (§53) numa região onde errar não mata, e é o único sítio do jogo onde se vê a candeia de cima. No fundo de um poço que está no céu há uma moura encantada, de cabeça para baixo, que pergunta pelas horas.

5 · O Sulco Cego

Desfiladeiro · Diário 6 · Vozes sem corpo, à distância

Lei: não há luz. Só o Cavaleiro Selado se orienta, porque já não usava os olhos. Qualquer luz que leves revela 60 px à tua volta e acrescenta +30 à massa desta noite — o que te vê também vê a luz.

Da §17, com o custo que lhe faltava. É a secção de design que prepara a §80 inteira: pela primeira vez, iluminar é uma decisão e não uma comodidade. Ouvem-se pessoas a conversar a trinta metros. Nunca se chega a trinta metros.

6 · O Forno Aceso

Vulcânico · Semente Anciã · Canção de trabalho, uma voz, muito lenta

Lei: qualquer tropa que durma aqui cura por completo e sai com uma brasa no peito. Arde seis dias. Ao sétimo, se estiver fora das tuas muralhas, cria raiz onde estiver.

Foi escrito como o único capítulo cuja lei entrava em casa; o dono cortou a exceção (Q-039, 28/09/2026) — um forno não faz nascer árvores dentro das muralhas, e a regra 6 fica sem exceção nenhuma. Um forno de pão aceso desde antes da rutura, atendido por um padeiro que não tem cara porque a cara é a boca do forno. Cura de graça, sem menu, sem custo visível. Um jogador vai encher lá o exército inteiro exatamente uma vez.

7 · O Mercado dos Ossos

Qualquer bioma, junto a acampamento de mercenários · Diário 8 · Pregão a três vozes

Lei: mercenários a metade do preço, dívida ao dobro do juro (§14). Não se sai da praça com dívida por pagar — o portão não abre.

Da §17, com o que lhe faltava: os vendedores são os últimos donos da mercadoria, ainda de pé nas bancas, à espera de serem pagos. Pagar uma dívida por inteiro liberta um deles, que se vai embora e leva a banca. São sete. Quem esvaziar a praça encontra a cadeira do Dono — é o único que está sentado — e o diário debaixo dela.

8 · O Campo de Esporos

Subterrâneo e superfície · Semente Anciã · Zumbido, e por baixo dele um coro

Lei: as tropas ganham 20% de dano e perdem 15% de vida por dia enquanto lá estiverem.

Da §17, e agora é a reviravolta do Ato III (§79). Os chapéus dos cogumelos são telhados. A cidade Sob-Raiz está por baixo, intacta, e as pessoas ainda lá estão a trabalhar. Um Escavador abre a passagem em 20 s. Ninguém lá em baixo pede ajuda, e o diário que explica porquê está na fortaleza deles, a três regiões dali.

9 · A Ponte dos Que Voltaram

Desfiladeiro · Diário 10 · Uma nota só, muito longa, de gaita

Lei: atravessar custa uma memória — uma região revelada do mapa volta a ficar escura, à sorte. Voltar atrás devolve-a. À sexta travessia, a ponte dá-te um nome e um segmento da tua muralha muda de material sozinho.

Seis tramos: madeira, estacas, lascas de rocha, tabique, escória — e o sexto não tem material nenhum. É um vão, e atravessa-se na mesma. É onde o Ato II se vê em vez de se ler. Há pegadas no sentido contrário e nunca ninguém vem de lá.

10 · O Cerco Que Não Acaba

Qualquer bioma, fortaleza · Diário 12 · Garantido · Sinos, desafinados de propósito

Lei: entras e ficas numa noite que não acaba. Só termina de duas maneiras: partes a muralha, ou abres o portão por dentro.

Uma fortaleza sitiada por uma Podridão que nunca chega, e um rei que não manda parar porque no dia em que mandar tem de contar os mortos. Partir a muralha: ficas com os celeiros e o rei morre. Abrir o portão: o cerco acaba, a mancha desfaz-se, o rei vive, e sais de lá só com o diário. São os dois epílogos em miniatura, dados ao jogador dez horas antes de ele saber que existem — e é a razão de este capítulo carregar sempre o diário 12.

Quantos aparecem, e onde

Existem dez. O gerador coloca seis por campanha, no máximo um por região, com o fluxo de aleatoriedade da §42 sob a semente do mundo (§54). Um deles é sempre O Cerco Que Não Acaba; os outros cinco saem dos nove restantes. Os quatro que não saíram ficam para a próxima partida. Isto dá duas coisas ao mesmo tempo, e são as duas que faltavam:

A história chega sempre inteira

Seis diários são de fortaleza — um por povo, contando o teu, que está numa ruína dentro das tuas muralhas desde o dia 1. Os outros seis são de capítulo: o 12 está sempre no Cerco, e os outros cinco vão para o capítulo que preferem, ou, se esse não saiu, para o seguinte que tenha saído, por ordem de ato. Uma partida vê sempre os doze.

O mundo nunca é o mesmo

Quatro capítulos por descobrir em cada corrida, e o mesmo diário lido num sítio diferente muda de sentido. É a mecânica de rejogabilidade mais barata que o dossiê tem: nove fichas sorteadas cinco a cinco, em regiões que a semente ordena de novo em cada campanha — como num mundo de Minecraft (Q-105) —, e nenhuma campanha é igual a outra: a ordem dos oito povos muda, e das fichas cabem 61 combinações (duas da mesma região nunca cabem juntas).

Cada lei tem uma raiz, e a raiz é verificável

Os dez capítulos não são folclore genérico: cada um sai de uma coisa que existiu ou existe, e o chapters.csv guarda-a na coluna folk_root para que ninguém a perca pelo caminho. Alminhas e nichos de estrada; romaria e andor; encomendação das almas; mouras encantadas; ferrarias sempre acesas; pregão de feira; cidades soterradas; pontes de seis materiais. A regra é a 2: o habitante nunca justifica a lei. No momento em que alguém explicar ao jogador que "isto é uma tradição portuguesa", o capítulo passou de mundo a museu, e é assim que o folclore vira turismo.

O erro a não cometer

A tentação é escrever mais dez. Não escrevas. A série tem dez capítulos e nem todos são bons — o quinto e o oitavo existem sobretudo para dar respiração. Dez fichas com uma lei clara valem mais do que trinta com uma lei parecida, e o custo real não é escrevê-las: é a canção, o habitante e a arte de cada uma. Orçamento: 10,6 h por capítulo — 5 de arte, 3 de código e desenho, 2 de canção e meia de escrita. Dez capítulos são 106 h e cabem na Fase 5. Trinta não cabem em lado nenhum.

78 — Conquista · novo

A Colheita, e as duas maneiras de acabar com um povo

Pottsfield é uma vila de esqueletos vestidos de abóbora que recebem os irmãos com festa, os condenam a trabalho comunitário por terem estragado uma cerca, e depois os deixam ir embora com um aceno. Não há maldade nenhuma. É cordial, é organizado, e é insuportável exatamente por isso. É a alavanca 5, e é a que dá corpo à melhor frase do dossiê inteiro — a da §17: "o jogador só descobre no fim que a escolha estava a ser feita desde o primeiro cerco." Neste momento essa frase é falsa. Nada regista escolha nenhuma.

Conquistar deixa de dar edifícios. Passa a dar uma dívida de trabalho.

Quando tomas ou assimilas um povo, não recebes a produção dele. Recebes uma Colheita: um período em que aquela gente trabalha para ti, alegremente, à vista de toda a gente, e não é livre.

Duração
C = 6 + 2 × povos que já detiveres. A primeira conquista dura 6 dias; a sexta, 16.
Por assimilação
Metade (arredondada para cima). O diplomata n2 continua a valer a pena (§14).
Produção
140% durante a Colheita. Depois disso, depende do que decidires.
Tropas
Nenhuma. Não se recruta de um povo em Colheita, e a tropa única dele não existe ainda.
Arquitetura
De pé, com andaimes. Lê-se emprestada, e é o único estado visual novo que a Colheita precisa.
Canção
Cantam enquanto trabalham. Em modo menor, e mais alto do que seria natural.
Muralhas
A aldeia fica fora das tuas. A Podridão prefere-a a ti enquanto durar a Colheita.
O que este último ponto faz ao jogo

Durante seis a dezasseis dias tens de defender à noite gente que tomaste à força de manhã, com tropas que não podes recrutar entre eles, enquanto eles cantam. Se falhares, a Colheita acaba ali e perdes o povo inteiro — sem escolha, sem final, sem arquitetura. É a única pressão do jogo que não se resolve com muralha mais alta, e resolve de caminho o problema do snowball: a sexta conquista é quase três vezes mais cara de administrar do que a primeira.

Uma Colheita de cada vez

Conquistar um povo com uma Colheita a decorrer não a duplica: o segundo povo entra em fila. Enquanto espera, produz a 100%, não canta, não dá tropa única e a arquitetura dele não desbloqueia — e a Podridão trata a aldeia dele como trata a outra. Duas aldeias fora das muralhas ao mesmo tempo é a punição por conquistar depressa demais, e é a única que este sistema precisa.

Se uma aldeia em Colheita cair à noite, a Colheita acaba ali: perdes o povo, a decisão, a arquitetura e o diário de fortaleza dele. O diário reaparece no capítulo seguinte que saiu (§77) — a história chega sempre inteira, mesmo quando falhas.

No fim da Colheita, uma decisão. Verbo 1, no núcleo deles.

Soltar

A aldeia fica livre e vira aliada permanente.

  • +25 de Favor (§14)
  • Rota de comércio permanente: +8 moedas/dia
  • A tropa única passa a comprável, a 1,5× do preço
  • O kit de arquitetura deles desbloqueia para o teu construtor
  • A canção deles junta-se ao coro do teu império, para sempre
  • Não podem voltar a ser conquistados: atacar um aliado custa −40 de Favor e quebra todas as outras alianças
Ficar

A aldeia passa a ser tua e a gente também.

  • +80% de produção permanente daquela terra
  • A tropa única passa a recrutável de graça
  • O kit de arquitetura deles desbloqueia para o teu construtor
  • A aldeia cala-se. A canção deles nunca mais toca.
  • Aquele povo deixa de aparecer como vagabundo no mundo
  • O marco deles — o farol, o silo, a chaminé, o portão lavrado, o poço — cria raiz. Vira Amargueiro, +22 de massa por noite, e não se corta.

Nenhuma das duas é o final bom. Soltar é mais fraco em economia e mais forte em opções, e mantém-te dependente de gente que te pode dizer que não. Ficar é a jogada eficiente, e cada vez que a fazes o mundo perde uma voz e a tua noite fica 22 pontos mais pesada. As duas colunas foram equilibradas para que um jogador que só olhe para os números escolha Ficar as seis vezes — porque é isso que tem de acontecer para o Ato IV funcionar (§79).

O mostrador, outra vez, é o som

O coro noturno do teu império tem tantas vozes quantos povos soltaste. Zero vozes é silêncio; seis vozes é uma polifonia a seis partes que só um jogador em cada muitos vai ouvir alguma vez. Não há ecrã de estatísticas, não há barra de moralidade, não há aviso. O jogador que estiver a jogar bem por instinto vai reparar, algures pela terceira conquista, que a noite dele está a ficar mais calada — e não vai conseguir explicar porquê durante mais umas horas.

O sexto marco

Há seis marcos no mundo, um por povo, e estão todos listados no peoples.csv: a árvore colossal, o farol, o portão lavrado, o silo, a chaminé, o poço. O teu império começa num deles — a árvore colossal dos Enramados, a que já desenhaste na panorâmica.

Se ficares com os cinco povos que não são o teu, cinco marcos criam raiz. O sexto é o teu. E o Ato IV explica porque é que ele já lá estava plantado antes de tu chegares.

79 — Lore · revê a §17

A árvore foi plantada, e alguém tinha um turno

A §17 tem a melhor arquitetura narrativa do dossiê: doze diários, quatro atos, uma reviravolta por ato, e a regra de ouro — nenhum diário explica A Podridão; todos descrevem uma decisão humana que, lida em conjunto, a explica. Essa regra fica. O que muda é a resposta, e muda por uma razão mecânica: a v5.2 diz que A Podridão "é o que sobra quando as seis partes estão separadas", e uma coisa que sobra não pode fazer propostas. A §75 deu-lhe uma voz. Agora é preciso que a voz tenha vindo de algum lado.

O que se mantém da §17, palavra por palavra

Doze diários, três por ato. Encontrados por ordem de conquista, não de escrita. Cada um funciona isolado e muda o sentido dos anteriores. A árvore do teu castelo foi plantada dentro da muralha de propósito. As muralhas de cada povo são feitas do material que guardava a parte deles. Os Sob-Raiz não se esconderam por medo — foram enterrados pelos outros cinco. Os dois epílogos são ambos legítimos, e não são bom e mau. Nada disto muda. Muda o que está por baixo.

Os doze, com origem

#AtoOndeO que é, fisicamenteO que deixa perceber
1IRuína · dentro das tuas muralhasUma lista de manutenção de nichos de estradaSeis aldeias pagavam para o mesmo fundo
2IFortaleza · PortuáriosUm manifesto de porto com registo de casamentosHavia comércio, língua comum, famílias misturadas
3IA Romaria ParadaA carta de fundação da procissãoInstituída para levar uma coisa a uma capela uma vez, e nunca mais
4IIA Casa Que ContaA primeira página do livro da ContadeiraSeis entregas para fora. Nenhuma de volta.
5IIFortaleza · HortaUma requisição de material de muralha"Do costume", em quantidade que dá exatamente uma árvore
6IIO Sulco CegoUma carta de quem foi verOs seis materiais cheiram todos ao mesmo
7IIIFortaleza · FornalhaUm bilhete pregado à porta do fornoO forno foi aceso "para a vigília". Ninguém o apagou porque a vigília não acabou.
8IIIO Mercado dos OssosAs contas do Dono da PraçaCinco pagavam ao sexto para fazer o trabalho sozinho. Depois deixaram de pagar.
9IIIFortaleza · Sob-RaizUma escala de turnos, na cidade soterradaDatada do ano em que A Podridão começa, com a semana seguinte já preenchida
10IVA Ponte dos Que VoltaramO registo de travessias do guardaDesde o soterramento, ninguém veio do outro lado
11IVFortaleza · FendaA última ordem assinada pelo conselho comum"A luz mantém-se. Quem a mantiver é rendido à volta do ano." Não há registo de rendição.
12IVO Cerco Que Não AcabaO diário de um reiDescreve o cerco tal como o encontraste. A última entrada é de amanhã, e a letra é a do teu rei.
Um espécime — o diário 9, escrito por inteiro

Semana trinta e uma. Turno da manhã: Ourique, Bendafé, o rapaz do Vale que ainda não disse o nome. Turno da tarde: Marta, e a irmã se a perna deixar. Turno da noite: eu. Falta óleo para nove dias. Mandei recado acima pela terceira vez. Não é queixa. É a conta. Semana trinta e dois, mesma ordem. Semana trinta e três, mesma ordem.

Setenta e uma palavras. Não diz o que é o óleo, não diz para que serve a luz, não diz quem está acima, e não diz que ninguém respondeu — diz que a escala da semana seguinte já estava escrita. É a regra da §17 a funcionar: uma decisão humana, e nada explicado. Os outros onze escrevem-se todos assim.

As quatro reviravoltas

A árvore foi plantada — e a muralha é mais velha do que ela

Mantido da §17, com uma linha a mais que muda tudo: a carta de fundação diz que o muro foi levantado primeiro. Não se plantou uma árvore e depois se protegeu. Fez-se um sítio fechado e depois pôs-se lá dentro uma coisa.

Os seis materiais são uma árvore, cortada em seis

Mantido e tornado literal. Madeira, estacas, lascas, tabique, escória e o material dos Sob-Raiz são o mesmo corpo, tratado de seis maneiras. Cada muralha do jogo é um pedaço. A Ponte dos Que Voltaram (§77) mostra os seis lado a lado e não diz nada.

O pacto nunca foi sobre as partes. Foi sobre quem trata da luz.

A alteração central. Os Sob-Raiz eram os zeladores — o povo com o turno. Os outros cinco enterraram-nos com o trabalho ainda nas mãos, e é por isso que a coisa vem de baixo e é por isso que eles são o único povo sem muralhas: não precisavam de uma, porque não guardavam nada. Guardavam a chama.

A Podridão é o que o zelador se tornou quando ninguém o veio render

Não sobra de nada. É uma pessoa que ficou de turno demasiado tempo, com uma candeia que tem de arder e um combustível que só se arranja de uma maneira. O trabalho passa a quem aceitar ofertas o suficiente. A Dívida da Candeia (§75) é a candidatura ao lugar, e o jogador esteve a preenchê-la desde o dia 3.

A frase que fecha o jogo

Não estava a atacar-te. Estava a pedir para ir embora.

Dita uma vez, no diário 12, e nunca repetida nem explicada.

Três finais, e um deles não é um final

EpílogoCondiçãoO que aconteceO que custa
UniãoDívida ≤ 3 e 5+ povos soltos (de oito, Q-152)Alguém rende o zelador — e o zelador só aceita ser rendido depois de ter um nome, que é o teu último uso do sistema da §76. A candeia apaga-se por mãos que não são as tuas. Os seis materiais voltam a ser uma árvore.Os seis povos deixam de existir como culturas distintas. A tua colagem arquitetónica passa a ser a única arquitetura. O mundo fica igual em todo o lado, e isso é uma perda que o jogo não disfarça.
DomínioDívida ≥ 12 ou 5+ povos ficados (vassalos incluídos, Q-103)Ficas com a candeia. A Podridão obedece-te em vez de te atacar, e a noite continua — agora é tua. Último plano: um diário datado de amanhã, numa letra que não é a tua.Alguém vem render-te, e não vai chegar. O jogo diz-te isto na última imagem e não o comenta.
O TurnoTudo o restoNem uma coisa nem outra: a candeia passa ao teu herdeiro na sucessão (§15). Não é um fim, é um estado guardado.A campanha seguinte começa com a tua Dívida como termo permanente na massa da Podridão, e com as tuas seis decisões como estado inicial do mundo. É o modo longo da Fase 8 (§18), e é o único dos três que admite que o trabalho não acaba.

A precedência, para não haver dúvida na implementação

Três condições que se podem sobrepor precisam de uma ordem escrita, ou dois programadores dão dois finais diferentes ao mesmo estado. Avalia-se de cima para baixo e para na primeira que bater:

#SeEntão
1debt >= 12Domínio. A dívida manda sobre tudo o resto, mesmo com os seis povos soltos. Quem chegou aos doze já aceitou o lugar.
2peoples_kept >= 4Domínio.
3debt <= 3 e peoples_released >= 4União.
4tudo o restoO Turno. Não é o final de consolação: é o estado mais provável de uma primeira campanha, e é para ele que a Fase 8 tem de estar boa.

Um povo perdido a meio da Colheita (§78) não conta para nenhum dos dois contadores. Nem soltaste nem ficaste — e é o único caso em que uma decisão do jogo não é uma decisão tua.

O que isto acrescenta em código: quase nada

Três contadores no estado autoritativo (§45): debt_lantern, peoples_released, peoples_kept. Uma tabela de doze diários com origem, que já ia existir de qualquer maneira (journal_data.gd está escrito e vazio). Uma verificação de epílogo no fim da campanha. O trabalho todo desta secção é de escrita, e a escrita tem um orçamento: doze fragmentos de 60 a 90 palavras. Se um diário precisar de 200 palavras, é porque está a explicar, e a regra da §17 diz que não explica.

80 — Arte · revê a §11 e a §22

O preto entra na paleta, e a noite deixa de ser azul

Nick Cross, o diretor de arte da série, disse uma coisa que quase nenhum artista de televisão diz: recusou a teoria de cor impressionista que se ensina hoje e usou preto académico, à maneira da pintura antiga. Não é uma escolha estética — é o que permite que uma cena inteira se resolva com duas massas escuras, um céu de ocre e uma luz. É a alavanca 6, é a mais cara das sete em horas, e é a que resolve o diagnóstico da §11: "não é falta de resolução nem de talento, é falta de um plano no meio".

Decidido — ADR 0011, 13 de setembro de 2026

A noite é castanha. A Q-037 está fechada e a tabela de fases da §05 já foi corrigida. O que se segue é a razão, e fica escrita porque daqui a um ano ninguém se lembra dela.

As três imagens que enviaste já decidiram isto

Os dois cartazes que mandaste com este pedido são a mesma composição repetida: fundo de ocre queimado sem gradiente suave, duas massas de silhueta pretas sem detalhe nenhum, três figuras pequenas em contraluz, e uma fonte de luz quente ao centro. Zero azul. Zero névoa fria. É exatamente o oposto do que a §05 manda fazer à noite. Esta secção resolve a contradição do lado dos cartazes, e não do lado da tabela.

1 · Três valores de silhueta, e são para não desenhar

A tua paleta tem 112 cores, 23 delas neutras, e o mais escuro — #14140F — só é usado como contorno. Proposta: três valores dedicados a preencher, não a contornar.

Silhueta
3 valores
Terra e madeira
a tua família de 30
Candeia
2 valores
Plano (§11)Valores permitidosContornoRegra
Distância · y 300–4201NenhumUma massa chapada. Sem textura, sem gradiente, sem variação. #17130D.
Plano médio · y 420–5172Nenhum#241F17 e #2E251A. É a faixa que falta, e desenha-se em duas horas se forem só dois valores.
Plano de jogo · y 517–720toda a paleta2 pxInalterado (§22).
Primeiro plano · y ≈ 640–7202Nenhum#100D09 e #14140F. Sobrepõe-se às tropas e não compete com elas.

Cinco dos seis planos de parallax passam a ter um teto de valores. Isto não é uma restrição artística — é uma redução de horas: a §22 orçamenta 12 h para as seis camadas de parallax e o que as torna caras é a indecisão sobre quanto detalhe pôr. Com teto de valores, as três camadas de fundo desenham-se em 5 h e ficam melhores.

2 · A noite passa a castanha

A §05 mandava "Azul profundo" na noite. A tua paleta tem 30 cores de madeira e terra, 21 de estuque, 23 neutros — e 9 de azul-petróleo. A noite atual usa a família de que tens menos, o que obriga a inventar cor que não é tua, e produz o azul genérico de todos os jogos com ciclo dia-noite.

Fasev5.2Matiz · saturação · valor do tintAmostra
Alvorada · 15 sÂmbar rasante38° · 0,44 · 0,91 — mantém-se#E8B87A
Manhã · 85 sNeutra42° · 0,10 · 0,95#F2EADA
Meio-dia · 40 sAlta, dura48° · 0,05 · 1,00#FFFBEF
Tarde · 85 sDourada36° · 0,41 · 0,91#E9C68A
Crepúsculo · 30 sVermelha baixa18° · 0,68 · 0,73#B9663A
Noite · 105 sAzul profundo (v5.2)32° · 0,22 · 0,16 — castanho, com chão em 0,11 · ADR 0011#2A2117
A regra das duas exceções

Com a noite castanha, o ecrã noturno tem exatamente duas cores que não são terra, e cada uma delas quer dizer uma coisa: violeta (#59386B, o teu token --rot) é A Podridão e tudo o que é dela, a começar pelo Lume que arde roxo na base de onde ela nasce; âmbar (#F6D89B ao núcleo) é a tua luz — fogueira, farol, archote e tocha na mão. Os efeitos de proteção pertencem às regras de cada fonte: a tocha gratuita da ADR 0076 apenas ilumina e não afasta emboscadas; a cor, por si, não concede proteção. Um jogador aprende isto em duas noites sem que ninguém lho diga, e a partir daí lê o ecrã inteiro de relance: roxo é dela, âmbar é teu. (ADR 0034, o dono a 29/09/2026: até aqui a candeia dela também era âmbar, e o ecrã dizia que a luz era dela.) É a coisa que o azul profundo torna impossível, porque o azul é frio como o violeta e as duas coisas fundem-se.

3 · A luz é o assunto, e desenha-se com três paragens

A §22 põe "Luz quente pontual" no Bloco 4 com 3 h e sem especificação. Passa a ser o primeiro item do bloco, com regra:

  • Três paragens, nunca um gradiente. O Lume: Núcleo #E9D5FF, meio #C084FC, bordo #8B5CF6, e depois dissolve para o ambiente com dither de 2 px — o mesmo shader de revelação que a §11 já pede para o corte de terra. O teu fogo leva as mesmas três paragens em âmbar: #F6D89B, #E8A94E, #AE4F16 (ADR 0034).
  • Uma luz domina por ecrã. Se duas competem, o ecrã lê plano. Consequência de design, não só de arte: as tuas fogueiras têm de ser mais fracas do que o Lume à mesma distância — e o farol do §10 também: ilumina os seus 300 px com paragens próprias a metade da força (Q-078). O que faz do Lume, roxo, ao fundo, o centro de composição de todas as noites, que é precisamente onde a §36 quer o GIF de marketing: a base dela a arder no horizonte e as tuas fogueirinhas âmbar a segurar a linha.
  • Nada tem contorno dentro do raio de luz. Perto da luz vê-se cor e volume; longe vê-se silhueta. Inverte-se a lógica de sprite habitual e é o que dá a sensação de pintura.

4 · A cara na casca

O Amargueiro (§74) é o sprite com maior retorno do jogo inteiro e custa três horas. Um tronco por escala — 3 troncos — mais a slot face das personagens que já tens desenhadas, encaixada na casca com uma máscara de casca por cima. Cada Amargueiro tem a cara de quem morreu ali, porque é literalmente o mesmo ficheiro. Não há sprite novo por unidade, não há variação a desenhar, e a variedade é automática e total.

5 · O teste de silhueta, no CI

A §31 já tem cultura de testes de design. Este cabe lá e corre sobre qualquer captura, como o guião de densidade da §01:

RegraComo se medeFalha se
Teto de valores por camadaConta cores únicas no PNG exportado de cada camada de parallaxDistância > 1 · plano médio > 2 · primeiro plano > 2
Leitura a 1 bitLimiar de luminância a 0,42 sobre o ecrã compostoNão se identifica a cena. Manual, uma vez por ecrã acabado.
Rampa de densidade (§01)Cores distintas em janela de 16×16Topo > 18 · base < 30. Mantém-se da §01.
Duas friasPíxeis de matiz 200°–290° com saturação > 0,35, fora da mancha, à noite> 0,5% do ecrã
Porque é que o teste tem um limiar de saturação

Sem ele o teste chumbava a tua própria arquitetura: a telha azul-petróleo é uma das sete famílias da paleta (§22) e cai dentro de 200°–290°. Com o LUT da noite a levar a saturação para 0,22, os telhados descem abaixo de 0,35 e saem do teste sozinhos — continuam azuis à luz do dia e são cinzento-frio à noite. O que fica acima de 0,35 e frio, à noite, só pode ser uma coisa, e é essa a regra que o teste protege.

O que isto muda no calendário da §22

Parallax desce de 12 h para 5 h por causa do teto de valores. Luz e atmosfera sobe de 18 h para 24 h, e muda de ordem: a luz pontual passa a primeira e o LUT de hora do dia ganha mais duas horas para a rampa castanha. Amargueiro acrescenta 3 h ao Bloco 1. Saldo: +2 h no total da arte, com a §11 resolvida e a assinatura visual fechada. É o melhor negócio da Parte XIII e é o único item dela que eu faria mesmo que rejeitasses tudo o resto.

81 — Som · novo

Uma canção por povo, e a noite tem duas notas

A banda sonora da série é anterior a 1950 e é tocada em instrumentos da época — Elijah Wood descreveu-a como música que sairia de um gramofone. O que a torna eficaz não é a nostalgia: é que as personagens cantam sobre o que são. O Salteador canta que é salteador. A taberna inteira se apresenta a cantar. A informação de mundo chega pelo som e não por texto, e é por isso que cem minutos chegam.

O achado: o cante alentejano é o Sacred Harp ibérico

A série usa shape-note singing — polifonia sem instrumentos, de comunidades rurais americanas, do hinário The Sacred Harp de 1844. Soa antiga, soa a muita gente, e soa ligeiramente assustadora porque ninguém se destaca. Portugal tem o equivalente exato: cante alentejano, duas vozes solistas — o ponto e o alto — e um coro que entra por baixo, sem um único instrumento, património imaterial da UNESCO. Nenhum jogo o usou. É a decisão de som mais barata e mais distintiva que este projeto pode tomar, e vem do mesmo sítio de onde já vem a arquitetura dos teus povos.

Uma canção por povo

Vinte a quarenta segundos, cantada, sem letra traduzível — sílabas, vocalizos, ou palavras tão poucas que não custam localização. Isto resolve de caminho o problema da §27: o jogo continua a quase não precisar de idiomas, e ganha voz humana na mesma.

PovoTexturaRaizComo soa a Colheita (§78)
EnramadosVoz sozinha e adufeBeira Baixa · pandeiro quadradoMeio tom abaixo, e o adufe fora de sítio
PortuáriosDuas vozes e cavaquinho, ritmo de viraMinho · romariaDepressa demais
FendaUma nota longa de gaita-de-folesTrás-os-Montes · gaita mirandesaA nota não acaba nunca
HortaPonto, alto e coro, sem instrumentosAlentejo · canteFalta-lhes o ponto. Cantam só o coro.
FornalhaBombo, ferrinhos e martelo na bigornaFerrarias · percussão de trabalhoCertinho. Certinho demais.
Sob-RaizViola campaniça desafinada e uma voz que não chega à notaBaixo AlentejoNão cantam. Em Colheita, nunca cantaram.

O coro noturno é o mostrador de moral

Está dito na §78 e repete-se aqui porque é a mecânica, não a decoração: o coro da tua noite tem tantas vozes quantos povos soltaste. Cada povo solto acrescenta a sua parte à mesma peça — que foi escrita a seis partes desde o princípio e nunca se ouve inteira num jogo normal. Cada povo ficado acrescenta silêncio. Não há ecrã, não há barra, não há aviso.

A sexta voz é a dos Sob-Raiz, e é a única que nunca fica bem. Soltos, entram — mas a voz não chega à nota, e o coro fica ligeiramente errado durante o resto da partida. Só no epílogo União é que ela assenta, e é a última coisa que se ouve antes de o ecrã escurecer. Um jogador que chegue lá com os seis povos soltos ouve uma peça a seis partes afinada pela primeira vez em vinte anos de mundo, durante onze segundos. É esse o prémio, e não há troféu nenhum a dizê-lo.

As duas notas

Motivo
Duas notas, terceira menor a descer, num palheta grave — harmónio ou realejo de feira.
Volume
Função da distância da mancha à muralha mais exterior. Substitui inteiramente um indicador de proximidade no HUD (§24).
Intervalo
Aperta com a massa. Terceira menor com massa baixa; segunda menor quando a massa passa 400. Um jogador aprende a ouvir quão má é a noite antes de a ver.
Candeia
Com Dívida ≥ 6, o motivo ganha uma terceira voz, uma oitava acima, que não está afinada com as outras duas.
A Oferta
Tudo cala. Um segundo de silêncio absoluto antes da frase (§75) — é o único silêncio total do jogo e é por isso que funciona.

A encomendação, na alvorada

Oito segundos, duas vozes, sem instrumentos. Toca quando há nome novo (§76) ou quando há Amargueiro novo (§74). A mesma melodia para as duas coisas. O jogo não distingue quem foi nomeado de quem criou raiz, e essa é a decisão de design desta secção inteira: quem canta pelos mortos no caminho, à noite, também não distingue.

O companheiro canta uma vez

O companheiro do trono (§08) — a criatura verde que já desenhaste — não fala e não combate. Uma vez por ato, sem aviso e sem razão, canta. Trinta segundos, voz grave e boa demais para o corpo que tem, e o resto do mundo cala-se para ouvir. É o momento do sapo, é a coisa que a comunidade recorta e põe em todo o lado, e custa quatro canções.

O nome dele é escolhido pelo jogador com o Verbo 1 sobre uma placa entalhada no núcleo, ciclando uma lista de vinte. Muda-se as vezes que se quiser. No epílogo, o nome que estiver escolhido é o nome que aparece.

Orçamento de som

Seis canções de povo (6 × 3 h), dez canções de capítulo (10 × 2 h — contadas no orçamento da §77), quatro do companheiro (4 × 2 h), o motivo da Podridão com quatro estados (4 h), a encomendação (2 h), e a mistura por camadas do coro (6 h). 58 h de composição e gravação, tudo com voz e instrumentos acústicos, e nada disto precisa de orquestra. É contratável a um grupo de cante e a um instrumentista, e o valor de marketing (§36) de um trailer com seis vozes a cappella sobre uma silhueta preta e uma candeia é difícil de exagerar.

82 — Disciplina · novo

O que não se importa, o que custa, e o que fica por decidir

Uma influência mal gerida deixa de ser influência e passa a ser fan game. As seis coisas abaixo são boas na série e seriam más aqui, e cada uma tem uma razão que não é de gosto — é de formato, de duração ou de sistema.

Seis coisas a não trazer

O quePorque é bom láPorque é mau aqui
A revelação do purgatórioCem minutos de investimento, cobrados uma vez, e recontextualizam tudoQuarenta horas com permadeath e decay (§16). "Afinal nada aconteceu" apaga o jogo que o jogador acabou de jogar.
Os dois irmãosUm contraste de temperamento carrega a série inteiraEmpire permite descobrir imperadores e transferir o governo através do herdeiro (§08, §15). Um par fixo restringiria essa diversidade de soberanos e povos.
A iconografia americanaÉ o vernáculo do país deles, com cem anos, posto fora de sítioNão é o teu. Abóboras com cara ao lado de palafitas da Carrasqueira e de ferrarias bascas lê-se a empréstimo. §73.
Dez capítulos como espinhaA série é uma viagem: a estrutura episódica é o enredoA espinha do Empire é o ciclo dia-noite. Os capítulos (§77) são conteúdo lateral, e assim que forem obrigatórios partem o loop.
O registo irónico modernoO Wirt fala como um adolescente de 2014, e o atrito com o mundo é metade da piadaO Empire não tem protagonista falante nem texto de diálogo (§27). Sem onde assentar, a ironia vira anacronismo solto.
O epílogo que arruma toda a genteRecompensa emocional depois de cem minutos de ameaçaCinquenta horas de mortes permanentes. Arrumar toda a gente no fim desmente cada uma delas.

O problema que este trabalho criou, e a solução

Acessibilidade — apanhado a tempo

A §78 e a §81 põem o mostrador de moral inteiramente no som: o coro tem tantas vozes quantos povos soltaste. Para um jogador surdo, esse sistema não existe, e a §26 quer Steam Deck Verified e acessibilidade a sério. A Dívida da Candeia tem redundância visual — o brilho da candeia (§75) — mas o coro não tinha nenhuma.

Proposta: cada povo solto hasteia o seu estandarte sobre o teu núcleo, um por povo, no mesmo sítio e na mesma ordem. Seis mastros. Zero números, zero UI, e o mostrador passa a ter as duas vias. Um povo ficado deixa o mastro vazio, o que é uma imagem melhor do que o estandarte cheio.

O que custa, e onde entra

SecçãoCódigoArteSomEscritaTotalFase (§33)
§80 · Preto na paleta, noite castanha2+2——4Fase 0
§74 · Termo dos Amargueiros na massa1———1Fase 1
§74 · Amargueiro e candeia, completos103——13Fase 2
§75 · A Oferta e a Dívida1242220Fase 3
§76 · O Nome721111Fase 4
§78 · A Colheita83——11Fase 5
§77 · Dez capítulos3050206106Fase 5
§79 · Os doze diários e os três epílogos3——1013Fase 6
§81 · Som, tudo o resto6—38—44Fase 6
§83 · Os primeiros vinte minutos34—18Fase 1
§84 · Os catorze testes de design6———6Fase 1
Total88686120237—

Duzentas e trinta e sete horas, das quais 106 são um só item — os dez capítulos — que é cortável até quatro sem partir nada, porque a §77 já prevê que só seis apareçam por campanha. O caminho mínimo que dá a transformação inteira é §80 + §74 + §75 + §83 + §84: 52 horas, e é aí que está quase todo o efeito. As §83 e §84 entram nesse mínimo de propósito: sem a primeira, o jogador conhece o Amargueiro tarde demais para ele significar alguma coisa; sem a segunda, os números das outras três desafinam-se sozinhos até ao mês oito.

A ordem, e porque é que a §80 é primeiro

Só há uma dependência dura em toda a parte, e é de calendário e não de código: o teto de valores por camada tem de ser decidido antes de se desenhar cenário. Decidir agora custa 4 h. Decidir na Fase 5 custa redesenhar as camadas de fundo dos seis biomas. Tudo o resto pode entrar pela ordem que quiseres, e as §76, §77 e §81 podem cair inteiras sem que as outras deixem de funcionar.

Onde ficam os testes e os riscos

Os catorze testes de design, as seis linhas novas do registo de risco da §37 e a lista dos campos de estado que o save passa a ter estão na §84. Nenhum sistema desta parte entra no repositório sem o teste que o guarda.

Uma decidida, nove por decidir

Q-037 · fechada

A noite é castanha — decidido a 13 de setembro de 2026, docs/adr/0011-noite-castanha.md. A tabela da §05 está corrigida e o clock.csv deixou de marcar night_tint_hsv e night_value_floor como proposta. Com esta fechada, nenhuma pergunta da Parte XIII bloqueia a Fase 0.

#A perguntaPropostaBloqueia
Q-038A massa base desce de 60 para 40 e o termo do dia de 26 para 18. A Q-001 (o Aríete de lodo contra 105 s de noite) muda de resposta?Recalcular o teste da §31 com os números novos antes de o desmarcar.F1-09
Q-039A lei do Forno Aceso (§77) faz nascer um Amargueiro dentro das muralhas, contra a regra da §74. Exceção ou erro?Exceção deliberada, e a única. Se houver uma segunda, corta-se esta.Fase 5
Q-040A oferta "O que brilha, e nada mais" salta 105 s de jogo. Uma vez por campanha, ou com intervalo?Uma vez por campanha. Saltar a noite duas vezes ensina a evitar o jogo.Fase 3
Q-041Nove nomeados é teto fixo ou cresce com o império?Fixo. Cresce e deixa de significar nada.Fase 4
Q-042C = 6 + 2 × povos detidos põe a sexta Colheita em 16 dias. Longo demais?Medir em playtest. Alternativa: 6 + 1,5 × n, arredondado.Fase 5
Q-043Seis capítulos por campanha de dez, ou os dez sempre?Seis. Quatro por descobrir valem mais do que dez esgotados.Fase 5
Q-044O motivo sonoro da Podridão substitui um indicador visual de proximidade, ou coexistem?Coexistem, mas o visual é a própria candeia e não um ícone.§26
Q-045A Dívida da Candeia fica escondida mesmo no modo de acessibilidade?Fica. O brilho e os estandartes são a redundância; um número não é acessibilidade, é spoiler.§26
Q-046O Turno (terceiro epílogo, §79) entra na Fase 8 ou corta-se?Entra. É um sinalizador no save e um termo na semente, e é o mais forte dos três.Fase 8
A regra da Parte XII continua a valer

A §72 fechou a pré-produção e disse que o dossiê só muda por correção, por decisão que vira ADR, ou por número que um playtest desmentiu. Esta parte é do segundo tipo e tem de pagar o preço disso: cada secção daqui tem de virar ADR antes de virar código, e as dez perguntas acima entram no QUESTIONS.md com a proposta que já está nos CSV do anexo. Nada foi decidido em silêncio. A Q-037 fechou a 13 de setembro (ADR 0011): a noite é castanha, e com ela fora do caminho nenhuma pergunta desta parte bloqueia a Fase 0. As nove que sobram esperam pelas Fases 3 a 8, ou por um playtest.

83 — Aprendizagem

Aprender pela exploração, sem cronologia imposta

Esta secção substitui o guião antigo de minutos fixos, castelo inicial, morte obrigatória de um vagabundo e coordenadas únicas para as descobertas. A fundação livre da §25 é incompatível com prometer a mesma cena no mesmo minuto em todas as partidas. Preservam-se as lições narrativas e a identidade do Lume; a forma de as encontrar acompanha a exploração.

Uma relação por descoberta

Descoberta O que deve tornar-se compreensível Condição de apresentação
Árvore estranha/Amargueiro antigo O mundo conserva perdas anteriores ao jogador Conteúdo autorado pode existir desde o começo; não exige matar um fundador
Moeda e primeiro trabalho O dinheiro mobiliza uma pessoa e produz mudança visível O destinatário e o custo são legíveis; nenhuma compra invisível
Bosque e caça Cortar uma árvore pode mudar o que vive ali Mostrar origem, destino e limiar antes do corte (§87)
Boca de subsolo Há lugares sob o caminho, com função e limites Entrada contextual, área útil e regresso legível; não todas as ruínas têm interior
Primeiro sinal do Lume A ameaça tem presença e origem Sinal espacial/sonoro coerente com a sede, sem denunciar segredo distante
Primeira Oferta É possível negociar e haverá consequências Elegibilidade e custos dos dados; não inventar um pagamento forçado para avançar
Primeira perda real A morte deixa memória e transforma o território Só ocorre se resultar da simulação; não é evento inevitável de tutorial
Primeiro nome merecido O reino recorda feitos de alguém O feito resulta de comportamento real; não se concede só por chegar a um minuto

A curiosidade orienta: uma silhueta, um som, um caminho parcial ou um contraste podem sugerir um destino. Não se enche o Dia Um de tarefas de recolha que retirem espaço à decisão territorial. O jogador pode passar por um conteúdo sem o resolver e regressar com meios novos.

Continuidade e acessibilidade

Os sinais visuais, sonoros e textuais devem transmitir a mesma decisão por caminhos complementares. A noite é difícil de ver, não ilegível (Q-189). Sons importantes têm legenda e indicadores; o modo de acessibilidade não retira informação necessária. Telemóvel mantém todas as ações, alcance dos botões e texto legível (Q-187, §24/§26).

Conhecimento descoberto persiste conforme a §16. Reabrir, atravessar uma fronteira ou trocar imperador não repõe prémios nem transforma um encontro único em fonte repetida. Quando o despertar social estiver implementado, os primeiros grupos devem ser percebidos por alterações no mundo, não por cidades materializadas sem causa.

Critérios de qualidade

O jogador deve conseguir explicar por que fundou ali, de onde veio o rendimento, por que uma obra está indisponível, o que mudou depois de cortar e por que a primeira noite foi perigosa. Se precisar de consultar nomes de sistemas técnicos para responder, a apresentação falhou. Telemetria opcional e local deve registar a sequência e o contexto sem recolher dados pessoais desnecessários (§32).

As janelas de teste são instrumentos de comparação, não gatilhos narrativos obrigatórios. Um Amargueiro, uma Oferta e uma pessoa nomeada devem manter significado numa partida em que o jogador funda cedo, noutra em que explora muito e num save antigo migrado.

84 — Garantias · novo

Os testes que impedem isto de apodrecer, e os riscos que traz

A §31 diz porque é que os testes existem neste projeto: sem eles não consegues rever o que a IA escreve, e ao fim de duas semanas deixas de tentar. Nove sistemas novos sem testes de design são nove sistemas que se desafinam sozinhos no mês oito e ninguém dá por isso. Catorze testes, seis riscos novos para a §37, e a lista dos campos de estado que o save passa a ter — porque a Q-036 obriga a que sejam todos tipos base.

Os catorze testes de design

#O que garanteFalha quandoSecção
D-01A massa em campo limpo ao dia 20 é 400Alguém mexe nos coeficientes sem refazer a tabela da §74§74
D-02O Lenho Amargo não tem preço de venda, e o rendimento sobe com a escalaAlguém lhe dá valor em moedas — e a exploração do vagabundo volta§74
D-03Um Amargueiro não se corta antes de aguentar uma noiteA regra 2 da §74 se perde numa refatoração§74
D-04A penalização por recusa nunca passa de 40O teto desaparece e um jogador principista fica com um jogo impossível§75
D-05Uma oferta por noite, mesmo com duas manchas a partir do dia 12A voz vira um sistema de menus§75
D-06A Dívida nunca desce, em nenhum caminho de códigoAparece uma forma de a limpar, e o epílogo deixa de significar nada§75 · §79
D-07Nunca há mais de nove nomeados vivosO teto cede e o nome deixa de valer§76
D-08Um título volta com ordinal depois de três dias de lutoO sistema se esgota às nove horas de jogo§76
D-09Todos os capítulos colocados têm caminho alternativoUm capítulo passa a bloquear a rota e parte a regra 5§77
D-10Nenhum capítulo tem law_enters_wallsAparece um, e a regra 6 da §77 passa a ter exceção (Q-039)§77
D-11Seis capítulos por campanha, e o Cerco é sempre um delesO diário 12 fica inalcançável nalgumas sementes§77
D-12Os doze diários são alcançáveis em mil sementes seguidasUma combinação de capítulos deixa um ato sem fragmentos§79
D-13O epílogo é determinista e segue a precedência da §79Dois estados iguais dão dois finais§79
D-14O save dos sistemas novos só contém tipos baseAlguém guarda um Resource e reabre o buraco da Q-036§84

Cinco deles escrevem-se em vinte linhas e são os que apanham as regressões que doem:

# tests/design_unknown_test.gd
extends GdUnitTestSuite

func test_d01_massa_campo_limpo_dia_20() -> void:
    assert_float(Rot.mass(20, 0, 0, 0, 0)).is_equal_approx(400.0, 0.1)

func test_d02_lenho_nao_e_moeda() -> void:
    assert_bool(Lenho.sellable).is_false()
    assert_int(Amargueiro.yield_for(1, false)).is_equal(1)   # vagabundo
    assert_int(Amargueiro.yield_for(3, false)).is_equal(3)   # elite
    assert_int(Amargueiro.yield_for(1, true)).is_equal(5)    # nomeado

func test_d03_espera_uma_noite() -> void:
    var a := Amargueiro.root(&"vagrant", 1, false, 4)
    assert_bool(a.can_fell(4)).is_false()
    assert_bool(a.can_fell(5)).is_true()

func test_d04_recusa_tem_teto() -> void:
    var r := RotState.new()
    for i in 30: r.refuse()
    assert_float(r.refusal_penalty()).is_less_equal(40.0)

func test_d10_nenhuma_lei_entra_em_casa() -> void:
    var n := ChapterDB.all().filter(func(c): return c.law_enters_walls).size()
    assert_int(n).is_equal(0)
O D-12 é o único caro, e é o que salva a narrativa

Mil sementes, cada uma a correr só o gerador de mundo e a atribuição de diários — sem simulação, sem cenas. Corre em segundos e é a única maneira honesta de afirmar "uma partida vê sempre os doze". Uma combinação improvável de capítulos que deixe o Ato II sem fragmentos é o género de coisa que ninguém descobre em playtest e que um jogador descobre na semana de lançamento.

Seis linhas novas para o registo de risco da §37

RiscoProb.ImpactoSinal de alarmeMitigação
A §77 come o calendário — 106 h num só itemAltaGrandeMais de três capítulos por acabar no fim da Fase 5Quatro é o mínimo viável. A Q-043 já prevê que só seis apareçam por campanha; com quatro, aparecem quatro e ninguém nota.
O Amargueiro vira economia em vez de dilemaMédiaGrandeTelemetria: tropas a morrer fora do muro sem combate; amargueiro_decision com 90% em "cortar"As três regras da §74 e os testes D-02 e D-03. Se o sinal aparecer na mesma, o rendimento por escala desce antes de qualquer outra coisa.
A Oferta degenera em "aceitar sempre" ou "recusar sempre"MédiaGrandeMais de 85% das respostas na mesma direção, ao longo de uma campanhaO teto da recusa (§75) já impede o segundo caso. Para o primeiro, o preço das ofertas sobe com a Dívida e as caras só aparecem depois dos três.
A noite castanha esconde a manchaMédiaMédioPlaytesters a serem apanhados de surpresa pela Podridão em campo abertoO teste das "duas frias" (§80) e a regra de que o violeta é a única cor fria saturada da noite. Se falhar, sobe-se o valor da mancha e não o do ambiente.
A cara na casca lê-se como bugBaixaMédioAlguém pergunta "porque é que aquela árvore tem cara?" antes do minuto trezeO Amargueiro velho do minuto 0:00 (§83) existe precisamente para que a pergunta chegue depois da resposta.
A raiz portuguesa lê-se como folclore turísticoMédiaMédioUm habitante a explicar a tradição que representaA regra 2 da §77: o habitante cumpre a lei e nunca a justifica. Uma linha de diálogo que comece por "aqui é costume" corta-se.

O estado novo, e porque é que ele passa na Q-036

A ADR 0007 fechou o save em FileAccess.store_var e get_var(false): só tipos base, nada de Resource, nada de caminhos que o motor possa carregar. Tudo o que estes nove sistemas guardam cabe nessa regra sem exceção, e cabe em cerca de dois quilobytes.

CampoTipo baseO que é
debt_lanternint0–20. Nunca desce.
refusals_by_dayPackedInt32ArrayOs últimos cinco dias. Janela deslizante.
amargueiro_x · _band · _tier · _day4 × PackedFloat32Array / PackedInt32ArrayArrays paralelos, um índice por árvore. Sem objetos.
amargueiro_titlePackedStringArrayVazio quando anónimo. É o que põe a cara certa na casca.
titles_holder · titles_ordinal · titles_mourning3 × Dictionary de String → intQuem tem, quantos já tiveram, até quando está de luto.
colheita_people · colheita_days · colheita_queueString · int · PackedStringArrayUma de cada vez, e a fila (§78).
peoples_released · peoples_kept2 × PackedStringArrayAs seis decisões. É o epílogo.
chapters_placed · chapter_visits · journals_foundPackedStringArray · Dictionary · PackedStringArrayAs visitas contam para a Casa Que Conta e para a Ponte.
A única coisa desta parte que não tem rede

Todos os sistemas acima têm um teste, um teto, um sinal de alarme e um plano B. Um não tem: a escrita. Doze diários de setenta palavras, doze frases de oferta de oito, nove títulos e dez leis de capítulo. Se esse texto for morno, nenhum destes sistemas salva a Parte XIII — e não há teste automático que apanhe prosa morna. O único controlo possível é o espécime da §79: se um fragmento novo não aguentar a comparação com o diário 9, reescreve-se. É trabalho de uma tarde por ato, e é o que decide se isto foi uma boa ideia.

85 — Anexo · novo

Os ficheiros de dados

Tudo o que esta parte decide está em CSV, com as mesmas colunas de disciplina que a §71 impôs ao resto: _phase, _src, _proposed e _notes. O que veio do dossiê está marcado como tal; o que foi proposto aqui está marcado como proposta, uma coluna a uma. Nada foi decidido em silêncio, e o content_report.py continua a poder contar.

FicheiroLinhasO que guardaSecção
data/source/rot.csv1A Podridão: fórmula da massa termo a termo, velocidade, candeia, raio de luz, limiares da Dívida§74 · §75
data/source/amargueiros.csv3Os três destinos, custos, rendimentos e o efeito na massa§74
data/source/offers.csv12As doze ofertas: frase, preço, efeito, condição, dívida§75
data/source/titles.csv9Os nove feitos, os títulos e o que cada um dá§76
data/source/chapters.csv10Os dez capítulos: lei, habitante, canção, diário, bioma§77
data/source/journals.csv12Os doze diários: ato, origem, objeto físico, o que revela§79
data/source/peoples.csv6Alterado: +song_texture, +colheita_song, +landmark_roots§78 · §81
data/source/creatures.csv+1Alterado: +tender — o Zelador, que não ataca§75
data/source/clock.csv1Alterado: +night_tint_hsv, o castanho da §80§80
src/sim/data/*.gd5RotData alargado, AmargueiroData, OfferData, TitleData, ChapterDatatodas
Onde caem no repositório
Empire/
├─ data/source/
│  ├─ rot.csv            # novo — fecha a Q-026 da §72
│  ├─ amargueiros.csv    # novo
│  ├─ offers.csv         # novo
│  ├─ titles.csv         # novo
│  ├─ chapters.csv       # novo — substitui os biomas caóticos soltos da §17
│  ├─ journals.csv       # novo — enche o journal_data.gd que já existia vazio
│  ├─ peoples.csv        # 3 colunas novas
│  ├─ creatures.csv      # 1 linha nova
│  └─ clock.csv          # 1 coluna nova
└─ src/sim/data/
   ├─ rot_profile.gd     # alargado
   ├─ amargueiro_data.gd # novo
   ├─ offer_data.gd      # novo
   ├─ title_data.gd      # novo
   └─ chapter_data.gd    # novo

O conversor tools/csv_to_tres.gd gera os recursos a partir das tabelas registadas em data/source/_tables.csv — quantos são conta-o a ferramenta (docs/recovery/validation.json, conferido pelo tools/check_claims.py), e não esta frase. Os scripts em tools/recovered_generators/ são geradores históricos de CSV, não de .tres; não devem repor os dados durante o balanceamento. O architecture_test.gd continua a valer sem alterações — nenhum destes recursos importa nada de fora de src/sim/.

Parte XIV · Consolidação

O reino que foi decidido

Território, sociedades, sucessão e execução, com as respostas do painel ligadas às regras.

86 — Consolidação

Decisões, precedência e conflitos resolvidos

Esta parte fecha a distância entre o dossiê e o projeto que foi decidido. A fonte editável continua a ser docs/dossie.html; docs/design/ é gerado e não se edita à mão. Os relatórios e ADRs guardam pesquisa, motivação e migrações; as regras operacionais devem também aparecer na secção temática do dossiê.

Precedência por cláusula

Ordem Fonte Como se utiliza
1 Instrução explícita mais recente do dono, com âmbito identificável Substitui só a cláusula incompatível; não aprova todo o documento por proximidade
2 Dossiê consolidado e decisões aceites aqui referenciadas Contrato funcional de desenvolvimento e revisão
3 ADRs, relatórios adotados e registo da pergunta Justificação, histórico, exceções e detalhes; divergência descoberta volta a ser reconciliada
4 CSVs e catálogo de conteúdo Valores que o executável utiliza; _proposed conserva a natureza provisória
5 Código, testes e publicação Evidência do estado entregue, distinta da intenção de design

A escolha “outra” lê-se pelo seu texto, não como rejeição automática. A escolha “aprovar” aplica-se à proposta apresentada, sem abranger pendências que a própria pergunta separava. “Adiar” não é autorização. Uma pergunta sem resposta não se fecha por inferência. A tabela consultada guarda a resposta mais recente, mas não um histórico completo de revisões da proposta: títulos e contexto são cruzados com o repositório; não se inventa um hash de proposta que o painel não forneceu.

Conflitos que deixam de coexistir

Tema Formulação ultrapassada Regra que passa a reger Fonte e execução
Fundação Castelo inicial, duas bandeiras ou duas moedas obrigatórias Caravana móvel; qualquer coordenada válida; fundação gratuita ADR 0066/0070; fluxo Solo existente
Fundadores Dois trabalhadores, pioneiro e companhia pronta Três cidadãos sem ofício; ferramentas e companhia pagas Q-223, Documento Mestre, ADR 0066
Bancas Disponíveis antes do reino ou fora da proteção inicial Nascem na fundação, dentro do primeiro traçado; exceção para conseguir formar o construtor Q-221 atualizada, Q-231
Biomas Entrar numa região reinicia a partida Mundo contínuo com identidades e ecossistemas; explorar não repõe recursos iniciais Q-173/Q-221
Personagens Classes controláveis independentes Só imperadores controláveis, três iniciais, outros descobertos Q-195/Q-197
Troca Interagir junto de qualquer imperador vivo Herdeiro preparado, escolha na sua casa, transferência e reinício do ciclo Q-196/Q-202; UN-32 pendente
Casa do Herdeiro Abre na Vila Abre na Fortaleza, atual máximo da sede; expansão e apoio continuam necessários Q-222/Q-233; realm_stages.csv
Quarto imperador Conceito por escolher Armadura completa, cura sentado, vegetação e escudeira dançante Q-205; UN-33 pendente
Flechas Doze por moeda ou munição gratuita ao trocar Seis por moeda; escudeiro evoluído também dispara Q-200; Q-246 mantém afinação aberta
Monarcas perdidos Outro corpo vivo evita toda a derrota Sucessor válido para continuar; ritual ou indisponibilidade durante a campanha Q-196/Q-206
Sociedades Reinos completos desde o Dia Um Natureza primeiro; sociedades emergem depois da fundação/noite/alvorada ADR 0069; RG-24 pendente
Expansão Só pagar o próximo nível Estágio, território, população/apoio e feitos de maturidade Q-227/Q-231/Q-233
Pântano Paul Bruma como nome de trabalho; preservar migração de IDs Q-175/ADR 0043
Subsolo fundador Preservar qualquer cavidade mesmo em conflito Compatibilizar a cave da sede com o subsolo existente, preservando conteúdo protegido Q-237; algoritmo/migração por completar
Curva noturna Limite de estreia 3, depois 6, depois 9 tratado como aceite O dono considerou esse crescimento agressivo; ritmo mais lento exige nova afinação Q-240 atualizada; valor atual não é aprovação
Rampa e primeira funda Rampa até 5 e primeira funda na noite 6 como destino final Propostas de rampa 7 e primeira funda 12 receberam aprovação; implementar e medir no âmbito descrito Q-242/Q-243; CSV atual ainda difere
Arte e clima Escala técnica antiga decide todos os sprites; inverno universal Base artística 64×64 e clima geralmente quente/agradável, com biomas dinâmicos Q-235; meteorologia específica ainda por desenhar
Coop/PvP Host-cliente autoritativo ou uma única regra de vitória Servidor autoritativo, um reino em Coop, dois em PvP e conquista soberana ADR 0067/0068; rede pendente

A Q-178 antiga, que mantinha o rei em casa e enviava classes, foi superada quanto a quem o jogador controla pela unificação de monarcas. A possibilidade de delegar expedições, regressar a um refúgio conquistado e manter consequências no reino continua válida. A revisão não restaura classes só para satisfazer uma frase antiga.

Respostas recentes com efeito parcial

Q-221 decide localização/tempo das bancas e continuidade entre biomas, mas não aprova novas moedas iniciais. Q-235 decide direção climática e base visual, mas não fecha probabilidades de chuva, duração de estações ou o despertar social. Q-237 exige resolver sobreposição subterrânea, mas não autoriza apagar masmorras descobertas ou tesouros sem compensação definida. Q-205 descreve o quarto monarca, mas não aprova automaticamente as restantes propostas que partilhavam essa pergunta.

Q-239 e Q-241 aprovam as regras apresentadas de rampa sobre pressão acumulada e custo/limiar das emboscadas. Q-242/Q-243 autorizam a proposta de curva no contexto indicado; continuam a exigir correspondência em dados/código e medição. Q-240 rejeita a agressividade do escalonamento; uma aprovação vizinha não anula essa objeção. O ajuste final deve satisfazer as três decisões em conjunto.

Adiamentos e rastreabilidade

Q-081, Q-112, Q-147, Q-191, Q-194 e Q-245 permanecem adiadas na leitura do painel. Alterações posteriores autorizadas noutros pedidos são documentadas separadamente; não reescrevem retroativamente esses votos. As perguntas Q-234, Q-236, Q-244 e Q-246 conservam números ou contratos por fechar. A integração em prosa não marca respostas como aplicadas no Supabase.

A §91 apresenta o mapa editorial das decisões consultadas e liga cada pergunta aos temas correspondentes. O registo público contém apenas sínteses de design e referências. A evidência literal fica num ficheiro separado para o dono do projeto. O indicador remoto “aplicada” nunca substitui a verificação do comportamento nas plataformas.

87 — Território e referências

Civilization VII e Manor Lords traduzidos para Empire

Complemento do relatório: §§92–96 especificam fontes concretas, hidrologia, mercenários e persistência. A referência Civilization VII conserva a data de corte do relatório; a referência Manor Lords continua a orientar trabalho, cobertura e crescimento, sem aprovar automaticamente a afinidade regional da Q-258.

Âmbito: integrar os princípios territoriais já adotados nos relatórios e o pedido atual de aprofundamento. Os valores existentes aprovados mantêm-se. Extensões aqui identificadas como propostas precisam de contrato e teste próprios antes de alterar a simulação. Não se importa um sistema só porque existe num jogo de referência.

A contribuição de cada referência

O diário oficial de gestão de império de Civilization VII discute cidades, povoações e profundidade sem microgestão desnecessária. Para Empire, a adaptação é a diferenciação entre núcleo principal e assentamentos de suporte, juntamente com o valor das relações espaciais já estudado no relatório de vegetação. Fonte oficial.

O diário de desenvolvimento de Manor Lords sobre afinidades descreve relações entre construções e tipos de ambiente, incluindo efeitos por área regional em vez de assumir que tudo cabe num círculo. A consequência útil para Empire é distinguir influência local de cobertura territorial; a fonte é uma descrição do desenvolvimento, não uma tabela de balanceamento a copiar. Fonte do estúdio.

Elemento Tratamento em Empire Limite
Relações de vizinhança de Civ VII Origem, destinatário, condição, distância e acumulação explícitos Nenhum bónus universal de “estar no bioma certo”
Centros e assentamentos de suporte Sede profunda; futuros postos/povoações especializados e autónomos RG-12–RG-15; não criar dezenas de filas manuais
Grupos políticos menores Sementes sociais, companhias e crescimento causal ADR 0069; não cidades prontas no Dia Um
Fases de desenvolvimento A complexidade desbloqueia-se por fundação, feitos e maturidade Não épocas obrigatórias por turnos nem troca forçada de identidade
Planeamento do território Macroestrutura, acessos e recursos validados antes do detalhe Sem impor hexágonos ou visão aérea
Afinidades ambientais de Manor Lords Separar cobertura da paisagem e relação entre entidades Extensão regional por especificar; floresta local já tem contrato
Trabalho e logística visíveis Construtor presente, recurso físico, percurso e tempo Mantém moeda como gesto central; não introduz famílias ou novas profissões sem decisão
Crescimento orgânico Sede, recinto e pessoas tornam novos espaços funcionais Não construção livre 3D; slots continuam suportes de legibilidade
Economia sazonal Preparação e alternativas viáveis por ambiente Q-172 e Q-235; sem inverno igual em todos os biomas
Custo de oportunidade Cortar, deslocar trabalho e mobilizar tropas têm perdas observáveis Efeitos novos devem ser apresentados e medidos, não ocultos

Settlement limit, nova moeda global de influência, felicidade abstrata duplicada, árvore tecnológica extensa, cadeias industriais literais e quotas familiares não fazem parte do contrato atual. Comando de grandes forças, ecrã agregado de logística e especialização territorial são direções futuras já enquadradas no Documento Mestre, dependentes da escala que os justifique.

Um modelo ambiental sem conceitos misturados

Camada Pergunta a que responde Persistência e estado
Bioma Que condições de base caracterizam esta região? Perfil estável e versão de geração
Cobertura O que ocupa o chão agora: bosque, clareira, cultivo, área construída? Alterável por intervenção; árvores individuais já persistem
Clima Que variações são plausíveis neste bioma? Modelo completo futuro, RG-24; não inferir de um placeholder
Estação Em que fase do ciclo local estamos? Calendário e efeitos existentes; completar diferenças por ambiente
Recurso/habitat Que atividade pode acontecer aqui, com que renovação? Estado causal: toca, reserva, matéria, produção e esgotamento
Influência local Que entidade beneficia ou prejudica outra aqui perto? Recalcular por estado real e regras identificadas
Afinidade regional Que atividade beneficia da composição de uma área inteira? Proposta de extensão; definir área, denominador e limite antes de aplicar
SiteSignature Que lugar foi escolhido na fundação? Registo de origem; não substitui o estado ambiental atual

A assinatura da fundação conserva a memória do lugar. Desmatar não deve reescrever retroativamente a razão por que se fundou; deve mudar a cobertura atual e os efeitos que dependem dela. Uma bonificação baseada na situação presente não pode continuar ativa porque o save conserva “floresta” na assinatura inicial.

Influência local: contrato implementável e já usado

Cada regra identifica: origem elegível → destino elegível → mesma faixa/alcance → condição → efeito → acumulação → causa de invalidação → informação ao jogador. A apresentação lê o resultado da simulação; não faz uma conta independente que possa discordar dela.

Regra atual Origem e destino Limiar e alcance aprovados Efeito e acumulação
Bosque apoia a coleta Árvores com função forage de pé → provisões Pelo menos 3 árvores até 240 px +1 moeda/dia, teto 1; não soma por árvore nem por grupos sobrepostos
Floresta abriga caça Árvores shelter de pé → toca que requer árvores Pelo menos 2 até 200 px Toca fica dormente abaixo do limiar; não cria uma fonte alternativa infinita
Corte pago Árvore válida + construtor disponível, depois da fundação Uma moeda; alcance e tempos vêm dos CSV Trabalho diurno; tronco paga o rendimento da espécie; fica cepo
Limpeza de fundação/obra Flora comum dentro do chão reservado Geometria validada; não o halo inteiro de conteúdo protegido Sem madeira ou moedas; conteúdo protegido conserva-se ou invalida o local

Fonte numérica: forest.csv, Q-238 e ADR 0073. Distância é medida ao longo da faixa; no protótipo o muro não bloqueia a influência. O texto deve mostrar essa regra, para o jogador não imaginar uma oclusão inexistente. A altura visual da árvore não foi aprovada por associação aos parâmetros funcionais.

Exemplo de decisão, sem novos valores: uma coleta tem precisamente três árvores elegíveis. Cortar uma pode render moeda imediata, mas elimina o bónus diário; a pré-visualização mostra a origem removida, o destino e a perda. Se uma toca continuar com o mínimo necessário, o corte não a desativa. Os dois efeitos avaliam-se separadamente.

A contagem ignora cepos, árvores limpas e plantas decorativas que não existem na simulação. Um mesmo ID não é contado duas vezes por atravessar segmentos. Geração posterior, fundação, corte, mudança de estação, restauração e expansão invalidam apenas os cálculos afetados; a cache não é autoridade persistente.

Afinidades regionais: proposta delimitada, não uma regra já aprovada

Para ampliar a influência local sem copiar os círculos de outro jogo, o protótipo seguinte pode medir a proporção de cobertura elegível de uma região. A unidade de Empire é o seu espaço lateral e as faixas utilizáveis; “área” não significa necessariamente uma área 3D.

Uma hipótese de contrato é: afinidade = cobertura_elegível / cobertura_utilizável; a resposta económica é uma curva limitada em dados. Antes de a usar, definir precisamente os intervalos que pertencem à região, sobreposições, água inacessível, terrenos de outros reinos e atualização após conquista. Esta fórmula é uma proposta desta revisão, registada na Q-258, sem coeficientes aprovados nem efeito ativado.

O primeiro ensaio deve acrescentar uma relação compreensível e comparar com o sistema local existente. Não criar uma cadeia de multiplicadores floresta → oficina → mercado → felicidade → toda a produção sem orçamento e explicação. Relações encadeadas precisam de impedir ciclos e dupla contagem. Se o benefício depende de uma oficina funcional, pagar uma fundação inacabada não o concede.

Recursos, trabalho e logística

Empire conserva três circuitos: produção, conversão e comércio (§06). A leitura inspirada em Manor Lords é causal: origem disponível → pessoa/ferramenta → deslocação → trabalho → recolha/armazenamento → utilização ou venda. Cada interrupção precisa de uma razão visível: sem trabalhador, sem matéria, fora do turno, trajeto indisponível, reserva cheia ou destinatário ainda bloqueado.

Não se inventa nesta revisão uma nova lista de alimentos, ferramentas, receitas ou consumos domésticos. Agricultura, pesca, criação, madeira, minério, cozinha e processamento usam o catálogo atual. Uma futura logística por categorias, incluindo subsolo, permanece adiada na Q-245. A moeda física e os baús não podem ser substituídos silenciosamente por saldo ilimitado acessível de qualquer ponto.

O custo de oportunidade deve poder ser lido: um construtor que repara não está simultaneamente a desmatar; uma tropa enviada numa marcha deixa de defender a sede. A prioridade concreta de trabalho usa o sistema existente; novas prioridades ou automação precisam de decisão explícita, incluindo o circuito adiado da Q-112.

Estações e sobrevivência planeada

Q-172 exige que seja possível ultrapassar o inverno com planeamento. Q-235 acrescenta clima geralmente quente e agradável, com biomas mais dinâmicos. As duas decisões são compatíveis: a intensidade sazonal depende do lugar. O gerador deve oferecer alternativas contextuais de alimento/rendimento, armazenamento ou acesso económico; não garante abundância igual nem um recurso específico em todo o mapa.

O teste deve demonstrar um percurso viável no bioma e estação escolhidos, com o orçamento inicial e deslocações reais. Somar recursos no mapa sem verificar se são alcançáveis não prova viabilidade. Chuva, seca, cheias, doenças e incêndios citados como possibilidades ambientais no relatório continuam exemplos de conteúdo futuro; não são novos sistemas automaticamente contratados.

UX do território e critérios de aceitação

Antes de fundar, mostrar o que será limpo, o que permanece protegido, recursos próximos conhecidos e limitações observáveis. Antes de cortar, mostrar perda marginal, não só rendimento. Antes de expandir, mostrar as obras que poderão surgir, condições em falta e habitats/recrutamento que se perdem. A informação não revela dungeons ou facções que o jogador ainda não descobriu.

Aceitação mínima: mesma seed e posição produzem a mesma assinatura; a mesma entidade não é contada duas vezes; corte altera só os efeitos dependentes; limite de acumulação resiste a densidade alta; load não restaura árvores; construir depois de gerar e gerar depois de construir respeitam o mesmo chão; toque permite inspecionar todos os efeitos que o rato revela.

A integração deve ser reconhecível numa escolha jogável: “ganho espaço e moeda agora, mas perco uma atividade que dependia deste bosque”. Se só acrescentar percentagens numa janela, o princípio ainda não chegou à experiência.

88 — Mundo vivo

Fundação, sociedades, exploração e rede territorial

Rede territorial: a base original continua sede soberana em Solo. Postos e vassalos dão suporte, sem criar coroas adicionais. Contratos e direitos em §§94–95; requisitos adiados da Q-245 permanecem adiados, inclusive quando mencionados como extensões.

O mundo canónico cresce por causas. A fundação escolhe um território, a primeira noite demonstra as suas consequências e o amanhecer seguinte abre a camada social. ADR 0069 e RG-24 definem esta direção; a baseline ainda gera sociedades prontas durante a exploração. Essa divergência é trabalho pendente explícito.

Estados e transições

Estado conceptual Entrada O que pode acontecer Condição de saída
Pré-fundação Campanha e caravana criadas Exploração natural, ruínas, dungeons opcionais, sobreviventes individuais Confirmação válida da fundação
Fundação comprometida Operação aceite uma única vez Registar sede, grupo, limpeza e assinatura; ancorar logística Estado completo persistido
Primeiro assentamento Reino fundado Profissões, produção, construção e preparação Primeira noite territorial
Primeira noite Ameaça compatível com a abertura Defesa, luz, escolhas e perdas reais Resolução e amanhecer seguinte
Despertar social Gatilho global satisfez os requisitos Sinais, companhias móveis e sementes políticas Crescimento causal das sociedades
Fronteira inicial Primeiros contactos Contratos, especialização, trocas e expedições Rede regional funcional
Mundo regional Vários centros e relações persistentes Rotas, conquista, diplomacia, postos e Capital Objetivos de campanha ou soberania do modo

Estes nomes explicam o domínio; não afirmam que todos os enums e sistemas já existam. Solo usa autoridade local. Online terá autoridade de servidor. Não se exige servidor remoto para jogar a campanha Solo existente.

Fundação e integração com o subsolo

A operação revalida a posição no instante da confirmação e verifica autoridade, faixa, sede ainda inexistente, chão utilizável e conflitos. O resultado inclui coordenada, tick, versão, pessoas, reserva e manifestação de limpeza. Repetição da mesma intenção não cria novo grupo nem concede novamente recursos.

O chão ocupado pela sede tem de ser válido; a vizinhança inteira não precisa de estar vazia. Entradas, recursos críticos, marcos e âncoras protegidas não desaparecem por estarem no raio visual de limpeza. A apresentação distingue impedimento real de elemento próximo que permanece.

Q-237 exige compatibilizar o subsolo já existente com a futura cave real. O desenho completo deve reservar o envelope da cave e resolver interseções de salas, acessos e baús antes de confirmar a ocupação. O requisito não autoriza apagar conteúdo descoberto, deslocar recompensas para fora do alcance ou duplicá-las. A regra exata de fusão/desvio/recusa e a migração de saves estão por fechar; até lá, a proteção é conservadora e a limitação é declarada. Q-245 já acompanha a reserva quando muralhas apertam o espaço.

Sementes de sociedade

Uma sociedade futura precisa de identidade, origem, líder, território, população, reservas, trabalho, capacidade militar, relações, exposição à Podridão e plano de crescimento. O estado deve explicar por que construiu, por que parou e o que perdeu. Não basta aumentar um nível porque o jogador se aproximou.

Fase social Evidência visível de existência Dependências a representar
Semente Pequeno grupo e intenção territorial Origem, pessoas e recursos iniciais
Acampamento Abrigo, fogo e atividade elementar Alimentação e lugar seguro
Povoado Trabalho estável e primeiras defesas População, reserva, acessos e sobrevivência
Vila Processamento, comércio e especialização Cadeias suportadas pelo ambiente e relações
Centro regional Influência e capacidade territorial Logística, defesa e vínculos com outras povoações

A progressão usa critérios a especificar no ticket, não durações inventadas por esta revisão. Povos autónomos da Q-174 continuam a ter casas, obras, tropas, defesas e tesouro próprios; o que muda é a origem no tempo. Bioma influencia oportunidades e linguagem, sem tornar inevitável um único povo ou profissão.

Mercenários e diplomacia

O destino canónico dos mercenários é uma companhia que viaja, acampa, aceita contratos e possui lealdade, soldo e relações. Os acampamentos estáticos atuais são uma baseline, não a conclusão desse mundo vivo. Trabalho para NPCs, deslocação e concorrência de contratos pertencem a RG-24 e precisam de estado persistente.

O Diplomata é um ofício universal, não um quarto corpo controlável nem um privilégio de um imperador. Missões, captura, resgate e incursão delegada devem completar UN-18–UN-21. Conquista presencial, delegada e assimilação convergem num resultado comum: uma recompensa por objetivo, propriedade atualizada e relações coerentes. Encantar temporariamente uma unidade não transfere soberania de um reino.

Povoações de suporte e Capital

A rede territorial aprofunda o reino principal com postos, povoações e rotas. Cada centro futuro precisa de papel económico, reserva, ligação, guarnição e autonomia suficiente para não exigir a mesma sequência de compras em todos os lugares. O jogador define prioridades e responde a riscos; a população executa trabalho conforme o contrato.

A Capital só faz sentido quando administra essa rede. Não entra como melhoria de vida isolada, não é condição automática de vitória e não antecipa a Casa do Herdeiro. RG-12–RG-15 mantêm postos, rotas, Capital e simulação durante ausência. Especializações propostas — agrícola, extrativa, defensiva, comercial — dependem de conteúdo e recursos efetivamente existentes; não se criam edifícios ou rendimentos por uma etiqueta.

Simulação distante e continuidade

Perto do jogador, pessoas e recursos são materializados. Longe, o orçamento pode usar intervalos e agregados. A passagem entre escalas deve conservar identidades relevantes, reservas, perdas, dívidas, obras e recompensas. Não se pode ganhar por afastar a câmara e regressar, nem desfazer um cerco por recarregar um segmento.

O teste compara dois percursos equivalentes: simulação próxima contínua e afastamento/retoma. Os resultados devem respeitar as invariantes acordadas, com erro temporal admissível explicitamente definido antes da implementação. “LOD” não é autorização para resultados económicos diferentes sem regra.

Dungeons, reservas e recompensas

Micro-dungeons são opcionais e contextuais; ruínas e falhas de rocha podem justificar interiores. Toda a entrada acessível oferece chegada, folga, baía e margens de área útil. A cave real começa habitável, expande com pagamento e construtor e acompanha a evolução da sede. O baú próprio não cria dinheiro: armazena riqueza existente; baús estrangeiros refletem a economia do reino correspondente.

Q-176 aprova variação com possibilidades de recompensa dupla ou tripla; probabilidades, requisitos e orçamento ficam nos dados. O resultado é determinado e persistido de forma que reentrar, gravar ou mudar a ordem de exploração não volte a sortear um prémio favorável. A escassez contextual não deve impedir a progressão essencial.

O ladrão, a fauna de cavernas, transporte de categorias e reservas visuais mantêm os números por aprovar na Q-244 e o desenho explicitamente adiado na Q-245. Números de área útil atualmente em _proposed continuam ensaios, mesmo quando a necessidade de espaço já foi aprovada.

89 — Contratos de campanha

Sucessão, noite e modos de jogo sem contradições

Esta secção reúne os pontos em que uma regra aparentemente local muda toda a campanha. As secções temáticas mantêm o detalhe; aqui ficam invariantes e fronteiras de implementação.

Sucessão e continuidade

Situação Resultado canónico O que não deve acontecer
Herdeiro a treinar Identidade neutra; custo e manutenção significativos Já ser outro perfil fixo antes da escolha
Manutenção não paga Herdeiro desaparece; exige novo investimento Congelar treino para recuperar gratuitamente depois
Herdeiro pronto e troca voluntária Escolha na Casa do Herdeiro; transferência de governo; reinício do ciclo Segunda coroa ou troca livre fora da casa
Novo soberano Bónus reduzidos recuperados depois de cinco noites Reset de dívida, riqueza, perdas ou recursos
Coroa caída mas recuperável Estado de queda, com as regras de recuperação Declarar morte definitiva prematuramente
Morte definitiva com continuidade válida Possibilidade de continuar pelo sucessor e sede de pé Assumir uma tropa ou companheiro
Sem sucessor válido ou sede perdida Derrota/legado conforme §16 Recuar para um save anterior para anular a derrota legítima
Outro imperador perdido Ritual válido ou indisponibilidade na campanha Voltar a escolhê-lo nessa campanha sem satisfazer o ritual

Custo exato para cumprir “a manutenção mais alta do jogo”, tratamento da companhia na transferência, resgate automático da coroa e perfil de Ganância são pendências próprias. A descrição do quarto imperador na Q-205 não decide essas linhas. O valor antigo de treino não deve ser apresentado como prova de que o novo sistema neutro está concluído.

A noite tem orçamento e ensino

As primeiras noites devem dar espaço para apreciar a construção e aprender respostas. A Podridão continua autoritativa sobre a massa que gasta; emboscadas no escuro não são um segundo gerador gratuito. O local de invocação respeita o exterior da muralha mais afastada do lado ameaçado. Fissuras e pressão seguem a sede escolhida, não uma antiga origem fixa.

Decisão Regra desejada Estado da baseline consultada
Q-239 Aplicar a rampa também às contribuições escritas de dia Regra existe; aprovação recente incorporada nesta revisão
Q-240 Introdução menos agressiva de espécies, sem infestar a abertura O protótipo usa debut_step=3; esse ritmo foi contestado e não é declarado definitivo
Q-241 Escuro gasta o orçamento da noite e só cria emboscada a partir da terceira Regra existe; valores da pergunta aprovados
Q-242 Rampa de sete noites na proposta apresentada, com medição do percurso real CSV ainda conserva cinco; aplicação/validação por fazer
Q-243 Primeira noite funda na doze; depois periodicidade indicada na proposta Código atual não tem o novo limiar; implementação por fazer

A tabela histórica de massa na §74 descreve os CSV atuais. Não é substituída à mão por uma curva que o executável ainda não usa. A próxima alteração deverá atualizar dados, simulação, tabelas, teste do início e condições de oferta em conjunto. Aprovar uma curva não obriga a aceitar uma composição esmagadora: a revisão deve medir quantidade, espécie, faixa atingível, tempo de chegada e meios defensivos obtidos.

Avaliar a abertura por seed, imperador, fundação precoce/tardia, trajetórias de economia/defesa e dispositivo. Mortalidade de um piloto que não melhora as muralhas não prova que todos os jogadores perdem, mas identifica cenários a estudar. A primeira noite não exige matar alguém para ensinar a lore; a §83 apresenta consequências reais.

Solo, Coop e PvP

Dimensão Solo Coop PvP
Soberania Um reino e uma coroa soberana Um reino partilhado; papéis humanos próprios Dois reinos soberanos separados
Fundação Jogador Só P1/criador; P2 pode sugerir Cada fundador escolhe no seu lado
Economia e obras Do reino Partilhadas, com transações ordenadas Separadas e isoladas
Caravana Segue o jogador Segue P1 antes de fundar Uma em cada extremo, Oeste/Este
Conhecimento Da campanha/reino Partilhado conforme o contrato do modo Privado por reino
Autoridade Simulação local existente Servidor dedicado futuro Servidor dedicado futuro
Continuidade Save local Sessão e reconexão ao mesmo slot Sessão, isolamento e reconexão
Objetivo Campanha Proteger e expandir em conjunto Conquista/soberania total

O suporte de mais de dois jogadores em Coop é direção futura, não limite técnico já validado. Captura de sede, prazo de graça, efeitos de desconexão, soberanias NPC relevantes e regra de despertar competitivo continuam na Q-236. A morte de um avatar não equivale automaticamente à conquista de todo o reino.

Duas intenções de gastar a última moeda têm uma ordenação e apenas uma pode ter efeito. Reenviar um comando produz o mesmo resultado identificável, sem nova cobrança. Reconexão recebe estado canónico e restaura jogador/reino, sem nova caravana ou prémio. Guardar só a seed não basta: o manifesto, alterações do mundo e estados sociais fazem parte da persistência.

Vercel distribui o site/export; Supabase observado serve administração, decisões e reportes. Nenhum dos dois é prova de que as partidas já tenham servidor de jogo. A tecnologia/hospedagem online permanece uma escolha pendente da arquitetura aceita, não uma integração instalada por esta revisão.

Persistência e justiça

Não alterar uma sede antiga, repetir limpeza ou criar reservas na migração. Assinaturas inferidas devem declarar a sua proveniência. Não restaurar árvores ou loot já consumidos. Não descartar o último save válido se uma escrita falhar. Recuperar corrupção é diferente de desfazer derrota ou campanha terminada; as correções da auditoria estão identificadas no PR #92.

Mapas Solo/Coop favorecem descoberta; PvP compara oportunidades de alimento, água, materiais, mobilidade, defesa e risco nos dois extremos. As tolerâncias ainda precisam de aprovação e medição. Simetria visual não substitui essa comparação e diversidade visual não autoriza inícios desiguais.

Pendências da base recebida: Q-247 conserva aberta a possibilidade de a tocha na mão também proteger; atualmente é apenas iluminação. Q-248 conserva aberta outra compensação para árvores de saves antigos removidas por sobreposição com obras; a regra atual limpa o conflito sem reposição nem pagamento. Nenhuma das duas perguntas tem uma resposta remota nesta consulta.

90 — Execução e qualidade

Matriz de entrega, aceitação e manutenção do dossiê

Base final reconciliada: main/f3efeac18b5732e68bad3154a0af340f9279d649 também inclui o PR #94 (Atlas, ficha do sítio e diagnóstico territorial). A ADR 0078 e Q-253–Q-257 desse trabalho mantêm identidade; a consolidação usa ADR 0079 e a proposta regional Q-258. Não se atribui esta implementação à revisão documental.

Atualização do mapa: o RG-28/ADR 0077 já implementa parte do território. A matriz A01–A12, os rascunhos AUD-CIV-01–18 e todos os critérios T01–T50 estão na §96. A ordem territorial pormenorizada complementa a sequência geral abaixo, sem declarar portos ou contratos entregues.

Baseline e limites da verificação

A consulta inicial de 06/10 usou main/bafeb112aa6b9b7162d78fe3053da62c9d6c47ec. Na continuação de 07/10, o PR #92 já estava integrado: esta revisão foi reconciliada com main/ba743da3a616d27a7df581646e9e7356134c89c8, identificado pela Vercel como produção READY no deployment dpl_EJAScE19R3k3Tir47hhRgiQrCVRJ. Arte, HUD, tocha e correções desse PR fazem parte da base recebida, não são implementações desta alteração documental. Na verificação final, o ramo predefinido já é main. O PR #93/RG-28 avançou a baseline para 5b4b24a, com o primeiro protótipo territorial; ver §§92–96 para a comparação com o relatório.

Supabase forneceu as respostas atuais de empire_respostas. A leitura excluiu identificadores de contas administrativas. Não foram alteradas respostas, RLS, schema ou dados de partidas. A imagem anexada orientou a localização do painel; os números da imagem são um instante e não substituem a consulta atual ou o filtro do painel.

A auditoria mestre de 06/10 é uma fonte histórica de defeitos e limitações, não um teste repetido nesta revisão. O estado de cada correção deve ser validado no SHA que a entrega. Uma tabela de design atualizada não resolve, por si, um defeito de gravação ou combate.

Mapa de execução

Área Contrato integrado Evidência existente / trabalho restante
Fundação livre §§10, 25, 88 ADR 0066/0070, RG-23; completar assinatura e clima em RG-24
Sede, território e trabalhadores §§09–10 ADR 0060/0063–0065; progressão posterior, postos e rede em RG-09–RG-15
Floresta e influência local §§21, 87 ADR 0070/0073, RG-26; mais afinidades/regeneração não estão concluídas
Cave, dungeons e reserva §§11, 88 ADR 0072, RG-27; Q-237/Q-244/Q-245 delimitam sobreposição e detalhes
Monarcas iniciais e combate §08 ADR 0052/0053, Q-198–Q-201; roster/encontros completos dependem de UN-16
Sucessão escolhida §§15–16, 89 Q-196/Q-197/Q-202; UN-32 por fazer
Quarto imperador §08 Q-205; UN-33 por fazer
Diplomata universal §§14, 88 Q-203; UN-18–UN-21 por completar
Mundo social e clima §§04, 21, 88 ADR 0069; RG-24 por fazer
Abertura e noite §§05, 25, 74, 89 RG-06 e ADR 0071; reconciliar Q-240/Q-242/Q-243 sem mudar dados nesta revisão
Coop/PvP e autoridade §§18, 89 ADR 0067/0068; RG-25, UN-29–UN-31 e Q-236
HUD/plataformas §§24, 26 Q-187/Q-188 e ADR 0074; hardware real continua gate próprio
Gravações/progressão/painel §§62, 89 Correções do PR #92 integradas na baseline publicada; critérios de integridade continuam aplicáveis
Afinidade regional nova §87 Q-258: proposta delimitada, sem multiplicadores aplicados

Ordem de implementação

  1. Integridade do ciclo existente: preservar e validar as correções de gravação/retoma, evolução real em batalha e consistência da floresta recebidas do PR #92; publicação com identidade verificável.
  2. Abertura coerente: bancas e formação, curva inicial, local da ameaça, conflitos de subsolo e informação de consequências. Medir RG-06 com a sede atual.
  3. Território legível: influência local consistente, escolhas de cobertura, alternativas sazonais e assinatura com proveniência. Só depois acrescentar uma afinidade nova medida.
  4. Continuidade de campanha: herdeiro neutro e troca, roster, ritual, diplomata e perdas. Evitar multiplicar conteúdo antes de fechar os estados de transição.
  5. Sociedades e escala: despertar, mercenários móveis, simulação distante, postos, rotas e Capital, com migração de mundos antigos.
  6. Online: fechar regras competitivas, autoridade e transporte; testar dois clientes reais, reconexão e isolamento antes de anunciar o modo.

Esta ordem não transforma relatórios de pesquisa em implementação automática. Cada ticket deve citar a secção atual, a resposta/ADR, os parâmetros aprovados e os que ainda são hipótese.

Matriz de aceitação do produto

ID Cenário Resultado exigido
DOC-01 Regenerar docs/design/ Mesmo conteúdo e índice; nenhuma edição manual divergente
DOC-02 Reconciliar respostas consultadas Cada ID consta do registo, sem duplicados; adiamentos e respostas parciais conservados
FUN-01 Explorar dois biomas antes de fundar Mesma caravana, riqueza e campanha; nenhuma profissão gratuita
FUN-02 Confirmar duas vezes / carregar depois Uma fundação, uma limpeza, sem duplicar pessoas, provisões ou prémios
FUN-03 Fundar perto de conteúdo protegido Apenas o footprint necessário é impeditivo; vizinhança preservada e explicada
TER-01 Cortar a árvore que satisfaz um limiar Preview e resultado concordam; destinatários corretos; cap respeitado
TER-02 Gerar segmento depois de construir e repetir após load Chão reservado idêntico; árvores não atravessam obras
ECO-01 Inverno num bioma sazonal Estratégia preparada viável com deslocações/trabalho reais
ECO-02 Falta trabalhador, matéria ou percurso Interrupção causal e explicada; não produção fantasma
SUB-01 Qualquer entrada acessível Chegada, folga, baía e margens utilizáveis; regresso possível
SUB-02 Baú/tesouro visitado outra vez Sem reposição, reroll ou dupla apropriação da riqueza
MON-01 Trocar sem/com herdeiro pronto Recusa justificada / transferência única e reinício do treino
MON-02 Incumprir manutenção e recomeçar treino Não recupera gratuitamente herdeiro anterior
MON-03 Morte e ritual Disponibilidade da campanha e desbloqueio persistente respeitam estados distintos
NOC-01 Noites iniciais em trajetórias diversas Espécies e pressão compatíveis com meios reais; registar curvas por seed/perfil
SOC-01 Mundo novo antes do gatilho social Sem sociedades organizadas ativas; ruínas e sobreviventes permitidos
SOC-02 Perto, longe e reconexão Reservas, perdas, estágio e relações mantêm causalidade
NET-01 Dois jogadores gastam o último recurso Uma transação aceite; rejeição explicada; sem saldo negativo
NET-02 P2 tenta fundar Coop / outro reino tenta comandar Autoridade valida e rejeita sem efeito colateral
NET-03 Desligar/reconectar Mesmo slot/reino, sem duplicação; sessão não depende do browser de P1
UX-01 Teclado, comando e toque Mesmas ações e informação essencial, com alvos/foco/texto utilizáveis
SAV-01 Escrita incompleta e retoma corrompida Preservar save válido; recuperação não anula derrota legítima

Os casos acima são critérios de aceitação, não uma declaração de que foram todos executados. A evidência da revisão documental, build e CI fica no PR desta entrega. Testes reais de jogo, hardware e rede exigem os ambientes correspondentes.

Como impedir nova divergência

Ao receber uma resposta, registar fonte, âmbito e texto; comparar com a proposta identificável; atualizar a regra temática; apontar a substituição na ADR/pergunta; modificar dados e código apenas se a tarefa incluir implementação; regenerar as secções; verificar referências e valores; publicar pelo fluxo do repositório. Só depois de implementação verificada se considera atualizar “aplicada” no painel, preservando resposta entretanto editada.

Uma alteração documental pode ficar concluída enquanto um requisito de jogo continua por fazer. Por isso, o estado de documentação e o de implementação devem ser descritos separadamente. O histórico desta consolidação está na ADR 0079 e no registo da §91; as ADRs anteriores não são apagadas para fingir que as decisões sempre foram iguais.

91 — Proveniência

Respostas do painel e alcance da integração

Foram reconciliadas 229 decisões a partir da consulta de 06/10/2026, reconfirmada em 07/10/2026. Este registo editorial apresenta regras, referências e alcance, sem reproduzir comentários privados nem metadados administrativos. As perguntas sem resposta permanecem abertas. Cada entrada deve ser lida com a proposta de docs/QUESTIONS.md, as ADRs e a precedência da §86; documentação integrada não significa implementação concluída.

Uma aprovação contextualizada não abrange cláusulas ainda abertas. Adiamentos conservam-se e instruções posteriores só substituem os pontos incompatíveis. O mapa editorial também está em docs/reports/DECISOES-DOSSIE-2026-10-07.json. A evidência literal foi conservada num registo separado para o dono do projeto.

Combate, tropas e monarcas

Secções temáticas: §07, §08, §89.

ReferênciaDecisão de design consolidadaAlcance da integração
Q-001 Adotada a proposta documentada em Q-001, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-003 Adotada a proposta documentada em Q-003, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-005 Adotada a proposta documentada em Q-005, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-007 Adotada a proposta documentada em Q-007, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-015 Rever a cadência da tropa de elite: três dias foi considerado rápido; cinco ou sete foram sugeridos, sem fixar um único valor definitivo. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-028 Adotada a proposta documentada em Q-028, dentro do seu âmbito e sujeita às decisões posteriores identificadas. A antiga classe por povo foi substituída por imperadores controláveis (Q-195).
Q-038 Adotada a proposta documentada em Q-038, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-071 Adotada a proposta documentada em Q-071, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-073 Um posto comporta apenas a sua capacidade; aumentar o número de ocupantes exige evoluir a estrutura. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-075 Adotada a proposta documentada em Q-075, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-084 Aceitar provisoriamente o impacto existente, mantendo a intenção de completar o combate posteriormente. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-085 Adotada a proposta documentada em Q-085, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-086 A marca pode servir o perfil Arqueiro e futuros perfis com funcionamento semelhante; a unificação posterior limita o controlo a imperadores. Arqueiro é agora perfil imperial; ataque e marca são ações separadas.
Q-097 Vagabundos têm escala de tropa; personagens controlados destacam-se pela dimensão. A antiga hierarquia de classes fica sujeita à unificação imperial posterior. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-107 Moedas no chão podem recrutar vagabundos ou ser guardadas por tropas; a capacidade básica indicada é cinco moedas. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-109 O apoio dos construtores aumenta a resistência das muralhas em dois por cento por construtor, até dez por cento. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-111 A capacidade de moedas varia por tropa; as básicas guardam cinco e entregam ao jogador quando este passa. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-114 Escudeiro pago protege pela frente e recua sem escudo. O contrato inicial prevê cinco moedas para cinco golpes fracos ou dois fortes; três moedas de abates permitem espada de três golpes. A investidura reforça escudo e espada, esta até cinco golpes. A companhia não entrega automaticamente as suas moedas; a evolução imperial posterior segue as decisões de batalha. Companhia e escudo mantêm contratos próprios; evolução imperial atual é por batalha (Q-223/Q-232).
Q-117 Adotada a proposta documentada em Q-117, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-128 Adotada a proposta documentada em Q-128, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-129 Adotada a proposta documentada em Q-129, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-149 A corrida do personagem pode atingir 1,8 vezes a velocidade normal. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-153 O equipamento integra o armazenamento individual, com contrato próprio para cada perfil jogável. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-162 Tropas podem partilhar linguagem visual com os perfis jogáveis, mantendo escala de tropa; a separação antiga de classes controláveis foi substituída. Classes controláveis antigas substituídas por perfis imperiais, Q-195.
Q-163 Inventários e abastecimento das tropas devem ligar combate à economia. A exceção antiga de recursos ilimitados não supera a decisão posterior de flechas imperiais pagas. Inventários individuais mantêm-se; Arqueiro usa munição paga, Q-200.
Q-168 Adotada a proposta documentada em Q-168, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-169 Referência de corrida: personagem a 1,8 vezes e cavalo a 2,1 vezes; a montaria pode transportar vinte moedas ou outros itens, com conteúdo e integração próprios. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-183 A proposta antiga de completar três classes foi substituída pelo novo sistema de monarcas. Pedido consolidado na unificação imperial: não manter corpos de classes antigos paralelos.
Q-184 Aceitar a separação de ataque e habilidade implementada no contexto da pergunta. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-185 Golpes próximos atingem os inimigos ao alcance; os pequenos sofrem empurrão, os grandes resistem. Ataques à distância atingem um alvo por vez, salvo habilidades imperiais expressamente definidas. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-192 Aumentar a dimensão visual da moeda, preservando a física aprovada; a escala final considera as revisões visuais posteriores. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-193 Correr exige manter o botão premido, consome fôlego e obriga a recuperar; o imperador evoluído tem maior resistência. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-195 Começar com três imperadores distintos; explorar desbloqueia outros perfis para a campanha e novos começos. Apenas imperadores são controláveis. Três perfis iniciais completos; só imperadores jogáveis; futuros perfis descobertos.
Q-196 Trocar de soberano exige herdeiro preparado e escolha na sua casa; a transferência reinicia o treino e a vulnerabilidade. Manter sucessor é um investimento elevado. Solo conserva uma única coroa soberana; queda, roubo ou sucessão pendente impedem nova transferência. Troca transfere governo, exige herdeiro pronto, reinicia ciclo e preserva uma coroa Solo.
Q-197 Imperadores descobertos podem ser escolhidos quando houver herdeiro preparado ou ao iniciar outra campanha. Descoberta desbloqueia elegibilidade; troca exige herdeiro pronto.
Q-198 Adotada a proposta documentada em Q-198, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-199 Adotada a proposta documentada em Q-199, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-200 Uma moeda compra seis flechas; o escudeiro evoluído também participa no combate à distância. Seis flechas por moeda; escudeiro evoluído dispara. Q-246 conserva afinação e reserva em aberto.
Q-201 O sangramento pertence, por enquanto, apenas ao Imperador Arqueiro. Sangramento exclusivo da flecha do Imperador Arqueiro.
Q-202 O herdeiro permanece neutro durante a formação, desaparece sem manutenção e exige novo investimento. Ao assumir, começa com bónus reduzidos que recupera após cinco noites. Herdeiro neutro; falta de manutenção elimina; bónus recuperam em cinco noites.
Q-205 Quarto imperador futuro: grande, de armadura completa, cura ao sentar-se e faz crescer vegetação. A escudeira dança, reforça a força dele e das tropas; evoluída, abranda inimigos. Esta definição não fecha as outras pendências da pergunta. Só o conceito descrito do quarto imperador é decidido; restantes subperguntas não respondidas continuam abertas.
Q-206 Um imperador perdido fica indisponível durante a campanha salvo ritual válido no santuário; pode voltar a ser escolhido num novo começo. Perfil perdido fica indisponível na campanha salvo ritual válido; novo começo permite nova escolha.
Q-208 Adotada a proposta documentada em Q-208, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-212 Adotada a proposta documentada em Q-212, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-215 Cada criatura de caça tem dificuldade e recompensa próprias, conforme o conteúdo proposto. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-216 Direção de fôlego pedida: cerca de trinta segundos de corrida normal e cinquenta na evolução; substituir valores antigos exige correspondência em dados e validação. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-218 Adotada a proposta documentada em Q-218, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-219 Adotada a proposta documentada em Q-219, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.

Economia, construção e trabalho

Secções temáticas: §06, §09, §10, §49, §52, §55, §87, §88.

ReferênciaDecisão de design consolidadaAlcance da integração
Q-002 Adotada a proposta documentada em Q-002, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-008 Adotada a proposta documentada em Q-008, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-009 Adotada a proposta documentada em Q-009, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-010 Incluir um povo do gelo com identidade e características próprias. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-011 Os abates devem produzir moedas, com recompensa ajustada à dificuldade do inimigo. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-012 Manter a mecânica proposta, coerente com a presença da Podridão. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-014 Desenvolver o sistema proposto com coerência e detalhe; o pedido não fixa os parâmetros em falta. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-031 Adotada a proposta documentada em Q-031, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-033 Usar F1-16 como critério de verificação do cenário proposto. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-063 Usar o funcionamento de Kingdom: New Lands como referência de investigação para o sistema descrito. Números e guião antigos da abertura subordinados à Última Carroça (§25).
Q-064 Adotada a proposta documentada em Q-064, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-065 Adotada a proposta documentada em Q-065, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-070 Adotada a proposta documentada em Q-070, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-072 Adotada a proposta documentada em Q-072, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-108 Reparar danos exige a presença e o trabalho de um construtor. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-110 Vagabundos são encontrados e recrutados no mundo; a abertura começa pequena, com pessoas sem função a quem se atribuem ferramentas e trabalho. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-112 Decisão adiada; não executar por inferência ou por aprovação de outro assunto. Adiada; não executada por esta revisão.
Q-113 Uma ação indisponível explica ao jogador quais os requisitos em falta. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-115 Mudanças de modo exigem escolha explícita do jogador; uma moeda largada não deve selecionar silenciosamente outro destino. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-116 Adotada a proposta documentada em Q-116, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-121 Adotada a proposta documentada em Q-121, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-122 Adotada a proposta documentada em Q-122, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-123 Adotada a proposta documentada em Q-123, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-124 Adotada a proposta documentada em Q-124, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-136 Adotada a proposta documentada em Q-136, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-144 Desenvolver o sistema de soldo em atraso a partir da direção proposta; detalhes não especificados continuam pendentes. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-145 Prosseguir com o sistema de celeiro e Colheita Forçada apresentado na pergunta. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-154 A comitiva tem limite, mas não define as fronteiras do mundo; a expansão horizontal do mapa é independente da sua capacidade. Recrutamento permanece; fundadores atuais são três cidadãos sem ofício, Q-223.
Q-158 Adotada a proposta documentada em Q-158, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-165 Adotada a proposta documentada em Q-165, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-207 Adotada a proposta documentada em Q-207, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-210 Reparações, mesmo de estruturas ainda de pé, exigem construtor; não são regeneração gratuita. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-211 Adotada a proposta documentada em Q-211, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-213 Adotada a proposta documentada em Q-213, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-214 Adotada a proposta documentada em Q-214, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-217 Cada reino tem caça contextual próxima ou outra alternativa funcional de rendimento e recursos. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-220 Vida, defesa e capacidade subterrânea acompanham o estágio da sede; ampliar o espaço exige pagamento e escavação por construtor. Progressão da sede decidida; fundação gratuita posterior substitui custo inicial antigo.
Q-221 Bancas surgem após fundar, dentro do primeiro traçado defensivo. Explorar outros biomas mantém a mesma campanha, permitindo escolher o território antes de fundar. Resposta mais recente: bancas apenas após fundar, dentro do primeiro traçado; mudar de bioma não reinicia o jogo.
Q-222 A Casa do Herdeiro abre no nível máximo atual; outras construções dependem do estágio e do espaço protegido criado pela expansão das muralhas. Casa do Herdeiro no máximo da sede; desbloqueios combinam estágio e expansão.
Q-223 Monarca e companhia evoluem por batalha. A companhia é formada após a fundação por sete moedas; o grupo fundador passa a três pessoas sem ofício. Três cidadãos iniciais, companhia por sete moedas, evolução por batalha.
Q-224 Construtores reparam a sede ao amanhecer. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-225 Adotada a proposta documentada em Q-225, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-226 A Capital pertence à fase avançada de uma rede territorial; o início mantém-se simples e cresce progressivamente. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-227 O custo indicado para a banca do martelo é três moedas; esta resposta parcial não aprova todos os parâmetros da pergunta. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-228 Adotada a proposta documentada em Q-228, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-229 Adotada a proposta documentada em Q-229, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-230 Adotada a proposta documentada em Q-230, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-231 Adotada a proposta documentada em Q-231, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-232 Adotada a proposta documentada em Q-232, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-233 Adotada a proposta documentada em Q-233, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-237 Ao fundar sobre subsolo existente, compatibilizar as estruturas com a futura cave e armazém reais; o algoritmo e a migração precisam de contrato explícito. Compatibilizar subsolo existente e cave real; algoritmo e migração precisam de contrato, sem apagar conteúdo protegido.
Q-238 Adotada a proposta documentada em Q-238, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Relações funcionais da floresta aprovadas; altura visual continua proposta.

Território, sociedades e exploração

Secções temáticas: §04, §11, §12, §13, §14, §17, §21, §54, §87, §88.

ReferênciaDecisão de design consolidadaAlcance da integração
Q-004 Adotada a proposta documentada em Q-004, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-013 Incluir também um povo do pântano na campanha. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-016 A exploração pode revelar mecânicas e habilidades que só ficam disponíveis após a descoberta. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-018 Adotada a proposta documentada em Q-018, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-029 Disponibilizar luz portátil comprada e temporária para exploração noturna; fora da proteção, podem surgir emboscadas de várias direções. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-030 Adotada a proposta documentada em Q-030, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-048 Adotada a proposta documentada em Q-048, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-078 Adotada a proposta documentada em Q-078, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-082 A travessia estimada depende do desenho de cada região; não é um comprimento universal obrigatório. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-104 A pergunta sobre a abertura não foi compreendida; não se considera uma aprovação dos seus parâmetros. A resposta não confirmou o guião antigo; Q-161 clarifica a árvore inicial. Não impõe morte no tutorial.
Q-105 Manter a lore da campanha com regiões geradas proceduralmente, sem sequência espacial fixa. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-106 A caça nasce progressivamente de habitats; destruir a origem pode eliminar essa receita. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-120 A caça surge de forma distribuída, gradual e natural, em vez de todo o stock aparecer simultaneamente. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-130 Adotada a proposta documentada em Q-130, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-132 Adotada a proposta documentada em Q-132, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-135 Adotada a proposta documentada em Q-135, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Marcha/viagem mantêm-se; monarca pode sair conforme ADR 0052, substituindo a restrição antiga.
Q-138 Distinguir acessos subterrâneos de construções, que podem ser fechados, das entradas que devem permanecer abertas. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-143 O sucessor continua a mesma campanha e herda dívidas e consequências; não constitui um reinício. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-146 O herdeiro preparado permite optar por continuar após a morte do soberano. A antiga separação entre rei em casa e classes em expedição foi substituída pela unificação imperial. A restrição antiga do rei em casa foi substituída pela ADR 0052; sucessão segue Q-196/Q-202.
Q-150 Os habitats de caça devem ter origem ambiental plausível. A antiga restrição de deslocação do rei foi superada pelo mundo contínuo e pelos imperadores controláveis. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-152 Integrar gelo e pântano, num total de oito regiões/povos no mesmo sistema de campanha. Geada e Bruma integram a mesma campanha; não permanecem fora à espera desta pergunta.
Q-155 A duração exata da travessia será ajustada ao desenho de cada região. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-161 Adotada a proposta documentada em Q-161, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-166 Adotada a proposta documentada em Q-166, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-170 Adotada a proposta documentada em Q-170, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-172 O inverno aumenta a dificuldade, mas deve oferecer alternativas de recursos que permitam sobreviver com planeamento. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-173 Adotada a proposta documentada em Q-173, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-174 Povos e mercenários têm construções e sistemas próprios que funcionam autonomamente; a origem temporal passa a seguir o despertar social. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-175 Substituir o nome do povo do pântano; Bruma é o nome de trabalho adotado na reconciliação. Nome do povo é Bruma; kit cultural preservado, com migrações técnicas.
Q-176 Dungeons variam e podem oferecer recompensas de duas ou três vezes o habitual; probabilidades e orçamento exigem dados explícitos. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-177 Adotada a proposta documentada em Q-177, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-178 Reinos conquistados funcionam como lugares de abrigo e apoio a novas expedições. A separação antiga entre rei e classes viajantes foi superada. Rei permanentemente em casa foi substituído pela ADR 0052; pode explorar ou delegar.
Q-180 Adotada a proposta documentada em Q-180, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-181 Adotada a proposta documentada em Q-181, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-182 Adotada a proposta documentada em Q-182, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-186 A cave real contém um baú para riqueza física: começa vazio no reino do jogador, pode ser abastecido e saqueado. Outros reinos têm reservas próprias, sem criação arbitrária de riqueza. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-203 Adotada a proposta documentada em Q-203, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-235 Direção climática geralmente quente e agradável, com maior variação nalguns biomas; base de autoria visual em 64×64 píxeis. Parâmetros climáticos e sociais restantes continuam abertos. Clima geralmente quente/agradável e base artística 64×64; não aprova todos os parâmetros climáticos ou sociais.

Noite, narrativa, sucessão e legado

Secções temáticas: §15, §16, §74, §75, §76, §77, §78, §79, §83, §89.

ReferênciaDecisão de design consolidadaAlcance da integração
Q-017 A ameaça noturna começa moderada e ganha intensidade ao longo das noites. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-039 Rever a associação do efeito a uma fornalha; outra origem poderá fazer sentido, mas não ficou definida nesta resposta. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-040 Avançar ou saltar tempo deve conservar consequências e o peso das escolhas. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-041 Adotada a proposta documentada em Q-041, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-042 Adotada a proposta documentada em Q-042, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-043 Adotada a proposta documentada em Q-043, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-047 Cadenciar a pressão económica para permitir uma campanha prolongada, tomando Kingdom: New Lands como referência. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-053 Adotada a proposta documentada em Q-053, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-054 Adotada a proposta documentada em Q-054, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-055 Adotada a proposta documentada em Q-055, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-068 A abertura deve começar com três criaturas no primeiro dia, no contexto da proposta. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-094 A dimensão visual em discussão depende da arte final; não foi fixado um novo valor nesta resposta. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-095 Completar o sistema apresentado na pergunta. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-096 As tropas caídas criam raízes e desaparecem progressivamente. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-098 A expressão relativa ao tamanho do prato não foi compreendida; esta resposta não aprova uma dimensão. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-099 Reconciliar as ofertas com as decisões posteriores sobre a candeia e o Lume. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-100 Explorar uma construção que contenha o avanço do Zelador, com capacidade e manutenção pressionadas pelo crescimento da Podridão; os parâmetros precisam de desenho próprio. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-101 Fundamentar e equilibrar a relação entre ofertas, defesa e consequências das escolhas. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-102 Aprofundar moral, feitos e bonificações num sistema coerente com Empire. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-103 Reinos conquistados continuam a funcionar como vassalos, pagam tributo e podem perder-se para outros inimigos; o reino fundador mantém a sua identidade. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-118 Adotada a proposta documentada em Q-118, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-125 Adotada a proposta documentada em Q-125, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-126 Atualizar o ritmo noturno à luz do novo conceito de candeia e Lume. Primeira noite funda alterada pela Q-243; não conservar a estreia na noite seis como decisão final.
Q-127 Adotada a proposta documentada em Q-127, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-131 Adotada a proposta documentada em Q-131, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-133 Adotada a proposta documentada em Q-133, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Substituição parcial por Q-196/Q-202: herdeiro neutro, incumprimento elimina, escolha quando pronto.
Q-134 Adotada a proposta documentada em Q-134, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-137 A continuidade depende de sucessor existente e sede válida; sem sucessor a partida termina. A Casa do Herdeiro rege-se pelo estágio definido posteriormente. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-139 Adotada a proposta documentada em Q-139, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-140 O desbloqueio de um perfil pode passar para uma nova campanha; a sua evolução tem de ser novamente conquistada. Perfil/desbloqueio persiste; evolução volta a ser conquistada num jogo novo.
Q-147 Decisão adiada; não executar por inferência ou por aprovação de outro assunto. Adiada; não executada por esta revisão.
Q-151 Uma abertura mais moderada até à quinta noite é aceitável, seguida de dificuldade crescente; as decisões posteriores refinam a rampa e os picos. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-156 Adotada a proposta documentada em Q-156, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-157 Adotada a proposta documentada em Q-157, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Abertura revista por Q-239–Q-243; tabela histórica não encerra a afinação.
Q-160 Adotada a proposta documentada em Q-160, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-167 Adotada a proposta documentada em Q-167, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-171 Adotada a proposta documentada em Q-171, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-179 A Podridão emerge de fissuras e pode ameaçar um ou ambos os lados, com composição equilibrada e progressão moderada na abertura. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-190 Manter a lareira acesa tem custo relevante e exige gestão económica. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-239 Adotada a proposta documentada em Q-239, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Pressão acumulada também passa pela rampa; não equivale a aprovar a agressividade da Q-240.
Q-240 Reduzir a agressividade da estreia e crescimento das espécies para permitir apreciar a construção durante vários dias; a sequência 3/6/9 não é o ritmo final aceite. Objeção explícita à escalada 3/6/9: exige ritmo mais lento e campanha apreciável durante vários dias.
Q-241 Adotada a proposta documentada em Q-241, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Emboscadas consomem orçamento da Podridão e só começam na noite três.
Q-242 Adotada a proposta documentada em Q-242, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Aprovação da proposta de rampa sete no contexto condicional de playtest; baseline ainda usa cinco.
Q-243 Adotada a proposta documentada em Q-243, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Primeira noite funda na doze, depois de seis em seis; implementação ainda difere.

Apresentação, controlos e acessibilidade

Secções temáticas: §19, §22, §23, §24, §26, §27, §58, §59, §60, §61, §87.

ReferênciaDecisão de design consolidadaAlcance da integração
Q-024 Equipamento e cabeça são camadas diferentes do personagem. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-034 Adotada a proposta documentada em Q-034, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-044 Adotada a proposta documentada em Q-044, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-045 Adotada a proposta documentada em Q-045, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-049 Adotada a proposta documentada em Q-049, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-057 Adotada a proposta documentada em Q-057, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-069 Adotada a proposta documentada em Q-069, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-079 Adotada a proposta documentada em Q-079, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-080 Adotada a proposta documentada em Q-080, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-083 Manter o pagamento contínuo enquanto o botão estiver premido e houver dinheiro disponível. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-087 Usar o tamanho do ecrã como referência no comportamento de câmara descrito na pergunta. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-089 A dispersão ao amanhecer é gradual, em cascata, suave e sem demora excessiva. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-090 Adotada a proposta documentada em Q-090, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-092 Adotada a proposta documentada em Q-092, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-093 Adotada a proposta documentada em Q-093, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-187 Adaptar todas as ações de desktop aos botões de toque, preservando informação e experiência equivalentes entre plataformas. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-188 Adotada a proposta documentada em Q-188, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-189 Aceitar a direção de visibilidade noturna apresentada na pergunta. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-191 Decisão adiada; não executar por inferência ou por aprovação de outro assunto. Adiada; não executada por esta revisão.
Q-194 Decisão adiada; não executar por inferência ou por aprovação de outro assunto. Adiada; não executada por esta revisão.
Q-209 Adotada a proposta documentada em Q-209, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.

Arquitetura, validação e modos

Secções temáticas: §18, §19, §39, §40, §42, §43, §44, §45, §46, §53, §62, §64, §89, §90.

ReferênciaDecisão de design consolidadaAlcance da integração
Q-025 Adotar Godot 4.7.2 estável como versão do projeto. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-035 Adotada a proposta documentada em Q-035, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-036 Adotada a proposta documentada em Q-036, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-046 Adotada a proposta documentada em Q-046, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-050 Adotada a proposta documentada em Q-050, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-051 Adotada a proposta documentada em Q-051, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-052 Adotada a proposta documentada em Q-052, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-056 Aplicar a solução apresentada na pergunta, no seu âmbito. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-058 Adotada a proposta documentada em Q-058, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-059 Adotada a proposta documentada em Q-059, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-060 Adotada a proposta documentada em Q-060, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-061 Adotada a proposta documentada em Q-061, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-066 Adotada a proposta documentada em Q-066, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-067 Adotada a proposta documentada em Q-067, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-074 Adotada a proposta documentada em Q-074, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-081 Decisão adiada; não executar por inferência ou por aprovação de outro assunto. Adiada; não executada por esta revisão.
Q-091 Desenvolver integralmente o sistema de duração do dia descrito na proposta. Aplicar apenas às cláusulas descritas; outras propostas conservam o seu estado.
Q-119 Adotada a proposta documentada em Q-119, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-141 Adotada a proposta documentada em Q-141, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-142 Adotada a proposta documentada em Q-142, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-148 Adotada a proposta documentada em Q-148, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Proposta da pergunta aprovada no seu âmbito; aplicar exceções e decisões posteriores.
Q-164 Adotada a proposta documentada em Q-164, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Reset destrutivo apaga legado na baseline; distinguir do novo começo que preserva perfis, Q-195/Q-206.
Q-204 Adotada a proposta documentada em Q-204, dentro do seu âmbito e sujeita às decisões posteriores identificadas. Modos aceites; topologia/autoridade refinadas pelo Documento Mestre e ADR 0067/0068.

Este registo conserva a proveniência da decisão. Quando existir uma instrução posterior incompatível, aplica-se a precedência da §86 e a regra temática atual; uma referência histórica não reabre a regra substituída.

Respostas adicionais de 07/10

Referência Síntese Alcance
Q-245 Adiada a decisão sobre as extensões de subsolo, ladrão, fauna, transporte por categorias e apresentação de reservas. Não implementar por inferência das propostas do relatório; preserva o que já foi aprovado em Q-237/Q-244.
Q-247 Tocha de mão inicialmente sem desgaste; numa fase posterior um acordo desfavorável poderá corrompê-la e introduzir consumo. Gatilho, consumo e recuperação por especificar; a resposta não resolve explicitamente proteção contra emboscadas.
Q-248 Elementos removidos pela fundação permanecem removidos nesse save e as construções realizadas devem persistir. Confirma persistência da limpeza e das obras; não concede regeneração ou compensação retroativa.

Fotografia editorial da consulta de 07/10/2026. Novas respostas devem atualizar apenas as cláusulas afetadas e conservar a distinção entre documentação, implementação e publicação.

92 — Território funcional

Fontes, acessos, fundação e produção

Limite visual conhecido — Q-257: o diagnóstico do PR #94 identificou água funcional onde o cenário ainda pinta mata/terra. O avaliador pode recusar corretamente uma obra e a paisagem continuar a induzir em erro. A concordância entre fonte física e representação permanece um critério pendente, acompanhado em CV-01/Q-257.

Estado em main/5b4b24a (RG-28, ADR 0077): fontes por intervalo/faixa, PlacementRules, TerritoryProfile, TerritoryWatch, reancoragem e prévia de fundação já existem. A assinatura v2 conserva o perfil do momento; o save continua v12. Acesso por caminho, direitos, capacidade sustentável partilhada e produção dependente da conectividade ainda não estão completos. O alcance atual não prova um grafo de acesso. Os números de territory.csv continuam propostas na Q-249; afinidade regional de Manor Lords fica na Q-258.

Modelo territorial recomendado

Seis condições diferentes

Um recurso produz benefício quando passa por seis condições: existe; é conhecido; pode ser alcançado; o reino tem direito de o usar; existe capacidade de exploração; o resultado chega a quem precisa dele. A descoberta afeta a informação do jogador; a existência física não deve depender dessa descoberta.

Camada Pergunta Exemplo de falha
Existência A fonte está no mundo? O bioma permite minério, mas este segmento não contém jazida.
Conhecimento O jogador sabe o suficiente? Há indícios de água, mas a margem ainda não foi visitada.
Acesso Há percurso compatível? Uma jazida está noutra faixa sem passagem utilizável.
Direito Quem autoriza exploração ou trânsito? A floresta pertence a um povo com quem não há acordo.
Exploração Há instalação, trabalhador e capacidade? Existe peixe, mas falta uma posição de pesca operável.
Abastecimento O produto chega ao destino? Um bloqueio interrompe a rota entre posto e base.

Um recurso visível não deve conceder imediatamente um bónus ao reino inteiro. Da mesma forma, falta de posse não deve significar impossibilidade absoluta: acordo, compra, tributo ou transporte podem ser alternativas.

Quatro conceitos de dados
Conceito proposto Responsabilidade
SiteSignature Registo histórico e reproduzível do momento da fundação.
ResourceSource Fonte concreta: identidade, posição/faixa, tipo, capacidade, estado e proprietário quando aplicável.
TerritoryProfile Capacidades efetivas e impedimentos atuais numa área; derivado do mundo e dos acordos.
AccessGraph Ligações válidas entre pontos de trabalho, passagens, ancoragens e destinos.

O perfil vivo é invalidado por alterações relevantes: corte, obra, passagem fechada, acordo, mudança climática ou perda de controlo. Não deve ser reconstruído integralmente a cada frame.

Recursos, capacidades e materiais não são a mesma coisa

Materiais existentes como madeira, minério, peixe, grão e produtos animais continuam a sustentar produção e conversão. Capacidades como água doce, solo fértil, abrigo, acesso costeiro ou navegabilidade condicionam atividades. Não precisam tornar-se itens novos no inventário.

Característica territorial Capacidade criada Limite ou custo associado
Solo fértil Agricultura eficiente Exposição, sazonalidade e ocupação de espaço.
Floresta Madeira, abrigo e recolha Corte reduz efeitos locais; transporte exige acesso.
Jazida acessível Extração de minério Trabalhadores, passagem e custo de operação.
Água doce Certas atividades agrícolas e assentamento Não implica pesca abundante nem navegação.
Margem navegável Cais e transporte fluvial Rede, sazonalidade e capacidade da embarcação.
Costa acessível Porto marítimo e ligação externa Investimento, acesso terrestre e exposição.
Cavidade Espaço e possibilidade de instalação subterrânea Reserva útil, entrada e compatibilidade com o terreno.
Posição elevada/estreita Defesa potencial Menos área útil e maior custo de transporte.

Nenhuma destas vantagens deve eliminar a necessidade de trabalhadores, manutenção ou armazenamento. A geografia modifica a economia; não a substitui.

Propriedade e alcance

Recomendo separar propriedade territorial de alcance funcional. Um posto pode explorar uma fonte próxima por acordo, sem anexar a aldeia. Uma fonte dentro de território reclamado pode continuar inacessível. O alcance de uma instalação deve ser pequeno e legível; redes mais extensas exigem postos ou transporte.

As distâncias devem usar unidades e regras do projeto. Os raios de Civilization não são valores de balanceamento adequados a Empire. Proximidade horizontal, distância percorrida e distância aquática são métricas diferentes e devem aparecer explicitamente na regra.

Aplicação aos oito biomas já catalogados

Esta tabela parte dos identificadores e recursos de data/source/biomes.csv. A coluna de evolução é uma proposta. Vários campos do catálogo, incluindo recursos de alguns biomas, continuam marcados como _proposed; a sua presença no CSV não representa aprovação de todos os efeitos sugeridos.

Bioma / povo Recursos declarados no catálogo Evolução territorial recomendada Dependência a preservar
ancient_forest / Enramados forest, water Madeira, recolha e habitat; classificar o lago mencionado no catálogo Água local não implica saída marítima; minério pode exigir troca.
coast / Portuários water Ancoragens costeiras, pesca e serviço portuário Nem toda a costa é acessível; construção e metal podem vir de fora.
canyon / Fenda rock Jazidas e passagens estratégicas Alimento, madeira e transporte precisam de alternativas.
floodplain / Horta fertile, water Agricultura, margens e abastecimento regional Escolher entre área produtiva, circulação e espaço de defesa.
volcanic / Fornalha rock Geologia e especialização produtiva Não introduzir indústria avançada gratuita nem alimentação impossível.
subterranean / SobRaiz fungi Ecossistema subterrâneo e aproveitamento de espaço acessível Luz/acesso e capacidade espacial; fungos funcionais exigem conteúdo próprio aprovado.
glacier / Geada water, rock Recursos minerais e perfil climático específico Água congelada não equivale a rota operável; garantir economia alternativa.
marsh / Bruma water, fertile Fontes húmidas, solo utilizável e passagens particulares Terreno encharcado não autoriza qualquer edifício ou embarcação.

O nome do povo não deve funcionar como uma licença universal. Um assentamento Portuário pode ter conhecimento de navegação e ainda precisar de uma margem adequada. Um povo mineiro pode conhecer extração sem transformar toda a rocha em jazida.

Compatibilidade com o mundo contínuo atual

WorldPlan organiza povos, trilhos, limiares, terras, fortalezas e bordas, alternando regiões pelos dois lados da origem. O mapa tem limites de campanha. As oportunidades territoriais propostas devem ser distribuídas dentro desse plano, respeitando transições e passagem entre faixas.

Não é necessário mover povos inteiros para oferecer escolhas iniciais. Variação local — clareira com habitat, margem acessível, elevação defensiva, entrada subterrânea — já pode criar opções dentro de uma região. Comparar biomas distantes é uma possibilidade adicional, sujeita ao ritmo de exploração aprovado. A garantia de escolha inicial deve ser definida por percurso e capacidade de sobrevivência, não pela promessa de chegar a qualquer bioma antes da primeira noite.

Exploração e escolha da base

Tornar a exploração útil sem a tornar obrigatoriamente demorada

A decisão de fundar deve ser compreensível com informação local e melhorar com exploração adicional. Um jogador pode aceitar um local suficientemente bom cedo; outro pode arriscar mais tempo à procura de acesso costeiro ou de uma companhia útil.

O ganho de explorar deve ser encontrar combinações e alternativas, não descobrir um único local correto escondido. A geração deve oferecer pelo menos duas soluções viáveis com custos diferentes dentro de um percurso inicial razoável. Distância e duração desse percurso são hipóteses de balanceamento a medir.

O ciclo recomendado é: observar sinais naturais; inspecionar uma oportunidade; comparar locais; entender o custo de fundar; confirmar; desenvolver vantagens; negociar aquilo que falta. Depois da fundação, exploração continua a revelar recursos, parceiros e novas rotas.

Informação em três níveis
Nível Apresentação Confiança
Observado “Margem navegável acessível”, “floresta próxima” Confirmado por dados acessíveis ao jogador.
Indício “Vestígios de minério”, “caminho usado por caravanas” Pista consistente, ainda sem exploração completa.
Relato “Uma companhia refere um cais a leste” Informação atribuída a uma fonte, com validade e localização aproximada.

O conhecimento deve persistir entre visitas. Se uma cheia, corte ou bloqueio tornar o relato desatualizado, a interface pode assinalar a última observação, em vez de apresentar um falso facto atual.

Pré-visualização da fundação

A interface existente já mostra árvores removidas, perdas de recolha e abrigo, e pontos preservados. Recomendo ampliá-la com cinco perguntas:

  1. O que posso fazer aqui? Construções disponíveis e capacidades relevantes.
  2. O que falta? Recursos sem acesso, margem inadequada ou necessidade de acordo.
  3. O que perco ao fundar? Vegetação e benefícios removidos pela clareira.
  4. Qual é a fragilidade do local? Pouco espaço, transporte longo, exposição ou sazonalidade.
  5. Como compensar? Um parceiro conhecido, acesso por construir ou alternativa produtiva.

Não recomendo mostrar um índice único como “qualidade 92/100”. Pode esconder preferências legítimas: produção inicial, defesa, diplomacia e expansão futura não têm sempre o mesmo peso.

Comparação de quatro locais ilustrativos

Os exemplos abaixo são cenários de design, não mapas nem resultados medidos do jogo atual.

Local Vantagem inicial Dependência criada Oportunidade posterior Perfil favorecido
Margem fértil Alimento e acesso fluvial Madeira mais distante; proteger trabalhadores Cais e aldeia agrícola parceira Crescimento e comércio regional.
Enseada costeira Porto e pesca Construção inicial mais cara; pouco minério Rotas externas e companhia marítima Comércio e exploração.
Vale florestal Madeira, recolha e habitat Importar minério; sem transporte naval Carpintaria e trocas com outro povo Economia terrestre e manutenção.
Entrada de desfiladeiro Defesa e depósito acessível Alimentação e transporte mais exigentes Metalurgia e contrato de escolta Defesa e produção especializada.

Cada local deve oferecer uma forma funcional de atravessar a fase inicial. “Sem mar” significa um ramo económico diferente, não uma campanha incompleta. “Sem minério local” deve permitir obter o necessário por troca, tributo ou uma expedição.

Fundação e permanência

A confirmação consulta novamente o mesmo avaliador usado pela pré-visualização. Se o mundo mudou, a interface atualiza a diferença antes de consumir recursos. A fotografia de fundação preserva o contexto original; as capacidades continuam a mudar com o mundo.

Não proponho deslocar livremente a base depois de fundada. Isso reduziria o peso da escolha e poderia duplicar clareiras, postos e vantagens. A expansão deve ocorrer por obras, postos e acordos a partir da sede original; uma futura mudança de capital seria outra decisão de design.

Influências, produção e equilíbrio ambiental

Aproveitar o que já existe

A floresta atual oferece uma boa linguagem para o sistema: fontes no mundo, condição de proximidade, efeito limitado e pré-visualização da perda. Os valores observados incluem raios e limiares próprios para recolha e abrigo. Não recomendo reequilibrá-los automaticamente ao acrescentar água ou solo.

O nome Influence já tem significado espacial no código. Recomendo reservar Favor/relação para diplomacia e influência territorial para efeitos ambientais. Isto evita confundir a moeda diplomática de Civilization com o sistema de proximidade existente.

Contrato de uma regra de influência

Cada regra deve declarar: fonte, destinatário, condições, métrica de distância, valor, limite, grupo de acumulação e razão apresentada ao jogador. Efeitos que parecem iguais visualmente podem ter regras diferentes.

Efeito proposto Fonte → destinatário Métrica Forma de evitar abuso
Recolha florestal Árvores preservadas → instalação de recolha Proximidade ecológica existente Limite por instalação; não multiplicar por cada árvore indefinidamente.
Madeira Árvores exploráveis → serraria Caminho de trabalho Capacidade, trabalhadores e fonte identificada.
Agricultura Solo/água apropriados → campo Área útil e acesso Um benefício de irrigação por categoria; sem cadeia infinita de adjacências.
Pesca Habitat → posto de pesca Margem e alcance Capacidade partilhada por postos que usam a mesma fonte.
Mineração Jazida → extração Passagem e trajeto Taxa limitada pela fonte e pela operação.
Comércio Rota ativa → posto comercial Conexão logística Rendimento por serviço/remessa real, não por simples proximidade.
Proteção Patrulha contratada → área de serviço Percurso e presença Não defender dois locais distantes com a mesma unidade.
Forma de cálculo recomendada

Uma expressão útil para discutir o modelo é:

produção efetiva = taxa base × pessoal × condição da fonte × acesso × modificador local limitado

Todos os fatores devem ter domínio explícito. Ausência de acesso reduz a produção dependente daquela fonte a zero; não é apenas uma pequena penalização. Um modificador local melhora uma capacidade existente, mas não cria peixe onde não há habitat.

Esta expressão é uma proposta conceptual. A implementação deve integrar os fatores já existentes em EconomySystem, incluindo estações, crescimento e outros modificadores, sem os aplicar duas vezes. Os multiplicadores novos devem ter teto e ordem documentados. Uma alternativa aditiva pode ser superior quando facilitar a explicação.

Fontes renováveis, finitas e estado ambiental

O primeiro ciclo pode representar capacidade produtiva sem introduzir esgotamento permanente em todos os recursos. Isto reduz o risco de campanhas inviáveis antes de existir comércio suficiente.

  • Árvores mantêm a persistência já implementada; não adicionar regeneração automática apenas para compensar a nova mecânica.
  • Pesca pode começar com uma capacidade sustentável partilhada por instalação e fonte. Sobre-exploração é uma extensão posterior.
  • Jazidas podem começar com rendimento limitado e identidade própria. Reserva finita só deve entrar quando existirem alternativas e comunicação suficientes.
  • Solo fértil é uma capacidade do terreno, não uma pilha de itens para recolher.

Se houver degradação, o jogador precisa ver a causa, a velocidade e uma resposta possível. Evitar ciclos em que baixa produção causa falta de manutenção, que reduz ainda mais a produção, sem uma saída acessível.

Clima e Podridão

Clima deve alterar oportunidades de regiões específicas com aviso: um rio pode reduzir capacidade, uma região fria exigir reservas, uma costa oferecer períodos melhores de navegação. Não é necessário simular meteorologia contínua para obter estas decisões.

A Podridão pode afetar segurança de acesso ou condição da fonte, desde que isso não duplique automaticamente a pressão noturna. Primeiro deve haver sinais locais e uma ação de recuperação. Cheias, tempestades e contaminação são conteúdo posterior ao funcionamento estável das fontes e rotas.

93 — Água e navegação

Rios, costa, lagos, cais e portos

Estado: o protótipo identifica água com posição, incluindo lago inicial, segmentos water e borda sea. Não classifica ainda rede navegável nem implementa cais/portos. O desenho abaixo dá continuidade ao relatório e à Q-250; parâmetros e conteúdo permanecem por aprovar/implementar. A água visual não autoriza por si uma rota.

Água, rios, costa e portos

Regra fundamental

Ver água não basta para construir um porto. É necessário existir uma margem compatível, um local de implantação livre, acesso terrestre e uma ligação aquática adequada à função. A possibilidade de construir, a capacidade de operar e a existência de uma rota são estados diferentes.

Civilization VII permite portos em rios navegáveis desde uma correção de fevereiro de 2025. Isto sustenta a distinção entre rio comum e navegável como referência de design. As regras de profundidade, ancoragem e logística abaixo são propostas para Empire, não uma descrição pormenorizada da simulação de Civilization. C13

Tipos mínimos de água
Tipo Usos possíveis Não deve implicar automaticamente
Ribeira ou curso menor Água doce; efeitos agrícolas; pesca onde houver habitat Transporte de carga por barco ou porto.
Rio navegável Cais, transporte fluvial, pesca e travessia Saída para o mar em todos os trechos.
Lago Pesca; cais lacustre; transporte entre margens existentes Comércio oceânico.
Mar/costa Porto marítimo, pesca costeira e rotas marítimas Margem acessível ao nível do solo.
Estuário Ligação fluvial e marítima, se compatível Água doce em todo o estuário.
Pântano Ecossistema e atividades específicas Navegabilidade contínua ou solo estável para grandes obras.

O primeiro modelo não precisa simular fluidos. Basta uma topologia autoritativa, com tipos e estados discretos. Uma classe de navegação — por exemplo, sem navegação, embarcação leve e transporte maior — é suficiente até os testes demonstrarem necessidade de mais detalhe.

Modelo da rede aquática

Uma massa de água tem um identificador estável. As ligações indicam quais os trechos conectados, tipos de embarcação admitidos e impedimentos. Pontos de margem ligam a rede terrestre à aquática. A decoração deve ser gerada a partir desses dados ou validada contra eles; não pode ser a única prova de que ali existe água funcional.

Verificação Resultado
Margem, implantação, acesso e direito válidos Construção elegível.
Pessoal e condições operacionais disponíveis Operação local.
Destino conhecido e ligação compatível Rota disponível.
Requisito ausente Impedimento ou suspensão com causa; sem inventar ligação.

Uma rede parcialmente explorada só permite oferecer destinos conhecidos ou devidamente reportados. A simulação pode conhecer a continuidade do rio; a interface não deve revelar automaticamente uma cidade distante ou uma rota secreta.

Regras de instalação propostas
Instalação Requisito espacial Requisito funcional Comportamento sem rota externa
Posto de pesca Fonte de peixe e margem alcançável Trabalhador e capacidade de exploração Produção local; não exige porto comercial.
Cais fluvial Ancoragem em rio navegável Acesso terrestre e classe de embarcação compatível Embarque local; comércio aguarda destino.
Cais lacustre Ancoragem em lago Outra margem/destino para transporte Pesca ou serviço local; sem saída oceânica fictícia.
Porto marítimo Ancoragem costeira apropriada Espaço, acesso, manutenção e embarcação Serviço costeiro disponível; exportação aguarda acordo.
Travessia por barco Duas ancoragens ligadas Operador e percurso válido Serviço de passagem entre margens.
Ponte Intervalo atravessável e apoios válidos Obra e compatibilidade com navegação Liga terreno; não cria porto.
Moinho de água, fase posterior Corrente adequada Local e atividade compatível Não usa simplesmente a presença de qualquer água.

Para o primeiro protótipo, cais fluvial e porto marítimo podem partilhar grande parte do comportamento, diferenciados por dados e aparência. Cais lacustre, ponte e moinho são extensões; não devem atrasar a validação inicial.

Casos que precisam funcionar corretamente
  • Costa com falésia: o mar existe, mas falta uma ancoragem terrestre acessível. O jogador vê a razão e pode procurar outra margem; uma futura obra de acesso é uma opção de progressão.
  • Rio interrompido: uma queda de água ou trecho incompatível divide a rede. Não basta partilhar o mesmo nome de rio.
  • Lago isolado: permite atividade local; uma rota marítima só aparece se houver uma ligação real.
  • Rio junto da base, porto do outro lado: a propriedade e a passagem continuam relevantes. Proximidade visual não teletransporta trabalhadores.
  • Trecho temporariamente fechado: suspende a rota, conserva edifício e carga e comunica uma previsão quando disponível.
  • Construção sobre passagem importante: o validador preserva as regras de acessibilidade e os pontos protegidos já existentes.

O fecho sazonal não deve destruir instantaneamente um porto. Recomendo distinguir elegível, em construção, operacional, suspenso e danificado. Cada transição deve ter uma causa e uma solução legíveis.

94 — Companhias e contratos

Ofertas, pagamentos, serviço e incumprimento

Estado: recrutamento, soldo e esgotamento legado existem; ofertas persistentes, contratos e liquidação não estão entregues. Este é o desenho proposto para a Q-251 e UN-18–UN-21. Os valores e riscos antigos da §14 conservam-se como referência histórica/CSV, sem se tornarem o contrato novo. Nenhuma dívida nasce automaticamente ao abrir uma negociação.

Negociação com mercenários

Objetivo da negociação

O jogador deve escolher que problema quer resolver e que compromisso aceita. Descontos podem existir, mas o interesse principal está na troca entre preço, prazo, risco, disponibilidade e âmbito do serviço.

Uma companhia de batedores pode conhecer caminhos e preferir contratos curtos; uma companhia defensiva pode aceitar guarnição prolongada em troca de alojamento e previsibilidade. Estas preferências têm de afetar ofertas, sem exigir uma conversa livre gerada por IA.

Identidade mínima de uma companhia
Campo conceptual Função
Identidade e origem Continuidade entre encontros e saves.
Especialidade Define vantagens e contratos adequados.
Efetivos disponíveis Impede vender as mesmas unidades várias vezes.
Base/acampamento e posição Localiza recrutamento, regresso e necessidades.
Necessidade principal Dinheiro, descanso, abastecimento, acesso ou proteção.
Relação com o reino Confiança e condições futuras, separadas de uma dívida concreta.
Compromissos ativos Disponibilidade real e incompatibilidade entre trabalhos.
Memória contratual Pagamentos, perdas, conclusão e quebras relevantes.

No primeiro ciclo, duas especialidades e um conjunto pequeno de necessidades são suficientes. Personalidade não deve significar dezenas de variáveis ocultas.

Serviços recomendados
Serviço Resultado contratado Condição de conclusão Prioridade
Guarnição temporária Proteger uma zona definida Fim do prazo ou condição contratada Primeiro ciclo.
Escolta Acompanhar pessoa ou remessa por rota acordada Chegada e entrega confirmada Primeiro ciclo, inicialmente numa rota simples.
Reconhecimento Revelar acessos e oportunidades de uma área Relatório entregue Segundo incremento; depende do modelo de conhecimento.
Patrulha de rota Manter circulação num trajeto Serviço por períodos definidos Depois das rotas.
Expedição de acesso Explorar ou proteger passagem/jazida Marco verificável Depois do subsolo e das missões.
Apoio a cerco Objetivo militar delimitado Retirada, vitória ou limite do contrato Posterior; risco elevado de escopo.

O reconhecimento não deve revelar tesouros ou inimigos que o grupo nunca alcançou. Uma escolta não deve transformar-se automaticamente em participação em todas as guerras do reino.

Três ofertas úteis em vez de regateio infinito

Na abertura, apresentar até três alternativas comparáveis:

  1. Serviço curto: menor compromisso total; menor duração e âmbito.
  2. Serviço regular: melhor custo por período; reserva de efetivos mais longa.
  3. Serviço com contrapartida: dinheiro mais uma obrigação concreta, como abastecimento ou acesso autorizado.

A contraproposta altera um eixo de cada vez: duração, efetivos, área ou pagamento. Não permite reduzir o preço infinitamente por repetição. O interlocutor explica o fator decisivo: “A rota atravessa território hostil”, “Precisamos de pagamento adiantado” ou “A companhia já tem homens comprometidos”.

A oferta tem identidade, versão e validade. Reabrir a janela ou carregar o save não produz novas condições aleatórias. Quando o contexto mudar, a atualização deve ser explicada.

Avaliação determinística da proposta

O motor deve avaliar remuneração, duração, risco conhecido, distância, necessidade da companhia e histórico. Pode usar faixas de aceitação e contrapropostas por dados. Não precisa simular um negociador humano nem usar um modelo de linguagem.

Regra essencial: a IA negocia com informação coerente com o seu conhecimento. Não cobra um prémio por um inimigo secreto que nem o jogador nem a companhia detetaram. Se houver risco adicional desconhecido, ele pertence à incerteza do contrato, não a uma leitura omnisciente do mapa.

O resultado pode ser aceitar, recusar com razão ou devolver uma contraproposta. Sorteios narrativos, quando existirem, usam o RNG autorizado e ficam persistidos no evento; não determinam secretamente a fidelidade de um contrato já aceite.

Relação, reputação e confiança

Recomendo começar com uma relação por companhia e um histórico curto de contratos. Uma reputação global mais detalhada pode esperar.

Cumprir um acordo aumenta a disponibilidade ou reduz certas exigências futuras. Perdas previstas em combate não equivalem automaticamente a traição do empregador; enviar uma escolta para um objetivo não acordado pode ser uma quebra. A regra deve distinguir resultado infeliz de incumprimento.

Boa relação deve abrir opções, não eliminar todos os custos. Uma companhia amiga ainda paga os seus membros e não dispõe de efetivos ilimitados.

Contratos, pagamentos e incumprimento

Conteúdo mínimo de um contrato
Grupo Informação obrigatória
Partes Reino pagador e companhia prestadora.
Serviço Tipo, objetivo, zona e limites da ordem.
Efetivos Unidades reservadas, papel e capacidade mínima.
Tempo Início, períodos pagos, termo e eventual prazo de chegada.
Preço Mobilização, pagamentos periódicos, prémio de risco e teto total.
Pagamento O que foi pago, o que está reservado e o que vence depois.
Abastecimento Quem fornece provisões/equipamento e onde.
Desfecho Sucesso, interrupção, cancelamento, atraso e regra de reembolso.
Perdas Se existe compensação e em que condições; zero também deve ser explícito.
Evidência Versão da oferta, aceite e eventos já liquidados.

Não introduzir renovação automática silenciosa. Não criar dívida por deixar cair uma moeda perto de um acampamento. A confirmação do contrato deve ser um ato inequívoco dentro do sistema de interação existente.

Exemplo financeiro completo

Valores exclusivamente ilustrativos, para demonstrar a apresentação e a contabilidade. Não são preços aprovados nem uma medição do equilíbrio atual.

Componente Guarnição de dois guardas, por três períodos diários
Mobilização, paga ao aceitar 4 moedas
Salário por período, para o par 2 moedas
Três períodos de salário 6 moedas
Total contratado 10 moedas
Pago na aceitação 4 moedas
Restante, explicitamente anunciado 6 moedas

Se uma escolta equivalente acrescentar um prémio de risco de 2 moedas pago na aceitação, o total será 12, o pagamento inicial 6 e o restante 6. Uma caução que conta para o preço não pode ser somada outra vez ao total.

O CSV atual contém um salário mercenário diário de 1 marcado como proposta; a coincidência com o exemplo não o transforma em decisão aprovada. A implementação deve esclarecer também se o primeiro período começa na aceitação, na chegada ou numa fase do relógio. Recomendo iniciar a cobrança do serviço quando ele estiver disponível, cobrando deslocação separadamente apenas se tiver sido acordada.

Fonte do dinheiro e compatibilidade com a moeda física

O contrato precisa declarar uma fonte de pagamento. No primeiro ciclo, deve usar o mecanismo económico já existente e autorizado pelo reino, sem criar um novo saldo invisível.

Uma reserva de pagamento, quando utilizada, deve transferir ou marcar moedas de forma contabilisticamente real. Não pode manter o dinheiro simultaneamente disponível na bolsa e garantido ao prestador. A criação do contrato, a reserva de efetivos e o débito inicial devem formar uma operação indivisível: ou todos acontecem, ou nenhum acontece.

Fases futuras podem permitir pagamento através de tesouros locais e missões diplomáticas. Isso depende do trabalho de autonomia e orçamento previsto no backlog; não deve ser apresentado como já funcional.

Ciclo de vida
Estado Transição normal
Oferta Recusar/expirar encerra; aceitar e validar reserva.
Reservado Mobilizar e deslocar unidades reais.
Em deslocação Chegada inicia serviço ativo.
Ativo Objetivo/prazo conclui; obrigação em falta gera aviso.
Aviso Regularização retoma; fim de tolerância suspende.
Suspenso ou concluído Regresso acordado e acerto de saldo.
Liquidado Contrato encerrado; eventos económicos não se repetem.

Captura, morte, perda da companhia e cancelamento devem ser eventos explícitos com regras próprias. A representação acima descreve o caminho normal e o incumprimento financeiro; não é uma lista completa de todas as transições militares.

Consequências proporcionais

Recomendo esta sequência para falta de pagamento: aviso com montante e prazo; limitação de novas ordens; suspensão; retirada para local seguro quando possível; consequência na relação; cobrança contratual se estiver prevista.

Não recomendo mudança instantânea de dono, traição aleatória ou juros exponenciais sem teto. Também não recomendo que um pagamento residual de uma moeda reinicie indefinidamente o prazo. Uma renegociação deve alterar o saldo e o calendário uma vez, com condições explícitas.

O contrato deve definir o comportamento se a falta de pagamento ocorrer durante um combate. A saída não pode teletransportar unidades nem surpreender o jogador com uma exceção invisível. O encerramento seguro e a responsabilidade por perdas devem fazer parte dos termos.

Livros separados

Separar pelo menos três conceitos: obrigação mercenária, acordo diplomático e dívida sobrenatural de Candeia. Podem aparecer num resumo comum de compromissos, mas não partilham automaticamente juros, penalizações ou consequências de propriedade.

Prisioneiros, resgate e diplomata capturado são compatíveis com a visão existente, mas pertencem a uma etapa posterior. O primeiro contrato de guarnição não deve depender da implementação de toda essa cadeia.

95 — Redes e persistência

Direitos, logística, arquitetura e compatibilidade

Estado: esta secção especifica a continuação de RG-28, RG-24, RG-12–RG-15 e Q-252. PlacementRules/TerritoryProfile já têm implementação parcial; direitos, remessas e contratos não são funcionalidades concluídas. A Q-245 foi explicitamente adiada: fauna, ladrão, transporte subterrâneo por categorias e reservas visuais abrangidos por essa pergunta não são reativados por este relatório. A nova versão de save só é atribuída quando necessária; RG-28 mantém v12.

Comércio, rotas e autonomia dos povos

A negociação deve resolver limites territoriais

Um reino interior sem costa pode negociar acesso a um porto vassalo ou estrangeiro. Uma base florestal pode trocar produção por minério. Uma companhia pode aceitar escolta de uma rota que também a abastece. Assim, a localização continua importante sem condenar quem não encontrou todos os recursos.

Acordo O que concede O que não concede
Passagem Trânsito num percurso definido Propriedade, extração ou acesso militar ilimitado.
Exploração Uso limitado de uma fonte Anexação automática do povo proprietário.
Serviço portuário Uso de ancoragem e capacidade contratada Posse do porto nem ligação a qualquer oceano.
Fornecimento Entrega de quantidade/tipo num período Duplicação dos recursos que o fornecedor mantém.
Tributo Prestação acordada de um vassalo Microgestão completa da sua economia.
Duas etapas de logística

Etapa inicial: capacidades locais, direitos e ligações explicáveis; um serviço de transporte simples quando necessário. Se o comércio ainda for abstrato, a interface deve dizer que paga por uma ligação/serviço, sem fingir uma carga que não existe.

Etapa seguinte: remessas com origem, destino, quantidade, transportador, estado e eventos de entrega. Madeira, minério, peixe, grão e produtos existentes devem ser suficientes para começar. Não acrescentar uma dúzia de materiais antes de validar o transporte de um deles.

Uma rota precisa respeitar a capacidade do seu trecho mais limitado. Pode ser útil expressar o limite assim:

capacidade da rota = mínimo entre carga, transporte, porto, passagem e receção

Os custos devem incluir o que o jogo realmente simula: operação, salários, serviço portuário ou perdas. Não inventar rendimentos para compensar uma cadeia que não fecha economicamente.

Contabilidade e interrupção

Uma remessa sai do stock ou fica formalmente reservada; ao entregar, entra no destino uma única vez. Se for capturada, muda de detentor; se for destruída, a perda fica registada. Cancelar a rota não pode fazer o produto reaparecer na origem depois de já ter chegado.

A atualização fora de cena deve usar o mesmo calendário e as mesmas regras de eventos. Ao reentrar numa área, materializam-se os estados resultantes, não uma segunda simulação do período ausente.

Uma interrupção de água pode conduzir a espera, transbordo ou alternativa terrestre, se existir. O primeiro ciclo pode apenas suspender a operação com motivo legível; desvio automático complexo não é obrigatório.

Povos e vassalos especializados

O código de assentamentos já paga salários, produz, repara e repõe parte da defesa. Isso oferece um ponto de partida para especializações simples: agrícola, florestal, mineira, portuária ou defensiva.

A especialização deve emergir de capacidades locais mais uma escolha ou tendência cultural. Não atribuir um porto funcional a um povo apenas porque se chama Portuários. Identidade cultural e condições físicas podem entrar em tensão e gerar uma missão ou necessidade de acesso.

Vassalagem preserva a autonomia decidida para o projeto. O jogador escolhe acordos e prioridades limitadas; não passa a administrar manualmente cada casa. Custos de distância e defesa podem limitar a expansão de forma orgânica, depois de haver meios claros de os reduzir.

Companhias também vivem no mundo

Uma companhia precisa reservar os próprios efetivos, receber pagamento, recuperar e deslocar-se. A reposição pode ser simplificada, mas não deve ignorar o calendário. Se aceitar dois contratos incompatíveis, o segundo é recusado ou remarcado.

Para companhias móveis, o calendário social deve existir antes da primeira visita, com estado determinístico. O mundo não precisa simular cada passo distante; precisa conservar disponibilidade, posição aproximada, compromissos e eventos relevantes.

Outras adaptações úteis de Civilization VII

Missões com grupos e comando

Os comandantes de Civilization concentram gestão e progressão militar, incluindo agrupamento e reforços. A transferência útil é reduzir ordens repetitivas através de missões e líderes, sem copiar o empilhamento ou fazer tropas desaparecerem do terreno. C9

Empire pode beneficiar de uma ordem de escolta ou patrulha que define objetivo, rota, orçamento e condição de regresso. Um grupo contratado usa esse mesmo mecanismo. O diplomata autónomo pode utilizar a infraestrutura de missão quando UN-18 a UN-21 forem desenvolvidos.

Feitos opcionais de exploração e diplomacia

Triumphs oferecem objetivos opcionais e recompensas, incluindo consequências de progressão entre Eras. A parte transferível é dar reconhecimento a estratégias distintas; a estrutura por Eras não é necessária. C6

Usar o livro de feitos existente para objetivos como estabelecer uma rota entre biomas, cumprir vários contratos sem incumprimento ou preservar uma área natural relevante. As recompensas devem ampliar opções ou dar reconhecimento; não tornar obrigatório completar uma lista antes de jogar a economia normal.

Aprendizagem cultural limitada

O sistema atual de continuidade de civilizações e sincretismo de Civilization permite combinar continuidade com elementos de outras tradições. Isso sugere uma evolução por contacto, sem obrigar Empire a trocar a identidade do reino. C7

Um acordo prolongado pode ensinar uma técnica de conservação, uma construção ou uma doutrina específica. Recomendo limite de escolhas e custo de adoção, evitando acumular todas as vantagens de todos os povos. A aprendizagem deve depender de uma relação concreta, não apenas de visitar uma fronteira.

Eventos que nascem de causas

Civilization usa eventos narrativos contextuais para reagir a escolhas e condições de campanha. A aplicação mais útil em Empire é ligar texto e consequência a estados já simulados. C10

Exemplos: uma companhia propõe melhores condições depois de um contrato cumprido; uma aldeia pede passagem porque perdeu o acesso ao rio; trabalhadores contestam uma exploração que destruiu o seu abastecimento. O evento apresenta uma escolha e modifica um sistema real. Evitar pop-ups que apenas oferecem um bónus aleatório sem relação com o território.

Navegação e conflito posterior

Civilization diferencia papéis de unidades navais e ações marítimas. Isso pode inspirar uma fase avançada, mas a existência de um porto não exige imediatamente batalhas navais, corsários e cercos costeiros. C12

A primeira embarcação pode ser um transportador com capacidade, tempo de viagem e estado. Combate naval só deve avançar quando existirem rotas suficientes para justificar decisões próprias e quando a leitura visual do mundo 1.5D estiver resolvida.

Experiência de utilização

A informação deve aparecer no momento da decisão

Recomendo uma inspeção contextual do local com informação progressiva: uma frase de identidade, duas ou três oportunidades e o impedimento principal. Um detalhe opcional mostra fontes e cálculo. O ecrã não precisa expor classes de código, grafos ou IDs.

Exemplo de apresentação proposta:

Margem do rio
Cais fluvial disponível. Pesca possível nesta margem.
Falta uma ligação conhecida para iniciar comércio.
Fundar aqui remove parte do abrigo da caça.

Exemplo de impedimento:

Costa sem acesso
O mar está próximo, mas a falésia impede o acesso à margem.
Procure uma ancoragem acessível ou construa um acesso quando disponível.

Camadas de inspeção
Camada Mostra Deve esconder por omissão
Capacidades Fontes e construções viáveis Cálculos extensos.
Acessos Passagens, ancoragens e impedimentos Destinos ainda desconhecidos.
Compromissos Direitos, contratos e custos próximos Histórico completo de eventos.
Riscos Mudanças previstas e fragilidades Probabilidades falsas ou precisão inexistente.

No telemóvel, estas camadas devem ser alternativas selecionáveis, sem sobrepor várias legendas pequenas. No comando, o foco deve percorrer oportunidades e impedimentos relevantes sem exigir um cursor preciso sobre cada detalhe.

Contrato antes e depois de aceitar

Antes de aceitar, mostrar serviço, unidades, duração, total, pagamento imediato e obrigações futuras. Depois, mostrar estado, localização, próximo vencimento e ação disponível. As consequências de cancelar ficam ao lado da ação, não escondidas numa ajuda geral.

A interface deve manter a linguagem de moeda e os verbos existentes. Uma janela de escolha é aceitável para decisões complexas; não exige acrescentar uma barra permanente de novas moedas ou transformar cada contratação num editor de contratos.

Explicação económica consistente

Pré-visualização e simulação devem partilhar os mesmos resultados. Para produção, apresentar uma decomposição curta, por exemplo: taxa base; efeito do pessoal; efeito do local; impedimento atual. Os termos visíveis usam chaves PT/EN e símbolos acompanhados de texto, sem depender apenas de cor.

Uma promessa da interface é um contrato com o jogador: se disser “cais disponível”, a confirmação tem de validar a mesma regra. Se o contexto mudar, precisa explicar a alteração.

Arquitetura e integração no código

Princípios de implementação
  1. A simulação decide; a interface apresenta. Pré-visualização, pagamento e produção consomem resultados do mesmo avaliador.
  2. O mundo físico é a fonte de verdade. A etiqueta do bioma orienta a geração, mas não substitui fontes e acessos concretos.
  3. Contratos são estado persistente. Não são apenas descontos temporários aplicados a recrutamento.
  4. Cada evento económico é aplicado uma vez. Aceitação, cobrança, entrega, reembolso e libertação de efetivos têm identidade.
  5. A primeira versão funciona em solo. Identidades e intenções preparam coop/PvP sem exigir rede para provar a mecânica.
  6. Dados de balanceamento continuam nos CSV. Exemplos deste relatório não viram constantes escondidas no código.
Pontos de integração existentes

Os caminhos desta secção são relativos à raiz do repositório; a secção 23 fornece ligações verificáveis ao commit auditado. Na baseline RG-28, PlacementRules e TerritoryProfile já existem, ligados por TerritoryWatch. Os restantes módulos são propostas; os campos sugeridos para PlacementResult excedem o resultado parcial atualmente implementado.

Ponto existente Responsabilidade a preservar Alteração recomendada
src/core/foundation_choice.gd Gatilho, validade e confirmação da fundação Consultar perfil territorial e persistir a fotografia escolhida.
src/ui/foundation_guide.gd Pré-visualização de perdas e preservação Mostrar capacidades e impedimentos usando o mesmo resultado da simulação.
src/sim/systems/site_validator.gd Validade espacial e proteção Compor validade física com requisitos do tipo de instalação.
src/world/greybox.gd Autoria inicial de cenário e postos Retirar do segmento fixo a autoridade final sobre elegibilidade geográfica.
src/core/last_cart_watch.gd Reancoragem e fundação Revalidar posições dependentes de recursos; não deslocar fontes naturais.
src/core/world_works.gd Ligação entre obra e mundo Validar antes de publicar obra e ao confirmar custo.
src/sim/systems/build_system.gd Progressão e requisitos de construção Integrar consulta comum; impedir caminhos que contornam requisitos.
src/sim/systems/influence.gd Consulta de efeitos locais Estender por regras tipadas e métricas distintas.
src/core/forest_work.gd Trabalho e efeitos da floresta Produzir alterações que invalidam perfis, sem duplicar bónus.
src/sim/systems/economy_system.gd Produção e stock Aplicar capacidade efetiva e impedimentos, preservando o resto da fórmula.
src/sim/systems/conversion_system.gd Conversão de materiais Continuar a consumir stock real, incluindo o que chega por entrega.
src/core/camps.gd Presença/recrutamento em acampamentos Diferenciar recrutamento legado de oferta contratual.
src/sim/systems/camp_life.gd Contagem e esgotamento Preservar política antiga e identificar companhias da versão nova.
src/sim/systems/upkeep_system.gd Manutenção Evitar cobrar o mesmo mercenário como salário normal e contratual.
src/core/settlement_watch.gd Autonomia de assentamentos Separar autoria, despertar, evolução e disponibilidade para acordos.
src/core/frontier.gd Descoberta e publicação do mundo Revelar estados persistentes; não recriar produção ou sociedades.
src/sim/systems/vassal_system.gd Vassalagem e tributo Acrescentar especialização/direitos sem perder a base original.
src/sim/systems/under_reserve.gd Reserva e compatibilidade subterrânea Impedir que jazidas/portos violem entradas ou espaço já reservado.
src/core/save_migrations.gd Migrações sequenciais Introduzir a próxima versão livre na implementação e preservar legado.
Componentes existentes e extensões propostas
Módulo proposto em src/sim/systems/ Entrada Saída/estado
territory_profile.gd Área, fontes, acessos, direitos e condições Capacidades, fontes utilizadas e impedimentos.
placement_rules.gd Tipo de edifício, local e perfil Resultado de elegibilidade e razões localizáveis.
water_network.gd Massas, ligações e ancoragens Conectividade e classes de operação possíveis.
resource_access.gd Fonte, instalação, proprietário e caminho Direito e capacidade de exploração.
mercenary_offers.gd Companhia, pedido e contexto conhecido Ofertas válidas, preço e contraproposta.
contract_ledger.gd Aceite e eventos de serviço/pagamento Obrigações, reservas, saldo e estado contratual.
route_ledger.gd Ligações, capacidade e remessas Operação e entregas, numa fase posterior.

Não é obrigatório criar todos estes ficheiros de início. A separação ajuda a manter responsabilidades pequenas; a organização final deve respeitar o limite de 250 linhas e evitar classes vazias criadas apenas para reproduzir este diagrama.

Resultado de elegibilidade

Um contrato conceptual suficiente para a interface e a confirmação seria:

PlacementResult
  allowed: bool
  reason_keys: lista de chaves de localização
  source_ids: fontes realmente utilizadas
  access_ids: ligações necessárias
  modifiers: efeitos aprovados por dados
  losses: consequências da implantação
  world_revision: revisão usada na avaliação

A revisão ajuda a detetar uma pré-visualização desatualizada, mas não substitui a revalidação na confirmação. A interface nunca envia um allowed=true como autoridade; envia uma intenção de construir numa posição.

Desempenho e atualização fora de cena

A simulação atual opera a 30 Hz. Não há razão para procurar rotas completas ou recalcular todas as influências a essa frequência.

  • Indexar fontes e pontos de acesso por região/intervalo e faixa.
  • Recalcular perfis apenas por mudanças relevantes, com caches identificadas por revisão.
  • Agendar cobrança, produção distante e expiração por fases/instantes do relógio.
  • Materializar unidades próximas; representar grupos distantes por estado e eventos equivalentes.
  • Processar eventos simultâneos numa ordem determinística definida, usando IDs estáveis para desempate.

Para equivalência fora de cena, a aproximação deve conservar as variáveis relevantes: saldo, efetivos, carga, posição lógica, compromisso e perdas. Não é necessário conservar cada animação ou passo. RG-24 já exige atenção à equivalência de níveis de simulação; este trabalho deve integrar essa linha.

Determinismo, ordem e multijogador futuro

Geração e negociação usam apenas os mecanismos de RNG autorizados pelo projeto. A mesma semente, calendário e sequência de intenções devem produzir o mesmo resultado. IDs não podem depender da ordem de visita aos segmentos.

Reservas de contrato precisam resolver concorrência: se dois jogadores tentarem contratar os mesmos guardas, só uma aceitação válida reserva os efetivos. Uma oferta apresentada não é uma reserva infinita. Preparar este contrato em solo simplifica a implementação futura de coop/PvP.

Não recomendo enviar cada tick para Supabase nem usar o browser como nova autoridade paralela da simulação. A arquitetura de rede pertence ao trabalho específico de RG-25.

Dados, geração e persistência

Catálogo proposto

Os nomes abaixo são sugestões de tabelas fonte; devem ser ajustados ao esquema atual e documentados antes da geração de .tres.

Tabela conceptual Exemplos de campos Validação necessária
Fontes territoriais Tipo, capacidades, faixa, regime de renovação Tipo conhecido; capacidade não negativa.
Requisitos de instalação Edifício, capacidade, acesso, distância, exclusões Edifício existe; métricas compatíveis.
Tipos de água Navegação, salinidade, usos admitidos Nenhuma equivalência implícita entre água e navegação.
Regras de influência Fonte, destinatário, efeito, limite, acumulação Ausência de ciclos produtivos e acumulação sem teto.
Arquétipos de companhia Especialidade, efetivos, preferências Contratos admitidos e limites consistentes.
Modelos de contrato Serviço, termos, pagamentos, cancelamento Total calculável; condição de término obrigatória.
Perfis regionais Geração, clima, acessos mínimos, alternativas Viabilidade inicial e diversidade.

Campos experimentais seguem a prática _proposed. As alterações devem atualizar o esquema e a documentação de conteúdo. Textos de interface ficam em data/i18n/strings.csv, com PT/EN.

Geração com diversidade e garantias

O gerador deve criar diferenças de verdade, mas impedir bloqueios básicos. Garantir uma oportunidade funcional não significa colocar todos os recursos ao lado da caravana.

Invariantes recomendadas para novas partidas:

  • Existe uma fundação fisicamente válida e alcançável no percurso inicial.
  • Existe pelo menos uma cadeia económica compatível com a sobrevivência inicial aprovada.
  • Uma necessidade universal pode ser satisfeita localmente ou por uma alternativa alcançável em tempo útil.
  • Há escolhas com vantagens e custos distintos; nenhum local precisa reunir todas as capacidades.
  • Ancoragens, passagens, fontes e elementos visuais concordam entre si.
  • A ordem de exploração não altera identidades nem oportunidades previamente determinadas.
  • O despertar dos povos respeita fundação, noite e alvorada, preservando exceções legadas.

Uma estratégia útil é gerar oportunidades e depois validar restrições; se falhar, reparar a menor parte necessária de forma determinística. Não reconstruir silenciosamente toda a região ao carregar uma partida.

Estado que deve ser guardado
Área Estado persistente essencial
Geração Semente, versão do gerador e identidades estáveis.
Fundação Posição, assinatura, proveniência e consequências já aplicadas.
Fontes Estado alterado, capacidade/reserva quando aplicável e titularidade.
Água Topologia autoritativa ou referência versionada, obras e interrupções.
Conhecimento Fontes descobertas, relatos e última observação relevante.
Direitos Partes, âmbito, validade e suspensão.
Companhias Efetivos, posição lógica, estado e compromissos.
Contratos Termos aceites, pagamentos, reservas, calendário e eventos concluídos.
Transporte Carga, detentor, origem, destino e entregas realizadas.
Simulação distante Último instante processado e eventos pendentes.

Caches deriváveis não devem ser tratadas como uma segunda fonte de verdade. Podem ser reconstruídas, desde que usem os mesmos dados persistentes.

Migração dos saves v12

A próxima versão concreta deve ser atribuída durante a implementação, depois de confirmar o estado do ramo. Este relatório não reserva automaticamente o número 13.

Regras recomendadas:

  1. Preservar posição da sede, unidades, stocks, floresta e reservas subterrâneas.
  2. Não interpretar PENDING_CLIMATE_MODEL como um clima conhecido.
  3. Não criar mar, jazidas ou árvores apenas para justificar uma instalação antiga.
  4. Marcar instalações legadas cuja elegibilidade não possa ser reconstruída com confiança; preservar operação por uma regra de compatibilidade explícita, quando necessário.
  5. Aplicar requisitos novos às construções novas; documentar exceções de legado na inspeção técnica, sem confundir o jogador com IDs.
  6. Não repetir a clareira inicial nem oferecer madeira retroativa.
  7. Preservar acampamentos esgotados e sociedades já existentes nos saves antigos.
  8. Não converter automaticamente recrutados antigos em contratos com dívida.
  9. Migrar de forma idempotente: repetir a migração não cria novas fontes, pagamentos ou companhias.

Uma instalação antiga tolerada por compatibilidade não deve propagar essa exceção para novas cópias. A proveniência diferencia conteúdo legado de nova construção válida.

Fronteira de infraestrutura

Supabase continua a apoiar painel e feedback; a simulação de território e contratos mantém autoridade no jogo. Os alertas e contagens do relatório §18 são históricos, não uma certificação atual. Mudanças de RLS, autenticação ou schema requerem tarefa própria e verificação por papel. A entrega web usa tools/web/construir.sh, Godot e o manifesto versao.json; não é uma aplicação Next.js.

96 — Cobertura do relatório

Achados, fases e critérios de aceitação

Resultado da comparação: a consolidação anterior cobria a visão territorial e a floresta, mas não o contrato completo do relatório. §§92–95 integram agora fontes, água, contratos, logística, arquitetura, geração e persistência. Esta secção conserva os critérios e dependências, sem atribuir aprovação a números exemplificativos nem conclusão às funcionalidades pendentes. O relatório original permanece datado; os estados abaixo foram reconciliados com main/5b4b24a.

Achados reconciliados com a implementação

Achado Tema Destino Estado da implementação Evidência/limite
A01 Elegibilidade e reancoragem §92; RG-28 Corrigido no protótipo PlacementRules, TerritoryWatch; territorio_fundacao_test
A02 Assinatura e perfil vivo §92 Parcial Assinatura v2; direitos e acessos completos pendentes
A03 Água e portos §93; Q-250 Parcial Fontes posicionadas; navegação/portos ausentes
A04 Geologia e extração §92; Q-252 Parcial Porões/cavernas; jazidas próprias pendentes
A05 Influência ecológica e transporte §87, §92 Floresta conservada; extensão pendente ADR 0070/0073; caminho não equivale a proximidade
A06 Negociação mercenária §94; Q-251 Por implementar Recrutamento não demonstra contrato
A07 Dívida e penalizações §14, §94 Proposta por fechar Separar obrigações; sem transportar juros antigos
A08 Companhias e acampamentos legados §94–§95; Q-251 Por implementar Preservar três contratações/esgotamento
A09 Despertar social §88, §95; RG-24 Por implementar Calendário independente da primeira visita
A10 Logística física §95; Q-252 Por implementar Conservação de carga; entrega única
A11 Clima regional §87, §92, §95 Direção aprovada; execução pendente Q-235; alternativas sazonais
A12 Rastreabilidade e governação §86, §90–§91, §96 Consolidado documentalmente main é agora também ramo predefinido; RG-28 e ADR 0079

Evidência existente e limite dos casos territoriais

O RG-28 contém testes para T02/T03/T19 (fundação distante, local pobre e pagamento bloqueado), T06 (faixa/porão sem passagem), T10 (prévia versus confirmação), T44 (duas retomas) e T45 (obra legada tolerada). Ver tests/territorio_test.gd e tests/territorio_fundacao_test.gd. Esta correspondência é parcial: T10 ainda exige alteração da fonte entre prévia e confirmação; T44 exige também migração de versão quando houver um novo esquema; T06 não prova acesso por grafo. Não declarar o conjunto T01–T50 concluído com base nestes testes.

AUD-CIV-01–04 estão entregues no âmbito do protótipo; 07/08 são parciais; 12 cobre apenas a compatibilidade atual; 17 ainda exige o fluxo completo futuro. 05/06, 09–11, 13–16 e 18 permanecem pendentes. As tabelas seguintes conservam os requisitos de conclusão e a ordem do relatório.

Plano de implementação e backlog

Sequência recomendada
Fase Entrega Saída verificável Dependência
0 — Reconciliação Decisões, estados, versão e vocabulário Matriz de verdade e ADRs do escopo novo Nenhuma mudança de gameplay necessária.
1 — Território funcional Fontes, acesso e avaliador de implantação Pesca, madeira e minério consultam a localização efetiva Fase 0.
2 — Água e escolha da base Rede simples, ancoragens, cais/porto e pré-visualização Comparação de local interior, fluvial e costeiro funciona Fase 1.
3 — Contrato mercenário Companhia, guarnição/escolta, pagamento e término Um contrato completo sobrevive a guardar/carregar Fase 1; usa Fase 2 quando aquático.
4 — Relações territoriais Direitos, especialização, despertar e transporte simples Dependência local resolvida por acordo verificável Fases 2 e 3; integração RG-24 e UN pertinentes.
5 — Profundidade Reconhecimento, clima regional, eventos e aprendizagem Estratégias distintas com custos claros Evidência de playtest das fases anteriores.
6 — Expansões Logística maior, combate naval, coop/PvP Apenas se justificadas pelo uso e pelo desempenho Arquitetura própria e decisão específica.

Não atribuo prazos em dias sem medir capacidade da equipa, cobertura reutilizável e produção de arte. O risco maior não é a quantidade de campos; é a integração com geração, reancoragem, economia e save. As fases devem ser entregues por ciclos completos, não por sistemas isolados sem utilização.

Tickets propostos

Os identificadores AUD-CIV-* conservam o escopo e as dependências do relatório. O RG-28 já os rastreia; consultar a sua matriz e a atualização no início desta secção para o estado real. A coluna «critério de conclusão» abaixo é um requisito, não um resultado obtido.

Ticket Objetivo Critério de conclusão Dependências
AUD-CIV-01 Reconciliar decisões e estados Q-221, save v12, regras de acampamento e fontes de verdade alinhadas Nenhuma.
AUD-CIV-02 Inventariar capacidades e fontes Água, floresta e rocha deixam de depender apenas da etiqueta do bioma 01.
AUD-CIV-03 Avaliador comum de implantação Prévia e confirmação devolvem o mesmo resultado e razão 02.
AUD-CIV-04 Corrigir ligação da reancoragem à geografia Nova sede não herda autorização indevida do segmento inicial 03.
AUD-CIV-05 Rede de água mínima Rio navegável, costa e lago têm conectividade distinta 02.
AUD-CIV-06 Cais e porto por dados Construir, operar e abrir rota são estados separados 03, 05.
AUD-CIV-07 Comparação territorial na fundação Mostra capacidades, perdas e dependências; confirmação revalida 03–06.
AUD-CIV-08 Regras ambientais generalizadas Efeitos limitados, métricas corretas e sem duplicação da floresta 02, 03.
AUD-CIV-09 Companhia e ofertas Efetivos finitos, ofertas persistentes e motivos legíveis 01; regra de legado decidida.
AUD-CIV-10 Contrato e livro de obrigações Aceitação, cobrança, prazo e término idempotentes 09.
AUD-CIV-11 Guarnição e escolta Cumprimento ligado a unidades e percurso reais 10; missão mínima.
AUD-CIV-12 Migração e compatibilidade Saves v12 preservam sede, economia, acampamentos e subsolo 04–11; desenvolvido em conjunto, não só no fim.
AUD-CIV-13 Direitos de uso e passagem Acordo desbloqueia uma capacidade concreta e revogação é explicada 03, 10.
AUD-CIV-14 Despertar e evolução distante Calendário social independente da primeira visita RG-24; 02, 09.
AUD-CIV-15 Remessa e transporte Conservação de stock e entrega única 06, 11, 13.
AUD-CIV-16 Especialização de vassalos Uma dependência económica resolvida sem microgestão de outro reino 13–15.
AUD-CIV-17 Export web e interação móvel Fluxo completo legível, controlável e persistente Primeiro ciclo integrado.
AUD-CIV-18 Playtest e equilíbrio Comparação de estratégias, compreensão e custos registados 07, 11, 12, 17.
O que constitui o primeiro ciclo completo

O primeiro ciclo fica pronto quando uma nova partida oferece escolhas territoriais distintas; a prévia informa; a fundação preserva o lugar; uma instalação usa a fonte correta; uma companhia vende um serviço delimitado; as moedas e os efetivos são contabilizados; guardar/carregar mantém o resultado; e o mesmo fluxo funciona no export web.

Pode usar arte provisória autorizada e poucas variantes de conteúdo. Não pode depender de bónus falsos, portos sem água funcional ou contratos que existem apenas num painel.

Validação e critérios de aceitação

Matriz de testes proposta

Esta é a matriz integral de aceitação do relatório. O RG-28 acrescentou cobertura parcial identificada no início desta secção; os restantes casos continuam por implementar ou executar. A matriz não declara cinquenta testes aprovados. A exigência de testes para funções públicas de simulação vem das regras do repositório.

ID Cenário Resultado exigido
T01 Fundação em dois biomas na mesma partida de referência Cada perfil reflete a posição efetiva.
T02 Fundação distante do segmento inicial Nenhum requisito usa implicitamente o recurso inicial.
T03 Local pobre mas fisicamente válido Pode fundar, com dependências explicadas.
T04 Sede sobre ponto protegido Recusa preservando regra existente e sem cobrar.
T05 Clareira inicial Perda prevista igual à aplicada; nenhuma madeira gratuita.
T06 Fonte próxima sem passagem entre faixas Produção dependente bloqueada por acesso.
T07 Reabertura de passagem Capacidade recupera sem recriar a fonte.
T08 Árvores além de uma parede Habitat segue regra ecológica; transporte segue caminho.
T09 Duas instalações sobre a mesma fonte Respeitam capacidade partilhada e limites de acumulação.
T10 Corte entre prévia e confirmação Resultado atualizado antes da ação irreversível no jogo.
T11 Ribeira não navegável Água doce não autoriza cais de carga.
T12 Rio navegável com margem livre Cais elegível; rota depende ainda de destino.
T13 Lago fechado Serviço local possível; rota marítima impossível.
T14 Costa com falésia Exige ancoragem/acesso adequado.
T15 Estuário Usa continuidade e salinidade corretas, sem duplicar capacidades.
T16 Obstáculo aquático Divide percursos conforme a classe de embarcação.
T17 Fecho temporário de trecho Suspende operação, preserva edifício e carga.
T18 Destino não descoberto Interface não revela informação indevida.
T19 Construção por caminho alternativo de código Não contorna requisitos do avaliador.
T20 Alteração de estação regional Só aplica fatores apropriados; mantém alternativas.
T21 Reabrir oferta/carregar save Termos iguais enquanto o contexto não muda.
T22 Duas aceitações para os mesmos mercenários Uma reserva válida; sem duplicar unidades ou pagamento.
T23 Falta de moedas na aceitação Nenhum débito parcial nem efetivos presos.
T24 Pagamento inicial Total e saldo remanescente calculados uma vez.
T25 Alvorada repetida por reload Cobrança não é duplicada.
T26 Mercenário contratual com manutenção normal Salário não é cobrado duas vezes.
T27 Fim do prazo Serviço termina sem renovação oculta.
T28 Incumprimento Aviso, prazo e consequência correspondem aos termos.
T29 Pagamento residual repetido Não prolonga tolerância infinitamente.
T30 Falta de pagamento em combate Comportamento previsto, sem teletransporte ou traição arbitrária.
T31 Perda de unidade durante serviço Aplica cláusula de perdas sem recriar unidade.
T32 Cancelamento antes e depois de mobilizar Reembolso e custos correspondem ao estágio real.
T33 Missão muda para fora do âmbito Exige novo acordo ou recusa explicada.
T34 Companhia sem efetivos suficientes Recusa ou oferece composição válida.
T35 Acampamento legado com três contratações Mantém estado de esgotamento após migração.
T36 Fonte estrangeira com direito negociado Produção habilita apenas no âmbito concedido.
T37 Expiração/revogação de passagem Rota atualiza sem destruir bens silenciosamente.
T38 Remessa entregue e save recarregado Stock e rendimento aplicados uma única vez.
T39 Remessa capturada Conservação de quantidade e detentor.
T40 Aldeia visitada tarde Estado social segue calendário global, não a hora de visita.
T41 Mundo antes do despertar Respeita regra de novas partidas e exceções legadas.
T42 Simulação próxima versus distante Mesmo saldo, efetivos, carga e eventos finais relevantes.
T43 Duas ordens de exploração da mesma semente Mesmas fontes e identidades físicas.
T44 Save v12 migrado duas vezes Sem duplicação de fontes, moeda, clareira ou sociedade.
T45 Instalação legada tolerada Exceção não permite construir cópias inválidas.
T46 Fonte junto de cave/masmorra reservada Não viola entrada nem área útil subterrânea.
T47 Teclado, comando e toque Todas as decisões essenciais são alcançáveis e legíveis.
T48 Export web guardar/carregar Contrato e perfil territorial persistem corretamente.
T49 PT/EN e razões de recusa Não aparecem chaves internas nem texto cortado em ações críticas.
T50 Eventos simultâneos de entrega, cobrança e fim Ordem determinística e saldos conservados.
Testes de propriedades e geração

Além de cenários específicos, testar conservação de moeda/carga, unicidade de fontes/contratos e equivalência de ordem de geração. Uma campanha de 1.000 sementes é uma proposta de cobertura para a validação do gerador, não um teste já realizado nem garantia estatística suficiente por si só.

Registar sementes que falham e reduzir o caso até uma reprodução pequena. Verificar especialmente extremos: pouco espaço, várias passagens próximas, costa sem ancoragem, misturas de bioma e fronteiras entre faixas. Não corrigir uma semente problemática apenas deslocando o jogador para um local privilegiado sem regra geral.

Playtests orientados a decisões
Hipótese Como medir Sinal de revisão
O jogador compreende a vantagem do local Pedir que explique duas vantagens e uma dependência antes de fundar Escolha baseada apenas em estética ou tentativa/erro.
Existem estratégias distintas Observar escolhas em várias sementes e perfis de jogador Um tipo de local domina quase todas as escolhas.
O contrato é compreensível Perguntar total, prazo e consequência de atraso Confusão entre depósito, preço total e salário.
Explorar compensa sem se arrastar Medir tempo até fundação e descobertas que alteram a decisão Procura exaustiva obrigatória ou fundação sem interesse.
Uma deficiência territorial tem saída Acompanhar uma campanha sem recurso local importante Bloqueio de progressão ou solução universal demasiado barata.
A camada nova preserva o ritmo Observar noites iniciais, interrupções e tempo em menus Sobrecarga de decisões antes de dominar o ciclo básico.

Como ponto de partida, pode-se procurar compreensão correta em pelo menos 8 de 10 sessões de teste iniciais. É um limiar proposto para revisão qualitativa, não uma estimativa de toda a população de jogadores. Desempenho deve ser comparado com uma linha de base medida no mesmo dispositivo; nenhum ganho de desempenho é afirmado neste relatório.

Gate de conclusão

A entrega só deve ser considerada concluída quando código, dados, documentação, migração e interface concordarem. CI aprovado é necessário, mas não substitui o cenário jogado no export web. A documentação de validação deve apontar para o commit exato e distinguir casos automatizados de verificações manuais.

Cenário completo de referência

Este cenário descreve o comportamento desejado e pode orientar uma demonstração integrada.

Exploração. A caravana encontra um vale com floresta e uma margem fluvial fértil. O primeiro oferece madeira e habitat; o segundo oferece agricultura e um cais possível. Um relato indica minério a leste, mas a passagem ainda não foi inspecionada.

Comparação. Na margem, a prévia mostra que a clareira remove parte da cobertura de caça. O cais será construível, mas ainda não há rota externa conhecida. O vale não terá navegação; a sua produção inicial será menos dependente de transporte de madeira.

Fundação. O jogador escolhe a margem. A assinatura guarda esse momento; a floresta efetivamente removida coincide com a prévia. Nada desloca a jazida, o rio ou as passagens para acompanhar a sede.

Despertar. Depois do gatilho social aprovado, uma companhia e um povo vizinho evoluem segundo o calendário global. A primeira visita revela o estado que já lhes corresponde, sem produção retroativa duplicada.

Negociação. A companhia oferece guarnição curta e uma escolta. O jogador precisa de madeira e aceita escolta até uma floresta acessível por acordo. Os termos mostram pagamento inicial, salários, área e término. A companhia reserva efetivos reais.

Operação. O cais tem pessoal e acesso, mas só abre comércio quando um destino é conhecido e aceita a ligação. A entrega retira madeira da origem e acrescenta-a à base uma vez. A escolta termina no marco acordado e as unidades regressam.

Mudança. Uma condição temporária suspende um trecho do rio. O porto continua construído; a interface mostra o motivo e a carga aguarda. Uma ligação terrestre conhecida pode ser contratada, com custo superior, sem criar recursos adicionais.

Persistência. O jogador guarda e retoma. Mantêm-se a dívida já paga, o calendário do serviço, a carga, as árvores cortadas e a origem dos recursos. Nenhum evento cobra ou produz uma segunda vez.

O resultado pretendido é uma história produzida por decisões compreensíveis: a margem foi escolhida pelo futuro fluvial, a falta de madeira criou um acordo, o acordo tornou a escolta valiosa e a interrupção do rio gerou uma alternativa. Não foi necessário acrescentar um sistema 4X completo.

Decisões recomendadas e limites de escopo

Proposta de decisão para o próximo ciclo
Tema Recomendação Estatuto
Geografia Fonte concreta + acesso + direito + exploração Proposta técnica que operacionaliza o pedido atual.
Fundação Livre em local fisicamente válido, com consequências visíveis Preservação de decisão existente.
Base original Continua a ser a sede; postos e vassalos complementam Preservação de decisão existente.
Água Separar curso menor, navegável, lago e mar Proposta.
Porto Construção, operação e rota avaliadas separadamente Proposta.
Recursos Usar materiais existentes; capacidades ambientais não viram novas moedas Proposta de contenção de escopo.
Mercenários Ofertas limitadas, contrato explícito e efetivos finitos Proposta central.
Relações Favor/histórico simples antes de reputação global complexa Proposta.
Incumprimento Aviso, prazo, suspensão e consequência previsível Proposta que exige revisão das regras históricas incompatíveis.
Acampamentos Legado preservado; companhia persistente versionada Proposta de compatibilidade, sem revogação silenciosa da regra antiga.
Clima Perfis regionais e alternativas antes de catástrofes Alinhamento com decisões recentes; detalhes por aprovar.
Rede Preparar identidades e autoridade; entregar solo primeiro Proposta de sequência.
O que não deve entrar por acidente
  • Um requisito universal de mar, rio ou minério próprio para concluir a progressão básica.
  • Outra moeda obrigatória apenas para imitar Influência de Civilization.
  • Um inventário genérico do imperador que substitua os stocks e a moeda física.
  • Uma segunda base soberana criada automaticamente por comércio ou vassalagem.
  • Companhias infinitas, salários invisíveis, renovação automática ou traição não anunciada.
  • Bonificações multiplicativas sem teto e fontes duplicadas por reancoragem ou save.
  • Combate naval, fluidos, mundo hexagonal ou grandes árvores tecnológicas como pré-requisito para construir o primeiro cais.
Ordem de decisão quando houver conflito

O pedido atual determina a direção nova. As decisões explícitas anteriores continuam a orientar identidade, fundação, vassalos e controlo do personagem. O código auditado determina o que já funciona; não transforma automaticamente uma implementação parcial na regra desejada. Este relatório identifica propostas e incompatibilidades para que os próximos ADRs possam ser concretos.

Para iniciar implementação, o conjunto mais importante a consolidar é: contrato territorial, política de portos, modelo de serviço mercenário e tratamento dos acampamentos legados. Não é necessário decidir agora todos os valores finais, eventos ou tipos de embarcação.

Proveniência e leitura das propostas

Fonte: relatório integral, fornecido pelo dono; reprodução verificada contra o anexo. As fontes C1–C15/E1–E20 e a data de corte permanecem na §23 desse relatório. As referências a capítulos numerados no conteúdo integrado referem-se ao relatório original. Matriz da revisão. As propostas detalhadas complementam o trabalho autorizado; valores exemplificativos, _proposed e decisões adiadas não recebem aprovação implícita.

★ — Rastreador

As tuas 48 mecânicas, mapeadas

Inventário histórico de mecânicas da estrutura original. Não é a lista completa do contrato atual nem uma percentagem de funcionalidades entregues; consultar §86–§91 e backlog para as decisões posteriores.

A tua lista original, com cada ideia associada à fase em que se constrói e à secção que a especifica. Marca à medida que avanças — o progresso fica guardado e ainda cá está da próxima vez que abrires.

Progresso
0 / 48
    A carregar…