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ção
Valor
O que decide
Grelha de autoria
1:1 nativo
Só 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×360
6,3% dos pixels
Contornos, 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 px
Trê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
Contorno
Preto puro, 1 px
Em todo o objeto de jogo. É o que segura a leitura com 300 unidades no ecrã.
Ainda não existe nenhum segmento autorado. §21 diz como se faz o primeiro.
Paleta definitiva
Paleta 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.
Captura
Câmara
Imagem
Período
Tela efetiva
Detalhe de 1 px
Contorno 1 px
Milki Delivery — estrada
Lateral
1600×900
2,67
600 × 338
72,7%
57,9%
Milki Delivery — floresta
Lateral
1920×1080
2,67
720 × 405
72,3%
44,2%
Eastward — floresta
Cima
1280×720
2,20
582 × 327
79,5%
38,9%
Eastward — aldeia (Octopia)
Cima
1920×1080
3,00
640 × 360
72,8%
51,6%
Chef RPG — mercado
Cima
1920×1080
2,40
799 × 450
72,9%
69,3%
Empire — as tuas cenas
Lateral
1280×720
1,00
1280 × 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.
Ficheiro
Tela
Sprite útil
Frames
Cores
Camadas
Empire troop
192×192
24×47
6
32
Knight · Body · Face · Shield · Sword · Equipments
Knight Potato
128×128
35×64
6
41
Background · 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.
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 admitida
Consequência
A tua resposta
Economia desequilibra no late game
Van 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ó eixo
Combate vira acumulação, não posicionamento
Duas camadas verticais + tropas voadoras (§11)
Unidades sem identidade
"Arqueiro n.º 7" é descartável
Imperadores e companhias próprios, ofícios que evoluem e tropas com identidade (§08, §09)
Repetição entre corridas
O meio do jogo arrasta
Fortalezas conquistáveis que dão habilidades, kits de arquitetura e mapas (§13)
Zero narrativa
Nada a descobrir além de mecânica
12 diários de campanha, dois epílogos, segredos que ensinam (§17)
Sem controlo de foco
Inimigos empilham-se e as flechas desperdiçam-se
O 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çar
Conversão 1.ª semana
O 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:
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
Jogo
Equipa
Vendas
Receita
A lição para ti
Kingdom: Two Crowns
Estúdio + publisher
2–5 M
—
19,99 $, 88% positivo, 88 538 seguidores. O género aguenta um preço alto e vive anos.
Thronefall
1–3 pessoas
315 k → 1 M+
1,5 M$ em 2 meses
Ganhou com escopo mínimo e demo forte. Um solo bem posicionado bate um estúdio disperso.
Bad North
Equipa 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.
Povo
Terreno
Constrói
Economia forte
Defesa
Tropa única
Enramados (a tua cena)
Floresta antiga
Dentro e à volta de árvores gigantes; plataformas, escadas, varandas
Madeira e caça
Altura: tudo dispara de cima
Arqueiro de copa — atira da faixa aérea
Portuários
Costa
Porto enorme, pontões, armazéns sobre estacas
Pesca e comércio — o único que ganha moeda de noite
Água como fosso natural
Barcaça — desloca 6 tropas pela costa
Fenda
Desfiladeiro
Escavado na rocha, pontes suspensas entre paredes
Pedra e minério
Estrangulamento: uma só entrada
Aríete de contrapeso
Horta (os legumes)
Várzea fértil
Celeiros, estufas, silos, espantalhos
Agricultura — o dobro de rendimento por canteiro
Números: tropas baratíssimas
Semeador — planta durante o combate
Fornalha
Vulcânico
Fundições, chaminés, muros de escória
Metal e armas
Fogo permanente nas muralhas
Ferreiro de guerra — repara muros em combate
Sob-Raiz
Subterrâneo
Túneis, câmaras, cogumelares
Fungos e segredos
Não tem muralhas — tem labirinto
Escavador — abre passagens entre faixas
Geada (Q-152, campanha)
Glaciar
Iglus, abrigos de pastor de pedra, paliçada de gelo
Frio que guarda — nada estraga
Chão gelado: a Podridão abranda
Guarda do Gelo — abranda quem golpeia
Bruma (Q-152, campanha)
Pântano
Palheiros de colmo e casas sobre estacas
Caniço e enguias; as montarias recuperam ao dobro
Lodo que prende
Caç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.
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.
Fase
Duração
Função
Estado das tropas
Luz ambiente
Alvorada
15 s
Sino. A Podridão retrai-se. Perdas são contadas.
Saem dos postos
Âmbar rasante
Manhã
85 s
Recrutar, expandir, colher, explorar
Trabalho livre
Neutra
Meio-dia
40 s
Fortalezas inimigas detetam presença. Risco de contra-ataque.
Trabalho livre
Alta, dura
Tarde
85 s
Última janela de construção. Preços de mercenários sobem 25%.
Trabalho livre
Dourada
Crepúsculo
30 s
A Podridão nasce na borda do mapa. Aviso sonoro.
Recolha aos postos
Vermelha baixa
Noite
105 s
Defesa. Nada se constrói exceto pelo construtor evoluído.
Posto de cerco
Castanho 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.
Tipo
Origem
Uso
Persistência
Moeda
Colheita, animais, pesca, caça, comércio, saque
Tudo o que é diário: recrutar, construir, pagar
Cai no chão quando morres. Roubável.
Semente Real
Só de fortalezas conquistadas e segredos
Desbloquear classes, evoluções de ofício, mapas
Nunca se perde. É o teu metaprogresso.
Favor
Diplomacia, bardo, conversões
Assimilar impérios, comprar mercenários sem dívida
Decai 10%/dia se não for usado
Matéria
Grão, peixe, animal vivo, madeira, minério
Consumida por um ofício, ou vendida
Fica 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
Fonte
Custo
Produz
Se vender
Payback
Risco
Plantação (canteiro)
4
Grão
2/dia
2 dias
Destruída pelo rasto da Podridão
Pesqueiro
6
Peixe
3/dia
2 dias
Só 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
Galinheiro
8
Galinhas vivas
3/dia
2,7 dias
Roubáveis à noite
Estábulo de vaca
14
Vacas vivas
5/dia
2,8 dias
Ordenha manual — exige uma tropa parada
Corte de madeira
7
Madeira
2/dia
3,5 dias
Só em bioma de bosque
Poço de minério
12
Minério
4/dia
3 dias
Só em bioma de rocha; atrai Cavadores
Caça (não é edifício)
0
Moeda direta
3–9
—
Exige sair das muralhas de dia
Saque de fortaleza
—
Moeda direta
40–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éria
Casa
Custo
Moeda agora
Capacidade depois
Grão
Celeiro
10
+50% do valor de venda do grão
Cozinheiro: +vida a todas as tropas
Peixe
Salga
9
+50%, e o peixe deixa de estragar
Cozinheiro: +velocidade a todas as tropas
Animal vivo
Curral
11
Rendimento passivo (a galinha bota, a vaca ordenha-se)
Cozinheiro: prato de combate — buff forte de 20 s, permanente no nível 2
Madeira
Serração
13
+50% do valor de venda
Construtor: −25% no custo de muralha e torres
Minério
Fundição
18
+50% do valor de venda
Ferreiro: +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/diaCusto de sobreviver à noiteParte que vem do comércioBruto (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
Unidade
Custo
Vida
Dano
Interv.
DPS
Alcance
Nota
Vagabundo
1
10
0
—
0
—
Base de tudo. Recrutado com uma moeda.
Arqueiro
3
14
4
1,4 s
2,9
200 px
De dia caça; de noite defende do muro
Lanceiro
4
26
6
1,1 s
5,5
28 px
Segura a linha. Não persegue.
Libélula (voadora)
9
16
5
1,2 s
4,2
40 px
Ignora a camada de solo. Só atacável por arqueiros e torres altas.
Berserker de Raiz
12
40
12
0,9 s
13,3
30 px
Avança sempre. Não recua nem com o muro caído.
Mercenário
variável
34
11
1,0 s
11,0
30 px
Não é leal. §14.
Criaturas da Podridão — a tabela de invocação
Criatura
Massa
Vida
Dano
Interv.
Vel.
Aparece a partir do
Rastejante
8
10
4
1,2 s
30
Dia 1
Alado
14
14
5
1,1 s
44
Dia 4 — obriga a torre alta
Bruto
22
32
9
1,3 s
22
Dia 7
Cavador
30
28
7
1,0 s
26
Dia 10 — passa pela faixa subterrânea
Aríete de lodo
48
104
26
2,0 s
16
Dia 14 — só ataca muralha, ignora tropas
Consumidora
120
260
30
1,8 s
14
Dia 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.
Atacante
Rastejante
Alado
Bruto
Cavador
Aríete
Arqueiro (torre)
4,2 s
5,6 s
11,2 s
9,8 s
36,4 s
Arqueiro (campo)
≈ 12,6 s
≈ 16,8 s
≈ 33,6 s
≈ 29,4 s
≈ 109,2 s
Lanceiro
2,2 s
3,3 s
6,6 s
5,5 s
19,8 s
Berserker
0,9 s
1,8 s
2,7 s
2,7 s
8,1 s
Mercenário
1,0 s
2,0 s
3,0 s
3,0 s
10,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ício
Nível 1
Nível 2
Treino
Construtor
Constró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
Ferreiro
Fabrica 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
Diplomata
Boost 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
Bardo
Ver §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ágio
Custo
Vida
Largura
Abre
Acampamento
0
200
160
Plantação, Fogueira, Bancas do Arco e Martelo, Estacaria, Escora, Amargueiro, Posto de Companhia e Escavação da Cave
Povoado
8
350
240
Casa de Treino, Galinheiro, Pesqueiro, Torre de Arqueiros, Torre Alta, Casa de cidadãos, Paliçada
Vila
18
550
320
Cozinha, Forja, Celeiro, Salga, Curral, Corte de Madeira, Estábulo, Santuário das Raízes, Barril de Fogo, Muro de Pedra
Vila Fortificada
32
750
400
Fosso de Raízes, Embaixada, Serração, Estábulo de Vacas, Poço de Minério, Farol, Muralha de Ferro
Fortaleza
56
1000
480
Fundiçã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ível
Custo
Vida (B)
Postos (A)
Slots de contacto
Material por povo
Estacaria
6
40
1
2
Enramados: troncos · Portuários: estacas · Fenda: lascas de rocha
Paliçada
11
95
2
3
Madeira reforçada / gelo
Muro de pedra
20
210
4
4
Pedra / basalto / coral
Muralha de ferro
36
450
6
6
Fornalha: escória · outros povos só depois de conquistarem a Fornalha
Bastião
65
900
9
7
Ú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
Estrutura
Custo
Efeito
Contra
Torre de arqueiros
18
2 postos elevados, +40% alcance, precisão a ≈100%
Terrestres
Torre alta
30
Atinge a camada aérea
Alados — obrigatória a partir do dia 4
Barril de fogo
12
Dano em área ao ser destruído; abranda A Podridão 25% na faixa
Podridão e vagas densas
Fosso de raízes
22
Prende terrestres 3 s
Berserkers e Aríetes
Farol
40
Ilumina 300 px: A Podridão não invoca dentro da luz
Estratégico
Altar consagrado
55
Terreno consagrado permanente: −40% velocidade da Podridão
Estraté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.
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.
Faixa
Proposta
De onde vem o número
Aérea
180–220 px
Uma 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ície
300–340 px
Tem 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 solo
180–220 px
Numa 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 solo
y ≈ 500–540
Consequê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)
1
2
3
4
5
6
Leitura
Milki — estrada · densidade
18,2
21,0
23,7
23,1
30,0
53,4
Rampa contínua. O primeiro plano tem 2,9× o detalhe do topo.
Milki — estrada · saturação
0,363
0,518
0,513
0,586
0,519
0,585
Topo com −38% de saturação face à base.
Milki — estrada · valor
0,726
0,593
0,489
0,481
0,606
0,625
Topo +16% mais claro. É névoa, não é céu.
Eastward — aldeia · densidade
12,9
24,4
26,4
41,6
23,8
36,6
Mesma rampa: −33% de saturação e +23% de valor no topo.
Milki — floresta · saturação
0,785
0,706
0,668
0,642
0,556
0,561
A 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 imagem
y proposto
Altura
O que vive lá
Densidade alvo
Céu
0 – 300
300 px
Gradiente em bandas, nuvens, sol/lua, voadoras. Nada com contorno.
⅓ do plano de jogo
Distância
300 – 420
120 px
Montanha ou massa de copa. Silhueta lisa, sem textura nenhuma.
⅓
Plano médioo que falta
420 – 517
≈ 100 px
Colinas, linha de árvores, telhados distantes, o mar. É a faixa que dá escala ao mundo.
½
Plano de jogo
517 – 720
203 px
Tudo o que colide. Edifícios, tropas, muralhas, corte de solo.
referência
Primeiro plano
≈ 640 – 720
80 px
Erva 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.
Montaria
Velocidade
Capacidade única
Como se obtém
A pé
1,0×
—
Início
Cavalo de tração
1,7×
Carrega o dobro de moedas — essencial acima do muro de pedra (§02)
Estábulo, 30 moedas
Javali
1,5×
Derruba estacaria inimiga ao carregar
Caça no bioma de floresta
Lagarto
1,4×
Sobe paredes: acesso vertical entre faixas sem passagem
Segredo subterrâneo
Libélula
1,9×
Voa: ignora a faixa de superfície inteira
Fortaleza do pântano
Alce da Podridão
1,6×
Atravessa terreno apodrecido sem penalidade
Converter 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
Resultado
Prob. base
Consequência
Dissolução
30%
Acaba com o acampamento e volta com uma supertropa — a melhor unidade do jogo naquele bioma
Contrato
50%
Volta com mercenários — mas contrai dívida
Captura
20%
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.
Perfil
Ganância
Efeito no teu império
Se for um rei inimigo
Austero
5–15
Quase todo o rendimento fica. Nobres descontentes: −10% moral das tropas de elite.
Muralhas fortes, poucas elites. Ataca com Berserkers.
Equilibrado
20–35
Neutro.
Sem fraqueza óbvia. Ataca na janela de sucessão.
Fastuoso
40–60
Economia sufocada, mas nobres leais: +1 tropa de elite grátis (o Berserker de Raiz) a cada 5 dias.
Elites perigosas, muralhas médias.
Tirano
65–90
Mal 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".
Impulso
Vantagem
Custo
Colheita Forçada
+80% de produção hoje
Plantações não produzem amanhã
Chamada às Armas
Todos os vagabundos viram lanceiros grátis
Produção a zero hoje
Feira Livre
Tudo −40% de custo
Ganância +15 permanentemente
Rota Protegida
Comércio a dobrar hoje; carroças imunes a assalto
Nenhuma tropa pode sair das muralhas hoje
Vigília
Tropas não fogem esta noite
Todas as tropas −30% de vida amanhã
Perdão Real
Dívida de mercenários a zero
Favor 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.
Tipo
Onde
O que dá
Função de design
Câmara de Raiz
Subterrâneo, atrás de passagem
Fragmento de lore + 1 Semente Real
Recompensa exploração da 2.ª camada
Estátua Enterrada
Superfície, sob vegetação
Ensina uma mecânica ao ser ativada
Tutorial. A estátua do Ferreiro ensina o sistema de armas.
Diário de Campanha
Fortalezas conquistadas
Revela porque é que A Podridão existe
Narrativa principal, em 12 fragmentos
Semente Anciã
Biomas caóticos
Desbloqueia um perfil imperial ou montaria rara
Recompensa 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.
Ato
Diários
O que revelam
Reviravolta
I — Os seis
1–3
Os 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 partilha
4–6
Alguma 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 rutura
7–9
Um 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 resta
10–12
A 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).
Componente
Contrato
Estado
Cliente Godot Web/native
Envia 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 Godot
Autentica jogadores, valida permissões, ordena intenções e simula o mundo. Sobrevive à saída do criador da sala.
Por fazer, RG-25/UN-31.
Vercel
Distribui site, painel e export Web; não executa o loop autoritativo da partida.
Site existente.
Supabase
Persistê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 local
Testa 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ção
Valor
Porquê
Display › Window › Viewport
1280 × 720
Medido na tua arte (§01). Não reduzir.
Stretch › Mode
canvas_items
Câmara suave sem tremer os pixels
Stretch › Scale Mode
fractional, com opção integer
Ver a decisão da escada de escalas, abaixo
Stretch › Aspect
keep
Barras finas em vez de deformação
Textures › Default Filter
Nearest
Pixels nítidos
2D › Snap Transforms to Pixel
Off
Deixa o subpixel à câmara; ligar isto causa jitter nas tropas
Physics Ticks per Second
30
Metade do render. Suficiente para IA de tropas e poupa CPU com 300 unidades
Rendering › Renderer
Mobile
Melhor 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ã
Fator
Resultado
1280 × 720
1,0×
Perfeito
Steam Deck 1280 × 800
1,0×
Perfeito, com barras de 40 px
1920 × 1080
1,5×
Pixels desiguais — uns com 1 px, outros com 2
2560 × 1440
2,0×
Perfeito
3840 × 2160
3,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.
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.gdclass_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
Problema
Solução
Ganho
300 nós com _process
Um UnitSystem itera arrays; unidades não têm _process
Grande
Vegetação e detritos (milhares)
MultiMeshInstance2D — uma draw call para tudo
Grande
Decisões de IA todos os frames
Time-slicing: 1/6 das unidades decide por tick
Grande
Instanciar/destruir tropas
Object pooling com pool por tipo
Médio
Colisões entre tropas
Sem colisão entre aliados; só separação por steering (§07)
Grande
Sprites fora do ecrã
VisibleOnScreenNotifier2D + LOD: fora do ecrã, simula mas não anima
Médio
Muitas PointLight2D com sombra
Sombras só nas 3 luzes mais próximas da câmara; as restantes são sprites aditivos
Grande
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.
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 segmento
Peso
Restriçã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).
vazio
30
Terreno livre para o jogador construir. Nunca menos de 3 por região.
bosque / agua / rocha
25
Define a especialidade económica disponível. agua exige um vazio antes.
ruina
12
Traz uma passagem para o corte de solo.
acampamento_mercenario
8
Gerador atual: um a cada 4–7 segmentos. Contrato novo: mercenários móveis depois da fundação; migração pendente em RG-24.
fortaleza
6
Gerador atual: nunca duas adjacentes. Contrato novo: sociedades surgem de sementes depois da fundação, sem fortaleza organizada no dia 1; RG-24 pendente.
caotico
4
Só 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.
Ferramenta
O que é
Na tua vista lateral
Marco
O 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é.
Limiar
A 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.
Bordo
Onde 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ã.
Percurso
A 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:
Elemento
Na referência
Na tua grelha
Consequência
Contorno de silhueta
1 px
2 px
Peso 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 personagem
1 px
1 px
A 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, caixilho
1 px
2 px
Metade das decisões de pixel por metro quadrado de cenário.
Cluster mínimo em cenário
1×1
2×2
Nada de pixels soltos no mundo. Pixels soltos = ruído a esta densidade.
Detalhe nas camadas distantes
2 px
4 px
Montanha e copa distante são massa, não textura.
Grelha de tile
16 px
32 px
Já é 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âmetro
Valor
Origem
Render alvo
1280 × 720
Medido: as duas cenas são 1:1 nativo a 720 px de altura
Região
4–6 ecrãs × 720
Derivado do tempo de travessia (§21)
Linha do solo
≈ 500–540
Proposto e derivado em §11 — a fixar na Fase 0
Corte de solo
180–220 px
Proposto em §11
Grelha de tile
32 px
Autora em 64×64 como já fazes; 64 = 2×2 tiles
Escala 1 — escudeiro
32–36 px
Escudeiro do trono
Escala 2 — aldeão/tropa
46–52 px
Empire troop de 47 px
Escala 3 — personagem jogável/elite
56–62 px
Referê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 rei
64–70 px
O 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 px
Ferreiro da panorâmica — indicativo, a confirmar em jogo
Animação
10 fps
Idle 6 frames (como já fazes) · andar 8 · ataque 5 · morte 7
Parallax
6 camadas
cé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%)
Item
Estado
O que falta
Horas
Design das figuras
Fechado
Nada. É o teu ativo mais valioso e o mais difícil de refazer.
0
Separação em slots
Parcial
Arrumar as personagens existentes em body · head · face · weapon · overlay, com nomenclatura fixa
5
Animação dos 3 corpos
Só idle de 6 frames
walk 8 · attack 5 · die 7, por escala. Rápido porque o desenho já existe.
15
Cabeças e identidade
Várias nas cenas
~10 variantes: cabelo, barba, coroa, elmo, barrete, chapéu de construtor
6
Faces de estado
Normal
ferido · encantado · apodrecido
3
Armas e escudos
Base
4 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.
Item
Estado
O que falta
Horas
Edifícios do povo
Desenhados nas cenas, não separados
13 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ábulo
32 (52)
Terreno
4 tilesets em curso
Superfície, corte de solo, cavidade e transições, arrumados em TileSet do Godot
10 (16)
Torres e defesas
—
6 estruturas (§10)
9 (15)
Parallax
Fundo achatado
6 camadas separadas, com os deltas de saturação, valor e densidade especificados adiante nesta secção
12 (14)
Muralhas
—
5 níveis × segmento, remate e portão = 15 peças
7 (12)
Bloco 4 · Luz e atmosfera — ≈ 18 h novo na v4
Item
Estado
O que falta
Horas
Sombras de contacto
—
Um sprite de elipse por escala e por classe de objeto, mais o nó que o coloca
1
CanvasModulate por plano
—
Cinco planos ligados ao GameClock
2
LUT de hora do dia
—
Rampas para amanhecer, meio-dia, crepúsculo e noite; é o mesmo shader do palette swap
4
Névoa entre camadas
—
3 bandas, dois presets (aberto e fechado)
3
Luz quente pontual
—
Forja, forno, lanternas, farol
3
Raios de amanhecer
—
Quads aditivos com deriva lenta
2
Contorno por dilatação
—
Engrossar a silhueta de cenário para 2 px sem redesenhar
3
Bloco 3 · Criaturas, efeitos e interface — ≈ 56 h (32%)
Item
Estado
O que falta
Horas
Criaturas da Podridão
Só o companheiro (Healing Frog)
6 criaturas × idle, walk, attack, die (§07). Design por fazer — mas o vocabulário visual já existe.
30
UI diegética
Placas nas cenas
6 í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, marca
12
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.
#
Degrau
Como se faz em Godot
Custo
O que compra
1
Sombra de contacto
Um 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 h
O 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.
2
CanvasModulate por faixa
Um por plano de imagem (§11), animado pelo GameClock. O corte de solo fica permanentemente escuro; só as cavidades descobertas recebem luz.
2 h
Ciclo dia/noite quase de graça, e profundidade estática por diferença de exposição entre planos.
3
Gradação por LUT
Uma 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 h
Amanhecer, 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.
4
Camadas de névoa
Duas 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.
5
Luz quente pontual
PointLight2D 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 h
Dá vida à noite e justifica a rampa de âmbar da paleta, que hoje tem só 5 cores e quase não se usa.
6
Raios de amanhecer
Quads aditivos inclinados, opacidade ≤10%, deriva lenta, só entre as horas de nascer e pôr do sol.
2 h
A assinatura visual do Eastward, e o que faz o teu sino da manhã (§23) valer uma captura de ecrã.
7
Contorno por dilatação
Já 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 h
Resolve a lei da escala dupla no contorno sem te custar uma única hora de Aseprite.
8
Normal maps + luz presa à paleta
O 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.
Camada
motion_scale
Saturação
Valor
Matiz
Detalhe mín.
Contorno
Cores/16px
1 · Céu
1/32
−35%
+20%
+20° → céu
bandas lisas
não
13–18
2 · Montanha
1/8
−28%
+16%
+14°
8 px
não
15–20
3 · Colina
1/4
−20%
+11%
+9°
4 px
não
18–23
4 · Fundo médio
1/2
−10%
+5%
+4°
4 px
não
21–26
5 · Jogo
1
referência
referência
0°
2 px
sim, 2 px
30–40
6 · Primeiro plano
3/2
+5%
−30%
−5° (quente)
silhueta
sim, 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.
Povo
Fonte proposta
O que se rouba de lá
Remate do telhado
Enramados
Igrejas de madeira norueguesas (stavkirke) + casas nas árvores dos Korowai + carpintaria japonesa sem pregos
Estrutura de madeira à vista, telhados sobrepostos em camadas, varandas em consola, escadas exteriores
Porto palafítico da Carrasqueira, no Sado — a 30 km de ti — e os naust nórdicos
Estacaria irregular de madeira sobre água, passadiços estreitos, telheiros de guarda-barcos, redes
Baixo, largo, de duas águas, quase a tocar a água
Fenda
Petra, 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 paredes
Não há — a silhueta é o negativo do desfiladeiro
Horta
Lezíria do Tejo e celeiros de estrutura de madeira ingleses
Volumes grandes e simples, colmo, silos cilíndricos, estufas envidraçadas, muros baixos
Enorme e liso, com uma única inclinação. Contrasta com tudo o resto
Fornalha
Ferrarias bascas (ferrerías) e construção em basalto islandês
Pedra escura, chaminés altas, muros de escória vitrificada, aberturas que brilham de noite
Chato e pesado, atravessado por chaminés — a silhueta é vertical
Sob-Raiz
Derinkuyu, na Capadócia, e Coober Pedy
Câmaras escavadas ligadas por poços, nichos, nada de fachada — só aberturas na terra
Nã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
Regra
Especificação
Contorno
Preto 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.
Materiais
Estuque creme · vigas castanho-escuro · telha azul-petróleo escamada · pedra cinza-frio · madeira quente · relva verde-lima. Um material novo exige justificação escrita.
Sombreamento
Dois tons por material, sem gradientes, sem dithering decorativo. O dither é reservado a efeitos (revelação, dissolução) e às bandas de céu.
Densidade
Cluster 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ão
Tudo o que toca o solo leva sombra de contacto — elipse castanha quente, multiplicativa, 45–55%. Sem exceções, nem para caixotes.
Céu
Pelo menos 30% da altura do ecrã acima do telhado mais alto, sem nada contornado (§11).
Rostos
Bocas 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 povo
Cada 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:
Slot
Trocado por
Exemplo
body
Povo e escala
enramado, portuário, horta · escalas 1/2/3
head
Identidade
cabelo preto, barba ruiva, coroa, elmo alado, barrete de cozinheiro
face
Estado e lealdade
normal, ferido, encantado, apodrecido
weapon / shield
Ferreiro
níveis 1–4 · arma saqueada
overlay
Efeitos
buff 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
Shader
Usa em
Custo
Palette swap (LUT 1D)
Variantes de povo, estados, encantamento do bardo
Baixo. O maior retorno do projeto.
Revelação por dither
Cavidades a abrir no corte de solo
Baixo. Mecânica e efeito ao mesmo tempo.
Outline por dilatação
Personagem controlado, alvo marcado
Baixo
Dissolução
Podridão a espalhar-se, morte de unidades
Baixo
Ondulação de água
O lago do castelo, portos, pesqueiros
Baixo
Névoa volumétrica falsa
Cavidades, crepúsculo
Médio
Vinheta de cegueira
Cavaleiro 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ção
Comando
Teclado
Contexto
Mover
Stick esquerdo / D-pad
A · D · ← →
Sempre
Verbo 1 — Largar moeda
A / ✕ (toque)
Espaço
Sempre. Contexto define o alvo.
Largar em contínuo
A / ✕ (manter)
Espaço (manter)
Pagar vários níveis de uma vez
Verbo 2 — Assumir
X / ▢
E
Escolher na Casa do Herdeiro com sucessor pronto; montar, entrar em passagem e pagar ao companheiro
Descer / subir de faixa
Verbo 2 sobre passagem
E sobre passagem
Só onde há passagem descoberta
Roda do rei
Y / △ (manter)
Tab (manter)
Só com o titular da coroa. É o corpo dele, não um menu.
Atacar
RB / R1
F / botão esq. do rato
Corpo controlado; manter repete à cadência da arma
Habilidade do monarca
RT / R2
R / botão dir. do rato
Rei: Vigília; Nia: o canto pago do Bardo; Arqueiro: marca (ADR 0045, ADR 0052)
Impulso real
Roda do rei → segmento
Tab → 1–5
Um por dia (§15)
Câmara livre
Stick direito
Q · Z ou rato na margem
Reconhecimento; volta sozinha em 2 s
Pausa / opções
Start
Esc
Sempre
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ção
Como se mostra
Onde
Moedas
O saco do personagem enche visivelmente; moedas caem quando está cheio
No sprite
Hora do dia
Cor da luz ambiente + posição do sol/lua no céu
No mundo
Podridão a chegar
A mancha no horizonte + stem de tensão a subir
No mundo
Vida de tropa
Camada face muda para ferido abaixo de 50%
No sprite
Nível de muralha
Material e silhueta (§10)
No mundo
Ganância do rei
Nº de nobres visíveis na varanda do castelo
No mundo
Dívida e prazo
Único elemento não-diegético: contador de 6 dias no canto
Canto superior direito
Sementes Reais
Roda do rei, segmento de sucessão
Sob 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
Pessoas seguem e precisam de trabalho; moeda é um gesto com destinatário.
Um lugar pode ser bom para alimento e mau para defesa; não existe escolha universalmente superior.
Desmatar paga agora e pode retirar abrigo ou rendimento futuro; a pré-visualização explica a perda.
A luz permite ler e proteger o espaço conforme cada fonte; visibilidade e proteção não são a mesma regra.
O subsolo é um lugar explorável com chão, chegada e espaço útil, não uma escada sem destino.
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
Categoria
Critério
O teu estado
Entrada
A configuração de comando por omissão dá acesso a todo o conteúdo
Resolvido por design — dois verbos (§24)
Entrada
Os glifos no ecrã correspondem ao dispositivo ativo
Implementar: trocar atlas de ícones por Input.get_joy_name
Entrada
Texto usa a API de entrada do Steamworks ou teclado próprio navegável
Só o nome do save — usa a API
Ecrã
Corre a 1280×800 ou 1280×720
1280×720 nativo. Perfeito.
Ecrã
Nenhum carácter abaixo de 9 px de altura a 1280×800; recomendado 12 px
Risco real — a tua fonte de pixel art tem de ser ≥ 12 px
Continuidade
Sem avisos de incompatibilidade; launcher navegável por comando
Sem launcher. Resolvido.
Desempenho
Jogável nas definições por omissão — 30 fps a 800p
Trivial para 2D; confirma com 300 unidades
Sistema
Sem incompatibilidades de Proton
Godot 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
Funcionalidade
Custo de implementação
Decisão
Remapeamento completo de comandos
Baixo — InputMap + UI
Fazer. Fase 5.
Legendas para pistas sonoras
Baixo — 8 pistas (sino, crepúsculo, muro a cair...)
Fazer. Substitui o áudio para surdos.
Modos para daltonismo
Médio — a paleta é quente/fria, boa base
Fazer. Testa a Podridão contra o terreno em protanopia.
Controlos de contraste
Baixo — um shader de saturação/contraste global
Fazer.
Desligar screen shake e flashes
Trivial
Fazer. Obrigatório para fotossensibilidade.
Jogável ao teu próprio ritmo
Médio — slider de duração do dia (240–540 s)
Fazer. Também é um botão de dificuldade honesto.
Sem QTE
Zero — não tens
Declarar.
Jogável sem visão
Muito alto
Nã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 Steam
Quando
Nota
Inglês
37,0%
Dia 1
Obrigatório, incluindo a página de loja
Chinês simplificado
23,9%
Dia 1
Segundo maior mercado. Sem ele, perdes um quarto do público.
Russo
10,1%
Dia 1
Barato e de alto impacto em análises
Português do Brasil
3,9%
Dia 1
Fá-lo tu. É quase de graça e o mercado é leal.
Espanhol (Espanha)
4,2%
Dia 1
Cobre também a América Latina razoavelmente
Alemão · Francês
3,0% · 2,4%
Pós-lançamento
Mercados com poder de compra alto
Japonês · Coreano
2,9% · 2,4%
Se vender bem
Tolerância a preço alto. Exigem qualidade de tradução.
Português de Portugal
—
Dia 1
Nã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
Ferramenta
O que dá
Estado em 2026
Servidor MCP para Godot
O 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-action
Testes em CI com relatório, GDScript e C#
Maduro. Action de GitHub pronta.
Godot Aseprite Wizard
Arte → cena sem passos manuais, respeitando tags e camadas
Maduro
GodotSteam
Steam, conquistas, cloud saves, rede
Maduro. Padrão do ecossistema.
LimboAI
Behavior trees só para chefes e Podridão
Maduro. 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_idREGRAS
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
# Ciclosignal phase_changed(from: int, to: int)
signal day_started(day: int)
# Economiasignal coin_dropped(world_pos: Vector2, amount: int)
signal coin_collected(unit_id: int, amount: int)
signal treasury_changed(total: int, delta: int)
# Podridãosignal rot_spawned(side: int, mass: float)
signal rot_moved(x: float, mass: float)
signal creature_requested(kind: StringName, at: Vector2)
signal rot_retreated()
# Unidadessignal 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çãosignal 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]:
ifnot 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():
returnnullreturn 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 tickvar ids: PackedInt32Array = []
var pos: PackedVector2Array = []
var hp: PackedInt32Array = []
var state: PackedByteArray = [] # 0 IDLE 1 GOTO 2 WORK 3 FIGHT 4 FLEEvar band: PackedByteArray = [] # 0 AERIAL 1 SURFACE 2 UNDERGROUNDvar 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 4func _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.gdextends 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 inteirafunc 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.
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."
Fase
Duração
Acum.
O que fica feito
Critério de saída
0 · Fundação
1 mês
1
Repo, CI, CLAUDE.md, faixas, câmara, GameClock, decisão de escala
Um sprite anda nas três faixas e o CI está verde
1 · Núcleo jogável
3 meses
4
Moeda 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 vertical
3 meses
7
Um povo completo com arte final (7 edifícios, 3 criaturas, 5 muralhas), 1 classe, 3 ofícios, 1 fortaleza
Jogas 10 dias e queres jogar o 11.º — o teste que decide o projeto
3 · A segunda camada
2 meses
9
Subterrâneo jogável, revelação por dither, segredos, primeiro diário
O minuto 10 do §25 funciona com estranhos
4 · Demo pública
2 meses
11
Onboarding afinado, som, opções, página de Steam, build web
Página publicada. Wishlists a acumular.
5 · Next Fest
3 meses
14
Demo no Next Fest, acessibilidade, Steam Deck, telemetria
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
#
Tarefa
Ficheiros
Feito quando
F0-00
Repositó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-01
Criar projeto Godot 4.6 com as definições do §19
project.godot
Abre a 1280×720, filtro Nearest, 30 ticks
F0-02
Git + LFS para *.aseprite e art/**/*.png
.gitattributes
git lfs ls-files mostra a arte
F0-03
Escrever CLAUDE.md (§28) e os primeiros 3 ADRs
CLAUDE.md, docs/adr/
ADR 0001 escala, 0002 faixas, 0003 dados
F0-04
Instalar gdUnit4 + workflow de CI
.github/workflows/
Push verde com um teste trivial
F0-05
Band enum + collision layers por faixa
src/sim/band.gd§70
Teste: aéreo não colide com subsolo
F0-06
GameClock + ClockData.tres (prompt 1, §29)
src/sim/game_clock.gd
Os 5 testes do prompt passam
F0-07
EventBus autoload
src/core/event_bus.gd
Sinais declarados, nenhum emissor ainda
F0-08
Câmara com lookahead e limites de região
src/world/camera_rig.gd§70
Não treme com movimento subpixel
F0-09
Decidir a escala (§19) e escrever ADR 0001
docs/adr/0001
Testado em 1080p e no Deck
F0-10
Cena de teste: um sprite anda nas 3 faixas
scenes/tests/bands.tscn
Critério de saída da Fase 0
Fase 1 — Núcleo jogável · 3 meses
#
Tarefa
Depende de
Feito quando
F1-01
Moeda física: largar, arco, queda, apanhar, saco com capacidade
F0-07
Largar 10 moedas a 60 fps sem picos
F1-02
UnitData.tres + as 6 unidades do §07
F0-03
Editar dano no .tres muda o jogo sem recompilar
F1-03
UnitSystem com arrays paralelos e time-slicing
F1-02
300 unidades a 60 fps no profiler
F1-04
Recrutar vagabundo por 1 moeda; ele vai para a vila (Q-063)
F1-01, F1-03
O minuto 0:20 do §25 funciona
F1-05
JobBoard (prompt 4, §29)
F1-03
Os 4 testes do prompt passam
F1-06
Muro: 5 níveis, dois caminhos, slots de contacto
F1-05
Tabela do §10 replicada em .tres
F1-07
Arqueiro: alcance, precisão 0,34 em campo / 1,0 em torre
F1-06
TTK medido bate com a tabela do §07
F1-08
RotSystem (prompt 2, §29)
F0-06
Os 6 testes do prompt passam
F1-09
Criaturas: Rastejante, Alado, Bruto + tabela de invocação
F1-08
A noite 4 obriga a torre alta
F1-10
Economy (prompt 3, §29) + curve.tres
F1-01
Teste do dia da asfixia entre 9 e 14
F1-11
Plantação, pesqueiro, galinheiro com os valores do §06
F1-10
Payback de 2 dias medido em jogo
F1-12
Moral e fuga com raio do rei (§07)
F1-05
Com o rei em campo ninguém foge
F1-13
CanvasModulate por faixa animado pelo GameClock
F0-06
As 6 fases são distinguíveis sem HUD
F1-14
Save/load do estado de src/sim/ com save_version
F1-10
Fechar e reabrir no dia 7 preserva tudo
F1-15
Cenário de combate noturno para afinação (§07)
F1-09
Noite 5 ganha com 1–2 mortes
F1-16
Afinar até sobreviver 10 dias ser possível e não trivial
tudo
Critério de saída da Fase 1
O formato de tarefa — copia para docs/backlog/F1-08.md
# F1-08 · RotSystemPorque 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.
Rubrica
Magro
Realista
Confortável
Nota
Steam Direct
92 €
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 som
300 €
1 800 €
4 000 €
Biblioteca · compositor indie · compositor + sound design
Steam Deck para testes
300 €
419 €
500 €
Usado · novo. Não é opcional se queres Verified.
Marketing
400 €
900 €
2 500 €
Fazes as capsules tu — poupas 500–2 000 €
Localização
200 €
700 €
1 500 €
Barato porque tens ~120 strings (§27)
Contabilidade e atividade
400 €
600 €
800 €
Abertura de atividade + contabilista, 2–3 anos
Ferramentas e hosting
150 €
280 €
400 €
Domínio, site do devlog, LFS, backups
QA pago
0 €
0 €
500 €
Só faz sentido no cenário alto
Contingência
250 €
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ário
Custo direto
Cópias a preço cheio
Cópias a preço efetivo
Wishlists necessárias
Magro
2 700 €
227
318
≈ 1 600
Realista
8 400 €
707
988
≈ 5 000
Confortável
16 000 €
1 882
1 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ção
Quando faz sentido para ti
Autopublicação
O caso base. Custos diretos baixos, controlo total, o Steam é a tua plataforma principal, e fazes design e arte.
Acordo só de marketing
15–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 consolas
20–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 adiantamento
Só 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ês
Ação
Porquê agora
1
Abre a conta de devlog. Um GIF por semana, sempre.
Custa 20 min/semana e é a única coisa que compõe juros durante 30 meses
4
Primeiro GIF bom: a Podridão a chegar ao castelo-árvore
É o teu argumento visual. Testa-o cedo em público.
11
Página de Steam publicada, localizada nos 8 idiomas
Wishlists acumulam a partir daqui. Cada mês de atraso é um mês perdido.
12
Demo jogável, primeiro em itch.io e web
Feedback antes de te comprometeres com o Next Fest
14
Steam Next Fest
Só podes entrar uma vez. É o teu maior pico único.
15–25
Devlogs, festivais menores, criadores de conteúdo pequenos
Manutenção. Mira em 1 500–3 000 wishlists por mês.
26
Contactar imprensa e criadores com build final
4–6 semanas de antecedência é o mínimo
28
Lançamento
Terça-feira. Nunca em semana de lançamento grande.
A página de Steam — o que converte
Elemento
Especificação
Regra
Capsule pequena
462 × 174
Desenha-a a 120 × 45. É onde ela vai ser vista. Se o título não se ler, refaz.
Capsule de cabeçalho
920 × 430
Um assunto, um caminho para o olho, título legível a 184 × 69
Capsule principal
1232 × 706
Carrossel da página inicial
Capsule vertical
748 × 896
Páginas de saldos sazonais
Capsule de biblioteca
600 × 900
Depois da compra
Trailer
—
Jogo real nos primeiros 3 segundos. Sem logótipo à cabeça. 60–90 s.
Primeiras 4 capturas
1920 × 1080
Cada 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.
Risco
Prob.
Impacto
Sinal de alarme
Mitigação
A Camada 1 não é divertida
Média
Fatal
Não queres jogar o dia 11 no mês 7
Portão da Fase 2 (§33). Dois meses de afinação de números antes de avançar.
Abandono por exaustão
Alta
Fatal
Duas semanas sem commit; o devlog para
Ritmo semanal do §28. Sexta é para jogar, sábado para arte. Fases curtas com fim visível.
O cenário não acompanha o código
Alta
Grande
Fim da Fase 1 sem a cena-cartaz acabada
Cená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 encolher
Alta
Grande
Uma tarefa nova por semana no backlog sem nenhuma sair
O campo Fora em cada ticket (§34). Nada entra na Fase 6 sem sair outra coisa.
Dívida técnica gerada por IA
Média
Grande
Ficheiros acima de 250 linhas; testes a serem ignorados
As sete regras + o teste que verifica src/sim/ (§31)
Wishlists insuficientes no mês 14
Média
Grande
< 5 000 depois do Next Fest
Diagnóstico de posicionamento antes de mais código: trailer, capsule, tags
Desempenho com 300 unidades
Baixa
Médio
Quedas de fps na noite do dia 20
Arquitetura de arrays desde a F1-03. Profiler de tracing do 4.6.
Reprovar Steam Deck Verified
Média
Médio
Fonte desenhada abaixo de 12 px
Decidir o tamanho da fonte na Fase 0 (§26)
Corrupção de saves num update
Baixa
Grande
Um relato basta para envenenar as análises
save_version desde a v1, escrita atómica, 3 slots (§19)
Multijogador consome a Fase 8 e falha
Média
Baixo
Mais de 6 semanas em sincronização
Já está depois do lançamento. Corta e não perdes nada.
Nome colide com marca registada
Média
Médio
Descobres no mês 26
Resolver antes da Fase 4 (§36)
Um clone sai primeiro
Baixa
Baixo
—
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ão
Onde
Bloqueia
1
Escala de ecrã: fracionária com opção de nítido
§19
Câmara, HUD, toda a arte de UI
1b
Fixar a linha do solo e as três faixas — é uma decisão, não uma medição
§11
Câmara, geração de mundo, todas as cenas
2
Altura de carácter da fonte ≥ 12 px
§26
Steam Deck Verified, e a fonte não se redesenha
3
Criar o repositório com CLAUDE.md e LFS
§28
Todo o trabalho com IA
4
Separar as personagens acabadas em slots com a nomenclatura fixa
§22
Todo o pipeline de personagem — e é a tarefa mais barata da lista
4b
Importar a paleta de trabalho e começar a cena-cartaz
§22
O devlog, e a tua estimativa real de horas por cena
5
Fixar o vocabulário PT↔EN no CLAUDE.md
§28
Coerência do código durante 30 meses
6
Escrever ClockData.tres e correr o prompt 1
§29
Tudo o que depende do tempo
7
Abrir a conta do devlog e publicar o primeiro GIF
§36
Wishlists — e o relógio já está a andar
8
Marcar cinco playtesters para o mês 7
§32
O portão da Fase 2
9
Escolher o cenário de orçamento e o plano de IA
§35
Ritmo de trabalho realista
10
Começar a lista de nomes candidatos
§36
Pá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
Assunto
Manda
Regra de conflito
Design, números de balanceamento, intenção
Dossiê consolidado, incluindo §86–§91
Decisõ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 §67
Se 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 §67
Alterações exigem subida de versão do documento e uma linha no registo de alterações.
Arte, densidade, paleta, camadas
§01, §11, §22
Aqui 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:
Documento
Estado
Onde vive
Prioridade
GDD — design, sistemas, progressão, UX
Existe e está bom
§04 a §27
—
Bíblia de arte
Existe — 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 §67
Esta parte
Era a que faltava
Base de dados de conteúdo — as tabelas como fonte única
Existe desde a v5.2
data/source/: 23 tabelas geradas para .tres e conferidas contra este dossiê pelo CI (§71)
Feita — falta aprovares as propostas
Bíblia de nomes e lore
Proposta na v5.2
docs/content/NAMING_BIBLE.md; o nome do jogo continua por escolher
Média — bloqueia o §36
Especificação da fatia vertical
Parcial
§33 tem critérios de saída, §34 tem 30 tickets
Fases 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.
#
Invariante
Porquê
Guarda
I1
src/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
I2
Tudo 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
I3
Toda 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
I4
Nú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
I5
A 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
I6
Nunca 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
I7
A 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
I8
O 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.
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.
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
Fluxo
Consome
Semeado com
Afeta a simulação?
world
Geração de região, tipos de segmento, cavidades, passagens
hash(str(seed) + "world")
Sim
combat
Precisão do arqueiro, ordem de desempate na fila de contacto
hash(str(seed) + "combat")
Sim
rot
Intervalo de invocação, escolha de criatura, largura da mancha
hash(str(seed) + "rot")
Sim
economy
Variação de rendimento, preços de mercenários, saque
hash(str(seed) + "economy")
Sim
ai
Desempate de utilidade do rei inimigo, atribuição de trabalho
hash(str(seed) + "ai")
Sim
visual
Variante de prop, desfasamento de animação, variação de pitch, partículas
Time.get_ticks_usec()
Nunca
# src/core/rng_service.gdextends Node
var _streams: Dictionary = {} # StringName -> RandomNumberGeneratorvar _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 seedvar 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.
Ordem
Sistema
Frequência
Lê
Escreve
1
GameClock.advance
Todo o tick
state.time
Fase do dia, emite fronteiras
2
RotSystem
Todo o tick
Fase, dia, terreno
Posição, massa, rasto, invoca criaturas
3
JobSystem
Uma vez por fase
Postos, tropas livres
Atribuições
4
UnitSystem — FSM
1/6 das unidades por tick
Atribuição, ameaças
Estado, alvo, intenção de movimento
5
MovementSystem
Todo o tick
Intenção
Posição em X, faixa, separação
6
CombatSystem
Todo o tick
Slots de contacto, alcances
Vida, mortes, largadas
7
EconomySystem
Uma vez por fase
Edifícios, ofícios, rotas
Moeda, matéria, capacidade
8
BuildSystem
Todo o tick
Moedas largadas, obras
Progresso de construção
9
DebtSystem · DiplomacySystem
Uma vez por dia
Dívida, favor
Prazos, conversões
10
KingAISystem
Uma vez por dia, por império
KingdomState
Ação escolhida
11
EventBus.flush
Fim do tick
Fila de eventos
Entrega à 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.
Classe
CSV de origem
Linhas na fatia vertical
Campos-chave
UnitData
units.csv
6
custo, vida, dano, intervalo, precisão aberta, alcance, faixa, velocidade
CreatureData
creatures.csv
3 (de 6)
massa, vida, dano, intervalo, velocidade, dia mínimo, faixa, alvo preferido
BuildingData
buildings.csv
7 (de 13)
custo, matéria produzida, ritmo, bioma exigido, largura, slots, estados
WallData
walls.csv
5
nível, custo, vida, slots de contacto, material, peças
PeopleData
peoples.csv
1 (de 6)
kit de arquitetura, rampa de paleta, fonte arquitetónica, tropa única, modificadores
tabela de criaturas, recursos disponíveis, preset atmosférico, faixas de parallax
SegmentData
segments.csv
8
tipo, peso, restrições de adjacência, cena, slots de construção, cavidades
EconomyCurve
economy.csv
1
curva de rendimento, dia de asfixia alvo, preços de mercenário por fase
RotProfile
rot.csv
1
velocidade base e por dia, massa base e por dia, intervalo de invocação, abrandamentos
MountData
mounts.csv
0 (Fase 6)
velocidade, capacidade, faixa, penalização sem montaria
As duas que mais interessam, por extenso
# src/sim/data/unit_data.gdclass_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ódigoclass_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.gdclass_name GameState extends RefCounted
var seed: int
var tick: int = 0 # passos desde o iníciovar day: int = 1
var phase: GameClock.Phase = GameClock.Phase.DAWN
var phase_elapsed: float = 0.0
var player: KingdomState # o teu impériovar kingdoms: Array[KingdomState] = [] # impérios inimigos, ordenados por idvar units: Array[UnitRec] = [] # ordenado por id, semprevar creatures: Array[CreatureRec] = []
var buildings: Array[BuildingRec] = []
var coins_on_ground: Array[CoinRec] = []
var corpses: Array[CorpseRec] = [] # ressuscitáveis até ao amanhecervar rot: RotState # posição, largura, massa, ativovar world: WorldState # segmentos, cavidades, passagens, terreno apodrecidovar 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 Registryvar owner: int # 0 = jogador, 1..n = impériosvar x: float
var band: Band.Kind
var health: int
var state: UnitFsm.State # IR_PARA, TRABALHAR, COMBATER, FUGIR, MORTOvar 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 -> StringNamevar 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.
Sinal
Carga
Emitido por
Quem ouve
Relógio — 7
day_started
day: int
GameClock
Economia, Podridão, IA, autosave
phase_changed
from, to: Phase
GameClock
Trabalho, luz, áudio, tropas
dawn_broke
day: int
GameClock
Sino, varrimento de luz, contagem de perdas
dusk_fell
day: int
GameClock
Aviso sonoro, nascimento da Podridão
night_started
day: int
GameClock
Recolha aos postos, música
night_survived
day, deaths, walls_lost
GameClock
Telemetria, conquistas, diário
game_paused
paused: bool
UI
Todos os sistemas
Economia — 11
coin_dropped
x, band, amount, source
Jogador, unidade, morte
Construção, apanha, áudio
coin_collected
unit_id, amount
MovementSystem
HUD do saco, áudio
coin_spent
amount, purpose
Build, recrutamento
Telemetria
material_produced
building_id, kind, amount
EconomySystem
Carroças, ofícios
material_consumed
building_id, kind, amount
CraftSystem
Visual da carroça
craft_chosen
craft_id, mode
Jogador
Economia, capacidade
capacity_granted
kind, magnitude, duration
CraftSystem
Tropas, overlay visual
trade_route_opened
people_id, income
DiplomacySystem
Economia, HUD
trade_route_closed
people_id, reason
Conquista, Podridão
Economia
seed_royal_gained
amount, source
Fortaleza, segredo
Metaprogresso, save
favor_changed
delta, total
Diplomacia, bardo
HUD, mercenários
Unidades e combate — 14
unit_spawned
unit_id, data_id, x, band
UnitSystem
Apresentação, telemetria
unit_promoted
unit_id, from, to
JobSystem
Slots de arte, áudio
unit_state_changed
unit_id, from, to
UnitFsm
Animação
unit_damaged
unit_id, amount, from_id
CombatSystem
Flash, camada face, knockback
unit_died
unit_id, x, band, drops
CombatSystem
Corpo, largadas, áudio, telemetria
unit_revived
unit_id
ClassSystem
Apresentação
unit_fled
unit_id, reason
UnitFsm
Moral
attack_launched
from_id, to_id, hit: bool
CombatSystem
Projétil, impacto, áudio
target_marked
target_id, by_id
Classe Arqueiro
Prioridade de alvo, contorno
contact_slot_taken
wall_id, slot, unit_id
CombatSystem
Posicionamento
contact_slot_freed
wall_id, slot
CombatSystem
Substituição em 0,4 s
weapon_dropped
x, band, tier
CombatSystem
Ferreiro n2
mercenary_hired
unit_id, price, debt
DiplomacySystem
Dívida, HUD
loyalty_changed
unit_id, value
Bardo, dívida
Camada face, IA
A Podridão — 8
rot_spawned
x, width, mass, side
RotSystem
Mancha, música, aviso
rot_moved
x, width
RotSystem
Mancha, stem de tensão
rot_summoned
creature_id, x, mass_spent
RotSystem
Apresentação
rot_slowed
factor, cause
RotSystem
Feedback visual
rot_fed
mass_removed, offering
Jogador
Mancha, áudio
rot_trail_left
from_x, to_x
RotSystem
Terreno, plantações, movimento
rot_retreated
day
RotSystem
Dissolução, luz
creature_died
creature_id, x, band
CombatSystem
Largadas, telemetria
Mundo e construção — 12
region_generated
seed, segments
WorldGen
Apresentação, parallax
segment_entered
segment_id, type
CameraRig
Áudio, telemetria
build_started
slot_id, building_id
BuildSystem
Andaime, construtor
build_progressed
slot_id, ratio
BuildSystem
Estado do sprite
build_completed
building_id
BuildSystem
Economia, áudio
building_damaged
building_id, ratio
CombatSystem
Estado do sprite
building_destroyed
building_id, x
CombatSystem
Ruína, economia
wall_upgraded
wall_id, level
BuildSystem
Material, silhueta, slots
wall_breached
wall_id
CombatSystem
Tremor de ecrã, música, IA
cavity_revealed
cavity_id
Jogador
Shader de dither, luz
passage_used
unit_id, from_band, to_band
MovementSystem
Apresentação
secret_found
secret_id
Mundo
Diário, Semente Real
Coroa e impérios — 9
king_action_chosen
kingdom_id, action
KingAISystem
Apresentação, telemetria
greed_changed
kingdom_id, value
CrownSystem
Nobres na varanda, economia
royal_impulse_used
impulse_id
Jogador
Efeito, roda do rei
king_died
kingdom_id, heir_id
CombatSystem
Sucessão, derrota
succession_started
heir_id
SuccessionSystem
UI, luz
fortress_conquered
fortress_id, people_id
ConquestSystem
Kit novo, Semente Real
people_assimilated
people_id
DiplomacySystem
Rota, arquitetura
debt_incurred
amount, due_day
DebtSystem
Contador de 6 dias
debt_defaulted
amount
DebtSystem
Mercená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 §70class_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 encontramconst GROUND_LINE := 517 # onde as tropas pisamconst 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
Constante
Valor
De onde vem
Afina-se em playtest?
TICK_HZ
30
§19
Não
DAY_SECONDS
360
§05
Sim → vai para ClockData (v5.2, ADR 0006)
GROUND_LINE
517
§11, fixado na Fase 0
Não — meia dúzia de sistemas dependem dele
SEGMENT_WIDTH
640
§21
Não
TILE
32
§22
Não
AI_SLICE
6
1/6 das unidades decide por tick
Não — é desempenho
SLOT_REPLACE_TIME
0,4 s
§07
Sim → EconomyCurve
EVENT_LOG_SIZE
600
≈ 20 s de história para depuração
Nã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.
Fase
Duração
Início
Emite à entrada
Estado das tropas
DAWN
15 s
0
dawn_broke, phase_changed
Saem dos postos, em cascata
MORNING
85 s
15
phase_changed
Trabalho livre
NOON
40 s
100
phase_changed
Trabalho livre · fortalezas detetam
AFTERNOON
85 s
140
phase_changed
Trabalho livre · mercenários +25%
DUSK
30 s
225
dusk_fell, rot_spawned
Recolha aos postos
NIGHT
105 s
255
night_started
Posto de cerco
# src/core/game_clock.gd — o único sítio onde o tempo avançaenum 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]:
returnvar 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ériafor b in s.buildings: # ordenado por id (I2/§42)if b.destroyed or b.on_rot_trail: continuevar d := Registry.building(b.data_id)
b.stock += d.yield_per_phase
# 2 — conversão: ofícios consomem matéria e produzem moeda OU capacidadefor c in s.player.active_crafts:
var src := _find_building(s, c.source_id)
if src == nullor 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 DAWNif phase == GameClock.Phase.DAWN:
for r in s.player.routes:
_drop_coins(s, s.player.core_x, r.income)
Caso difícil
Resolução
Edifício no rasto da Podridão
Nã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 suficiente
Nã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éria
Ordem por craft.id. Determinista, e o jogador aprende a ordem.
Moeda largada quando o chão está cheio
Empilha na mesma coordenada com contagem, até 99. Acima disso, funde num saco.
Rota de comércio de povo arrasado
Fechada 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.gdclass_name RotState extends RefCounted
var active: bool = falsevar x: float # centro da manchavar width: float
var mass: float # orçamento de invocaçãovar side: int # -1 esquerda, +1 direita, 0 = ambos (dia 12+)var next_summon_at: float
var trail_from: float
var trail_to: float
Momento
O que acontece
Fórmula
DUSK
Nasce na borda mais distante do lado ameaçado
mass = 60 + 26·dia + 40·fortalezas
Todo o tick
Avança em direção ao império
v = (14 + 0,9·dia) · (1 − abrandamentos) px/s
A cada 4–7 s
Gasta massa a invocar da tabela do bioma
Escolhe a criatura mais cara que cabe e cujo dia mínimo já passou
Ao avançar
Deixa rasto: plantações destruídas, animais mortos, −20% de movimento
Persiste até ao DAWN seguinte
DAWN
Recua. Não morre — nunca é morta em campo aberto
active = 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
Estado
Entra quando
Sai quando
Custo por tick
GOTO
Tem trabalho e está longe
Chega ao posto
Movimento em X
WORK
Está no posto
Fase muda, ameaça em alcance, posto destruído
Nada — só animação
FIGHT
Inimigo em alcance e a unidade tem dano
Alvo morre ou sai de alcance
Resolução de combate
FLEE
Vida < 25% e classe permite, ou lealdade quebrada
Chega ao núcleo, ou morre
Movimento em X
DEAD
Vida ≤ 0
Ressuscitada até ao amanhecer, ou removida
Nada
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.
Camada
Bit
Colide com
Notas
L_AERIAL
1
Terreno alto, projéteis de arqueiro e torre
Voadoras. Ignoram tudo o que é de solo.
L_SURFACE
2
Terreno, edifícios, muralhas, moedas
O jogo do Kingdom acontece aqui
L_UNDER
4
Terreno de cavidade, passagens
Tropas de defesa nunca descem
L_TERRAIN
8
Todas as três faixas, seletivamente
TileMapLayer com máscara de revelação
L_BUILDING
16
Superfície e subsolo
Só o que é atacável
L_COIN
32
Nada — é apanha por proximidade
Colisã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. NavigationRegion2Dsó 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 juntasreturn 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
Sistema
Corre
Regra
Favor
Uma vez por dia, no DAWN
Decai 10% se não for usado. É a única moeda que perde valor — e é o que impede acumular favor durante vinte dias.
Mercenários
Ao contratar
Preço sobe 25% na AFTERNOON. Contratar sem favor cria dívida com prazo de 6 dias.
Dívida
Uma vez por dia
É o único elemento de HUD permanente do jogo (§24), e só existe quando há dívida.
Incumprimento
No prazo
debt_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).
Slot
Ordem Z
Trocado por
Fonte do valor
body
0
Povo e escala
UnitData.people + scale_tier
storage
1
O armazenamento do personagem jogável e o que leva
ClassData.storage (storages.csv) — a camada Equipments (Q-153)
head
2
Identidade
UnitRec.slots["head"] — sorteado do fluxo visual
face
3
Estado e lealdade
Derivado de health e loyalty. Nunca guardado.
weapon / shield
4
Nível de ferreiro
UnitRec.slots["weapon"]
overlay
5
Efeitos
Capacidades ativas, marca do arqueiro, rasto da Podridão
shadow
−1
Largura do sprite
UnitData.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.
Z
Nó
motion_scale
CanvasModulate
Notas
−60
SkyLayer
1/32
Céu
Bandas + dither. Sol e lua posicionados pelo GameClock.
−50
MountainLayer
1/8
Distância
Massa lisa, zero textura, zero contorno
−40
HillLayer
1/4
Distância
Detalhe mínimo 4 px
−30
MidLayer
1/2
Plano médio
A faixa que faltava (§11)
−20
HazeBands
—
—
2–3 bandas aditivas, 6–14% de opacidade
−10
TerrainLayer
1
Jogo
TileMapLayer · superfície e corte de solo
0
ShadowLayer
1
Jogo
Elipses de contacto, multiplicativas
10
EntityLayer
1
Jogo
Ordenado por band, depois por x
20
FxLayer
1
—
Mancha da Podridão, projéteis, partículas
30
ForeLayer
3/2
Primeiro plano
Escuro, silhueta, sobrepõe-se às tropas
40
GodRays
—
—
Só entre nascer e pôr do sol
100
DebtHud
—
—
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
Shader
Uniforms
Aplicado a
Fase
palette_lut
lut: Texture2D, mix: float
Todos os sprites de jogo. Faz hora do dia, variante de povo, encantamento e estado — um shader, quatro trabalhos.
Só 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.gdfunc _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
}
Regra
Porquê
Escreve para ficheiro temporário e só depois renomeia
Um 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ícitas
Um 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 campo
Um .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 erro
Permite 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.
Item
Orçamento
Como se mede
Se estourar
Simulação, tick completo
4,0 ms
Profiler de tracing (Tracy/Perfetto, §19)
Aumenta AI_SLICE antes de otimizar código
— CombatSystem
1,5 ms
Marcador dedicado
Reduz slots de contacto, não unidades
— MovementSystem
1,0 ms
Marcador dedicado
Steering só contra os 4 vizinhos mais próximos
— UnitSystem (FSM)
0,8 ms
Marcador dedicado
Fatiamento para 1/8
Render, draw calls
≤ 120
Monitor do Godot
Mais MultiMeshInstance2D
Nós ativos na cena
≤ 900
Monitor do Godot
Pooling; unidades fora do ecrã não têm nó
Vozes de áudio
≤ 24
Contador próprio
Prioridade por proximidade da câmara
Memória de texturas
≤ 512 MB
Monitor do Godot
No export web, máx. 1024 px por textura
Tempo de arranque até jogável
≤ 4 s
Teste de cena
Carregar .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ão
Defende
Custo
G1
test_sim_nao_toca_em_nos
Invariante I1 — a decisão mais importante do projeto
20 linhas
G2
Lint de RNG: sem randi/randf/randomize fora de RngService
I2 — a promessa da seed
10 linhas
G3
test_eventos_no_catalogo: nenhum sinal emitido fora do §46
I7 — impede a proliferação de sinais quase iguais
15 linhas
G4
test_sem_literais_de_balanceamento
I4 — números fora dos .tres
30 linhas
G5
Testes de design no intervalo
O jogo continuar afinado
Ver 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 apanhamfunc 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.
Ficheiro
O que faz
Depende de
h
Infraestrutura — 6, mais os 19 da §68
project.godot
As definições do §19, copiadas tal e qual
—
1
.gitattributes
Git LFS para art/source/desde o primeiro commit
—
0,5
.github/workflows/ci.yml
gdUnit4 em headless, os cinco portões do §64
—
3
AGENTS.md + CLAUDE.md
O contrato do §69. Aponta para docs/design/, gerado por tools/split_dossie.py
§69
1,5
tools/csv_to_tres.gd
Gera .tres a partir de data/source/*.csv
§44
4
tools/lint_sim.gd
Portões G1, G2, G4
—
2
Núcleo — 6
src/sim/band.gd§70
O enum e as constantes de plano (§47). Na simulação, não em core/
§70
0,5
src/core/event_bus.gd
Os 61 sinais declarados, fila e flush
§46
3
src/core/rng_service.gd
Os seis fluxos, snapshot e restore
§42
2
src/sim/game_clock.gd§70
Seis fases, passo fixo, fronteiras. Puro, RefCounted
§48
3
src/core/clock_service.gd§70
O autoload de trinta linhas que faz o relógio andar e emite os sinais
§70
0,5
src/core/registry.gd
Carrega .tres por StringName
§44
2
src/core/save_service.gd
Escrita atómica, versão, rotação de três slots
§62
4
Estado e mundo mínimo — 5
src/sim/state/game_state.gd
A estrutura do §45, ainda quase vazia
§45
2
src/sim/state/unit_rec.gd
Uma tropa como linha de dados
§45
1
src/sim/data/clock_data.gd§69
O Resource que o GameClock do §30 recebe e que a v5 não criava
§44
0,5
src/sim/data/unit_data.gd
O Resource completo do §44
§44
1,5
src/world/band_layers.gd
As três faixas, camadas de física, a matriz do §53
§53
3
src/world/camera_rig.gd
Uma câmara, limites, movimento em pixel inteiro
§59
3
Apresentação mínima — 4
src/world/parallax_stack.gd
Seis camadas com floor(), ainda com placeholders
§59
3
src/actors/unit_view.gd
Os cinco slots empilhados, mais a sombra
§58
4
shaders/palette_lut.gdshader
O shader que faz quatro trabalhos
§60
4
scenes/boot.tscn§70
A cena principal: Registry, idioma e save antes de o mundo existir
§70
1
scenes/game.tscn
A cena raiz do jogo, com a pilha do §59 montada
§59
3
Testes — 2
tests/architecture_test.gd
G1, G3, G4
§64
2
tests/clock_test.gd
Passo fixo, fronteiras de fase, 360 s por dia
§48
1,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.
Corre em headless com delta fixo, dez dias em menos de dez segundos. É o instrumento que vai balancear o jogo inteiro.
Mundo mínimo
sim/worldgen/world_gen.gd · segment_data.gd · 8 cenas de segmento em greybox
Uma região gerada por seed, com paisagem contínua e segmentos montados. A mesma seed dá o mesmo mundo.
Save
migração 1→1, integração com DAWN
Gravar 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 lerdocs/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.
Ficheiro
Porque é dia zero
Estado na v5
h
Onda 1 — antes de qualquer código. O que suja todos os commits futuros se faltar no primeiro.
.gitignore
Sem ele, o .godot/ entra no commit inicial e todos os diffs seguintes trazem milhares de linhas de cache — e tu deixas de os ler
falta
0,25
.gitattributes
LFS para *.aseprite e art/**/*.png, eol=lf em tudo, addons/ fora do LFS
✓ §65
0,5
README.md
Como 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 entrar
falta
0,5
LICENSE + NOTICE.md
Có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 depois
falta
0,25
.editorconfig
Tabulações no .gd, espaços no resto. Elimina a classe inteira de diffs que são só espaço em branco
falta
0,1
AGENTS.md + CLAUDE.md
Um contrato só, lido por qualquer agente. O CLAUDE.md passa a três linhas a apontar para ele
falta
0,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 ficheiro
falta
1,5
docs/adr/0000-template.md
Mais os sete primeiros ADRs. O 0007 já é citado como regra absoluta no contrato
G1, G3, G4, o relógio, e a cena que prova o critério de saída
✓ §65
4,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:
ADR
Decisão
Vem de
0001
Escala e escada de resoluções: fractional por omissão, interruptor para integer
§19
0002
Três faixas com camadas de física separadas, desde a primeira entidade
§53
0003
Balanceamento em CSV, gerado para .tres
§44
0004
Os .tres gerados são versionados
novo, §69
0005
boot.tscn é a cena principal; game.tscn é instanciada por ela
§70
0006
O relógio é puro; o autoload só o faz andar
§70
0007
O save nunca usa load(): só tipos base, validados campo a campo
# .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.
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
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 diverge
A contradição
Decisã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
Caminho
Classe
Camada
Pode importar de
src/sim/band.gd
Band
simulação
nada
src/sim/game_clock.gd
GameClock
simulação
ClockData
src/sim/data/*.gd
*Data
simulação
Resource, Band
src/sim/state/*.gd
GameState, UnitRec…
simulação
sim/
src/sim/systems/*.gd
EconomySystem…
simulação
sim/
src/core/clock_service.gd
ClockService(autoload)
núcleo
sim/
src/core/event_bus.gd
EventBus(autoload)
núcleo
nada
src/core/rng_service.gd
RngService(autoload)
núcleo
nada
src/core/registry.gd src/core/save_service.gd
Registry, SaveService(autoloads)
núcleo
sim/
src/world/band_layers.gd
BandLayers
apresentação
core/, sim/
src/world/camera_rig.gd
CameraRig
apresentação
core/, sim/
src/actors/*.gd
UnitView, KingView…
apresentação
core/, sim/
scenes/boot.tscn
— (cena principal)
cenas
tudo
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.
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 · §69
Existe; corre no GitHub quando houver remoto
data/source/ → data/**/*.tres
23 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 §17
Existe; csv_to_tres --check sem diferenças
data/i18n/strings.csv
207 chaves de texto, PT-PT e EN, com contexto e limite de caracteres
§27
Existe
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 · §70
Existe; o resto da simulação são os tickets F0 e F1
scenes/boot.tscn
A cena principal do dia zero: céu, corte de solo, um placeholder de escala 2 com sombra de contacto em cima da GROUND_LINE
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 · §64
23 testes; G3 espera pelo F0-07, o aríete pela Q-001
docs/design/
Este dossiê partido por secção, 75 ficheiros
§69
Gerado; 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 · §69
0001 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 · §66
Existe
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 · §44
Existe; 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 · §60
Existe
docs/world/
Bíblia de produção de mundo, regras de greybox, registo de 43 segmentos
§21 · §54
Existe
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 · §27
Existe
docs/qa/
Plano e formulário de playtest, plano mestre de QA, regressão, desempenho, acessibilidade
§26 · §32 · §63
Existe
docs/legal/ · docs/release/ · docs/marketing/
Registo de terceiros, checklists de lançamento, assets da loja
§35 · §36
Existe
docs/
QUESTIONS.md (Q-001 a Q-036), ASSETS_TODO.md, dossie-v5.2-correcoes.md
§28 · §68
Existe
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ério
Estado
O dossiê é a fonte de verdade
Sim — gerado para docs/design/ e conferido pelo CI
As decisões da Fase 0 estão registadas
Em 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údo
Sim, com 550 propostas por aprovar
Existem a Asset Bible, o registo de assets, a bíblia de animação e a de nomes
Sim — o nome do jogo não
Existem todos os ficheiros do dia zero
As ondas 1 e 2, completas; as ondas 3 e 4 são os tickets F0
O CI está verde
Localmente, com a mesma sequência de passos; no GitHub, quando houver remoto
O projeto exporta
Sim — Linux
Uma personagem funciona dentro do jogo
Não — F0-10 e ART-01
A greybox funciona
Nã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
#
Onde
O que falhava
Correção
C-01
§47 · band.gd
Várias constantes numa só linha: erro de sintaxe, e o UnitData caía com ele
Uma constante por linha — corrigido na §47
C-02
§69 · .gdlintrc
Os 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.yml
O gdUnit4 6.x sai com o código 103 em --headless
--ignoreHeadlessMode — corrigido na §69
C-04
§69 · ci.yml
O export falha sempre sem os templates do motor
Um passo, com cache, que instala só os de Linux — corrigido na §69
C-05
§69 · .gitattributes
text forçado nos addons/ trata os PNG como texto e corrompe-os
!filter !diff !merge text=auto — corrigido na §69
C-06
CI
O checkout sem LFS deixa ponteiros no lugar das imagens do dia zero
Os placeholders ficam fora do LFS, em art/export/_placeholder/ — no repositório
C-07
Godot
O 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.2
Ficou
Q-019
O §30 escolhe a criatura ao acaso; a §51 manda escolher a mais cara que cabe
A §51 — o F1-08 corrige o código do §30
Q-020
A §42 semeava os fluxos com XOR de constantes que nem são hexadecimais (0xR0T7); o código logo abaixo usa hash
O código — a tabela da §42 foi corrigida
Q-021
O §47 mandava DAY_SECONDS para a EconomyCurve; a §69 criou o ClockData
ClockData (ADR 0006) — corrigido no §47
Q-022
Ids em português nos exemplos (enramados_arqueiro.tres) contra a regra do código em inglês
Inglês — a bíblia de nomes, §5
Q-023
O §22 diz uma camada por slot; o §58, um ficheiro por slot
Fonte com camadas, exportação por slot — Asset Bible, §2
Q-026
O relatório pedia um waves.csv
rot.csv — A Podridão substituiu as ondas (§70)
Q-027
A §49 lê rendimento por fase; o §06 dá números por dia
O CSV guarda por dia; o sistema divide pelas fases
Q-032
Os sete ficheiros acima
Aplicadas — ADR 0009
#
Em aberto, e bloqueia as Fases 0 e 1
Bloqueia
Q-001
Os arqueiros param o Aríete de lodo? O §07 diz que não, mas 96,6 s é menos do que uma noite de 105 s
F1-09 — o teste está saltado
Q-005
As tropas fogem a 30% ou a 25% de vida?
F1-12
Q-006
Quem atinge a faixa aérea?
F1-07 · F1-09
Q-017
Três Rastejantes na noite 1, como diz a §25, ou dez, como dá a massa do §05?
F1-15
Q-024
A camada Equipments dos teus ficheiros é o slothead?
ART-01
Q-025
Godot 4.6-stable, 4.6.3 ou 4.7?
Fase 0
Q-033
A curva abstrata do §06 contra os edifícios reais
F1-10
Q-035
Sinais do §30 que não estão no catálogo da §46
F0-07
Q-036
O I6 proíbe o load() num save e recomenda o ResourceLoader.load — que é a mesma função; um .tres pode trazer script e executá-lo
F0-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
#
Alavanca
O que é, mecanicamente
Serve?
Onde cai
1
O antagonista oferece, não ataca
A 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
2
O combustível são as vítimas
A 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
3
Ninguém tem nome, toda a gente tem função
Na 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
4
Um lugar, uma lei, uma canção
Cada 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
5
A morte é um emprego com horário
Pottsfield é 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
6
A luz é o assunto da imagem
Nick 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
7
A revelação do purgatório
Nos 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).
Luz
Raio
Faz recuar até massa
Aos mais fortes
Archote do rei
96 px
8 — Rastejantes
nada
Fogueira
96 px
8 — Rastejantes
abranda 25%
Farol
300 px
30 — Brutos
abranda 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 campo
Dia 5
Dia 10
Dia 20
Contra a v5.2, ao dia 20
v5.2 (referência)
190
320
580
—
Campo limpo — 0 Amargueiros
130
220
716
+24%
3 Amargueiros de pé
196
286
782
+35%
8 Amargueiros de pé
306
396
892
+54%
5 anónimos + 3 nomeados
375
465
961
+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.
Destino
Como
Custo
Rende
Efeito na noite
Cortar
Largar moedas na base, a partir da segunda alvorada. Vem um lenhador da serração (§06). 12 s de corte.
6 moedas
1 · 2 · 3 Lenho por escala · 5 se era nomeado
−22 (ou −45) de massa, a partir daí
Consagrar
Largar 1 Semente Real na base. Vira Marco de pedra. Pode fazer-se logo na primeira alvorada.
1 Semente Real
Marco permanente
−22 de massa, e a Podridão abranda 40% num raio de 120 px (a regra de terreno consagrado da §05)
Deixar
Nada.
0
0
+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.
Regra
O quê
Porquê
1 · O Lenho não é moeda
Nã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 era
Escala 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 slotface 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ção
O que acontece
Porquê
Uma moeda solta cai perto da mancha durante o combate
Nada. 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 s
A 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 frase
Preço
O que dá
Quando
Dívida
Dá-me o que já não anda.
As tropas abaixo de 40% de vida saem e não voltam
A mancha para 25 s
Dia 3+
+1
Nada. Só quero ver.
1 moeda
Revela a posição de um Capítulo escondido (§77)
Dia 3+
+1
Um por cada porta.
1 tropa por portão que tenhas
Os portões não podem ser arrombados esta noite
Dia 5+
+1
Deixa a porta aberta.
Os portões ficam abertos até à alvorada
−40% de massa
Dia 6+
+2
O que brilha, e nada mais.
Todo o ouro em tesouraria
A noite é saltada. A mancha não nasce.
Dia 4+, tesouraria > 80
+2
A árvore que plantaste.
Um Marco consagrado teu (§74)
+1 Semente Real
Com Marco
+2
Diz-me um nome.
Uma tropa nomeada sai e não volta (§76)
A mancha contorna o império esta noite
Com nomeados
+3
O que enterraste.
Abrir uma passagem que escoraste (a escora cai)
Massa a metade
Territó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, permanente
Com 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 dias
Com sucessor
+5
Devolve-me o que é meu.
Tudo o que tem nome
A Podridão não volta a nascer
Dívida ≥ 12
fecha
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ívida
O que muda no ecrã
O que muda no jogo
0–2
A candeia ilumina 1 faixa
Nada
3–5
A candeia ilumina 1 faixa e meia; a luz tem um halo
As ofertas passam a incluir as de preço 3
6–8
2 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–11
O 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 chamas
O 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.
Feito
Condição
Título
Ganha
Aguentou
5 noites vivo em posto de cerco
O Que Ficou
+1 vida máxima
Último na porta
Único sobrevivente de um portão atacado
A Que Ficou na Porta
Não foge (ignora a regra da §07)
Partiu o cerco
Golpe final num Aríete de lodo
O Que Partiu a Pedra
+2 dano contra siege
Contou
10 Rastejantes abatidos
O Contador
+10% cadência
Trouxe os outros
Arrastou 3 corpos para dentro antes da alvorada
O Que Trouxe os Outros
Arrasta ao dobro da velocidade
Falou com ela
Estava dentro da mancha e saiu vivo
A Que Falou com Ela
Vê o raio da candeia como zona segura: não entra em pânico
Não comeu
7 dias sem passar pela cozinha
O Seco
Metade do consumo de comida
Voltou
Ressuscitado no Santuário das Raízes (§16)
A Que Voltou
Imune a encantamento do Bardo inimigo
Não largou
Manteve a mesma arma 10 dias
O Da Mesma Lança
A 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 slotoverlay 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
Uma lei. Uma frase. Se precisar de duas, são dois capítulos ou não é nenhum.
Um habitante. Fala, cumpre a lei, e comporta-se como se ela fosse óbvia. Nunca a justifica.
Uma canção. Vinte a quarenta segundos, sem letra traduzível (§27, §81).
Um diário. Ou uma Semente Anciã, se o capítulo não carregar narrativa nesta partida.
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.
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
#
Ato
Onde
O que é, fisicamente
O que deixa perceber
1
I
Ruína · dentro das tuas muralhas
Uma lista de manutenção de nichos de estrada
Seis aldeias pagavam para o mesmo fundo
2
I
Fortaleza · Portuários
Um manifesto de porto com registo de casamentos
Havia comércio, língua comum, famílias misturadas
3
I
A Romaria Parada
A carta de fundação da procissão
Instituída para levar uma coisa a uma capela uma vez, e nunca mais
4
II
A Casa Que Conta
A primeira página do livro da Contadeira
Seis entregas para fora. Nenhuma de volta.
5
II
Fortaleza · Horta
Uma requisição de material de muralha
"Do costume", em quantidade que dá exatamente uma árvore
6
II
O Sulco Cego
Uma carta de quem foi ver
Os seis materiais cheiram todos ao mesmo
7
III
Fortaleza · Fornalha
Um bilhete pregado à porta do forno
O forno foi aceso "para a vigília". Ninguém o apagou porque a vigília não acabou.
8
III
O Mercado dos Ossos
As contas do Dono da Praça
Cinco pagavam ao sexto para fazer o trabalho sozinho. Depois deixaram de pagar.
9
III
Fortaleza · Sob-Raiz
Uma escala de turnos, na cidade soterrada
Datada do ano em que A Podridão começa, com a semana seguinte já preenchida
10
IV
A Ponte dos Que Voltaram
O registo de travessias do guarda
Desde o soterramento, ninguém veio do outro lado
11
IV
Fortaleza · Fenda
A ú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.
12
IV
O Cerco Que Não Acaba
O diário de um rei
Descreve 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ílogo
Condição
O que acontece
O que custa
União
Dí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ínio
Dí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 Turno
Tudo o resto
Nem 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:
#
Se
Então
1
debt >= 12
Domínio. A dívida manda sobre tudo o resto, mesmo com os seis povos soltos. Quem chegou aos doze já aceitou o lugar.
2
peoples_kept >= 4
Domínio.
3
debt <= 3epeoples_released >= 4
União.
4
tudo o resto
O 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 valoresTerra e madeira a tua família de 30Candeia 2 valores
Plano (§11)
Valores permitidos
Contorno
Regra
Distância · y 300–420
1
Nenhum
Uma massa chapada. Sem textura, sem gradiente, sem variação. #17130D.
Plano médio · y 420–517
2
Nenhum
#241F17 e #2E251A. É a faixa que falta, e desenha-se em duas horas se forem só dois valores.
Plano de jogo · y 517–720
toda a paleta
2 px
Inalterado (§22).
Primeiro plano · y ≈ 640–720
2
Nenhum
#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.
Fase
v5.2
Matiz · saturação · valor do tint
Amostra
Alvorada · 15 s
Âmbar rasante
38° · 0,44 · 0,91 — mantém-se
#E8B87A
Manhã · 85 s
Neutra
42° · 0,10 · 0,95
#F2EADA
Meio-dia · 40 s
Alta, dura
48° · 0,05 · 1,00
#FFFBEF
Tarde · 85 s
Dourada
36° · 0,41 · 0,91
#E9C68A
Crepúsculo · 30 s
Vermelha baixa
18° · 0,68 · 0,73
#B9663A
Noite · 105 s
Azul 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 slotface 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:
Regra
Como se mede
Falha se
Teto de valores por camada
Conta cores únicas no PNG exportado de cada camada de parallax
Distância > 1 · plano médio > 2 · primeiro plano > 2
Leitura a 1 bit
Limiar de luminância a 0,42 sobre o ecrã composto
Não se identifica a cena. Manual, uma vez por ecrã acabado.
Rampa de densidade (§01)
Cores distintas em janela de 16×16
Topo > 18 · base < 30. Mantém-se da §01.
Duas frias
Pí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.
Povo
Textura
Raiz
Como soa a Colheita (§78)
Enramados
Voz sozinha e adufe
Beira Baixa · pandeiro quadrado
Meio tom abaixo, e o adufe fora de sítio
Portuários
Duas vozes e cavaquinho, ritmo de vira
Minho · romaria
Depressa demais
Fenda
Uma nota longa de gaita-de-foles
Trás-os-Montes · gaita mirandesa
A nota não acaba nunca
Horta
Ponto, alto e coro, sem instrumentos
Alentejo · cante
Falta-lhes o ponto. Cantam só o coro.
Fornalha
Bombo, ferrinhos e martelo na bigorna
Ferrarias · percussão de trabalho
Certinho. Certinho demais.
Sob-Raiz
Viola campaniça desafinada e uma voz que não chega à nota
Baixo Alentejo
Nã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 que
Porque é bom lá
Porque é mau aqui
A revelação do purgatório
Cem minutos de investimento, cobrados uma vez, e recontextualizam tudo
Quarenta horas com permadeath e decay (§16). "Afinal nada aconteceu" apaga o jogo que o jogador acabou de jogar.
Os dois irmãos
Um contraste de temperamento carrega a série inteira
Empire 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ítio
Nã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 espinha
A série é uma viagem: a estrutura episódica é o enredo
A 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 moderno
O Wirt fala como um adolescente de 2014, e o atrito com o mundo é metade da piada
O 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 gente
Recompensa emocional depois de cem minutos de ameaça
Cinquenta 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ção
Código
Arte
Som
Escrita
Total
Fase (§33)
§80 · Preto na paleta, noite castanha
2
+2
—
—
4
Fase 0
§74 · Termo dos Amargueiros na massa
1
—
—
—
1
Fase 1
§74 · Amargueiro e candeia, completos
10
3
—
—
13
Fase 2
§75 · A Oferta e a Dívida
12
4
2
2
20
Fase 3
§76 · O Nome
7
2
1
1
11
Fase 4
§78 · A Colheita
8
3
—
—
11
Fase 5
§77 · Dez capítulos
30
50
20
6
106
Fase 5
§79 · Os doze diários e os três epílogos
3
—
—
10
13
Fase 6
§81 · Som, tudo o resto
6
—
38
—
44
Fase 6
§83 · Os primeiros vinte minutos
3
4
—
1
8
Fase 1
§84 · Os catorze testes de design
6
—
—
—
6
Fase 1
Total
88
68
61
20
237
—
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 pergunta
Proposta
Bloqueia
Q-038
A 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-039
A 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-040
A 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-041
Nove nomeados é teto fixo ou cresce com o império?
Fixo. Cresce e deixa de significar nada.
Fase 4
Q-042
C = 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-043
Seis capítulos por campanha de dez, ou os dez sempre?
Seis. Quatro por descobrir valem mais do que dez esgotados.
Fase 5
Q-044
O 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-045
A 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-046
O 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 garante
Falha quando
Secção
D-01
A massa em campo limpo ao dia 20 é 400
Alguém mexe nos coeficientes sem refazer a tabela da §74
§74
D-02
O Lenho Amargo não tem preço de venda, e o rendimento sobe com a escala
Alguém lhe dá valor em moedas — e a exploração do vagabundo volta
§74
D-03
Um Amargueiro não se corta antes de aguentar uma noite
A regra 2 da §74 se perde numa refatoração
§74
D-04
A penalização por recusa nunca passa de 40
O teto desaparece e um jogador principista fica com um jogo impossível
§75
D-05
Uma oferta por noite, mesmo com duas manchas a partir do dia 12
A voz vira um sistema de menus
§75
D-06
A Dívida nunca desce, em nenhum caminho de código
Aparece uma forma de a limpar, e o epílogo deixa de significar nada
§75 · §79
D-07
Nunca há mais de nove nomeados vivos
O teto cede e o nome deixa de valer
§76
D-08
Um título volta com ordinal depois de três dias de luto
O sistema se esgota às nove horas de jogo
§76
D-09
Todos os capítulos colocados têm caminho alternativo
Um capítulo passa a bloquear a rota e parte a regra 5
§77
D-10
Nenhum capítulo tem law_enters_walls
Aparece um, e a regra 6 da §77 passa a ter exceção (Q-039)
§77
D-11
Seis capítulos por campanha, e o Cerco é sempre um deles
O diário 12 fica inalcançável nalgumas sementes
§77
D-12
Os doze diários são alcançáveis em mil sementes seguidas
Uma combinação de capítulos deixa um ato sem fragmentos
§79
D-13
O epílogo é determinista e segue a precedência da §79
Dois estados iguais dão dois finais
§79
D-14
O save dos sistemas novos só contém tipos base
Algué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.gdextends 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) # nomeadofunc 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
Risco
Prob.
Impacto
Sinal de alarme
Mitigação
A §77 come o calendário — 106 h num só item
Alta
Grande
Mais de três capítulos por acabar no fim da Fase 5
Quatro é 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 dilema
Média
Grande
Telemetria: 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édia
Grande
Mais de 85% das respostas na mesma direção, ao longo de uma campanha
O 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 mancha
Média
Médio
Playtesters a serem apanhados de surpresa pela Podridão em campo aberto
O 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 bug
Baixa
Médio
Alguém pergunta "porque é que aquela árvore tem cara?" antes do minuto treze
O 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ístico
Média
Médio
Um habitante a explicar a tradição que representa
A 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.
Campo
Tipo base
O que é
debt_lantern
int
0–20. Nunca desce.
refusals_by_day
PackedInt32Array
Os últimos cinco dias. Janela deslizante.
amargueiro_x · _band · _tier · _day
4 × PackedFloat32Array / PackedInt32Array
Arrays paralelos, um índice por árvore. Sem objetos.
amargueiro_title
PackedStringArray
Vazio quando anónimo. É o que põe a cara certa na casca.
titles_holder · titles_ordinal · titles_mourning
3 × Dictionary de String → int
Quem tem, quantos já tiveram, até quando está de luto.
As 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.
Ficheiro
Linhas
O que guarda
Secção
data/source/rot.csv
1
A Podridão: fórmula da massa termo a termo, velocidade, candeia, raio de luz, limiares da Dívida
§74 · §75
data/source/amargueiros.csv
3
Os três destinos, custos, rendimentos e o efeito na massa
§74
data/source/offers.csv
12
As doze ofertas: frase, preço, efeito, condição, dívida
§75
data/source/titles.csv
9
Os nove feitos, os títulos e o que cada um dá
§76
data/source/chapters.csv
10
Os dez capítulos: lei, habitante, canção, diário, bioma
§77
data/source/journals.csv
12
Os doze diários: ato, origem, objeto físico, o que revela
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.
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
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.
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.
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.
Continuidade de campanha: herdeiro neutro e troca, roster, ritual, diplomata e perdas. Evitar multiplicar conteúdo antes de fechar os estados de transição.
Sociedades e escala: despertar, mercenários móveis, simulação distante, postos, rotas e Capital, com migração de mundos antigos.
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.
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.
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.
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.
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.
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.
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.
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:
O que posso fazer aqui? Construções disponíveis e capacidades relevantes.
O que falta? Recursos sem acesso, margem inadequada ou necessidade de acordo.
O que perco ao fundar? Vegetação e benefícios removidos pela clareira.
Qual é a fragilidade do local? Pouco espaço, transporte longo, exposição ou sazonalidade.
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.
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:
Serviço curto: menor compromisso total; menor duração e âmbito.
Serviço regular: melhor custo por período; reserva de efetivos mais longa.
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
A simulação decide; a interface apresenta. Pré-visualização, pagamento e produção consomem resultados do mesmo avaliador.
O mundo físico é a fonte de verdade. A etiqueta do bioma orienta a geração, mas não substitui fontes e acessos concretos.
Contratos são estado persistente. Não são apenas descontos temporários aplicados a recrutamento.
Cada evento económico é aplicado uma vez. Aceitação, cobrança, entrega, reembolso e libertação de efetivos têm identidade.
A primeira versão funciona em solo. Identidades e intenções preparam coop/PvP sem exigir rede para provar a mecânica.
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.
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:
Preservar posição da sede, unidades, stocks, floresta e reservas subterrâneas.
Não interpretar PENDING_CLIMATE_MODEL como um clima conhecido.
Não criar mar, jazidas ou árvores apenas para justificar uma instalação antiga.
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.
Aplicar requisitos novos às construções novas; documentar exceções de legado na inspeção técnica, sem confundir o jogador com IDs.
Não repetir a clareira inicial nem oferecer madeira retroativa.
Preservar acampamentos esgotados e sociedades já existentes nos saves antigos.
Não converter automaticamente recrutados antigos em contratos com dívida.
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.
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.
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.
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.