Construir a Agoro Road em público

O diário de trabalho de um jogo que não está terminado. O que decidimos, quanto custou e o que saiu mal — incluindo aquilo de que já nos tínhamos convencido que estava bem.

Atualizado a 20 de setembro de 2026 Mais recente primeiro Em desenvolvimento
O padrão que esta página se impõe

Tudo o que aqui está era verdade na data indicada acima. As imagens de conceito são identificadas como imagens de conceito e as capturas de ecrã como capturas de ecrã, porque neste projeto a diferença entre as duas foi o problema todo. Quando uma decisão revogou outra anterior, a anterior permanece na página.

Onde está a estrada

A versão curta, guardada num só lugar e atualizada com o diário. Cada outra página e cada publicação que escrevemos parte desta lista.

Estado a 21 de setembro de 2026Cada superfície, com o seu estado
Jogar grátis no navegadorDisponívelA região completa de Hearthland, em cooperativo por código privado, sem conta.
Reservas · edições Wave 1AbertoGrátis, só um e-mail, nada é cobrado. Digital €12.99 · Apoiante €19.99 · Colecionador €99 / €149 (500 lugares) · Fundador €250 (20 lugares).
iOS · App StoreEm preparaçãoO identificador da app está registado na Apple. A ficha da loja e a primeira versão estão agora a ser preparadas; a data é anunciada aqui quando a versão for submetida.
Android · Google PlayEm preparaçãoA mesma versão. Ainda não existe ficha no Play; segue a ficha do iOS.
A estrada em 3D (web e computador)Em preparaçãoAguenta 60 imagens por segundo. Onze dos seus objetos ainda são provisórios, por isso ainda não está ligada para os jogadores.
Figuras, impressas aquiEm preparaçãoPrimeiros viajantes impressos a 14 de setembro na impressora do próprio estúdio. Uma figura de 10 cm leva duas a três horas a imprimir.
RevenueCat Shipaton 2026Em preparaçãoConstruímos em público para ele e este diário é o ponto de encontro dessas publicações. As candidaturas fecham a 30 de setembro.
Tripothon S1InscritoInscritos a 14 de setembro. As candidaturas decorrem de 15 de setembro a 5 de outubro; a nossa é a estrada em 3D.
IndiegogoEm preparaçãoEstá a ser preparada uma página de campanha. O Indiegogo não inicia uma campanha antes de sete dias após a sua revisão, por isso a data é anunciada aqui primeiro.

A Epic diz que é preciso um PC. Corremos o editor deles num MacBook — e depois embatemos em três muros que nada tinham a ver com o Mac.

O Unreal Editor for Fortnite só funciona em Windows. A documentação é categórica: para usar o UEFN, vai precisar de um PC. Aqui não temos nenhum. Por isso o Windows foi para uma máquina virtual no portátil, o editor abriu, o Verse compilou, e os nossos viajantes, o carro, uma árvore e um posto de vigia ergueram-se numa ilha de Fortnite que depois jogámos num tablet.

Essa parte funcionou. As três coisas que aprendemos a seguir são a parte útil, e nenhuma delas é sobre hardware.

Não se pode ser a própria personagem. O jogador, no Fortnite, é um avatar Fortnite. O sistema de humanos realistas é permitido no editor, mas a licença só o admite para personagens com quem nos cruzamos, nunca aquela que jogamos. Um jogo cujo tema inteiro é o viajante que somos não pode pôr ali esse viajante nas mãos do jogador.

O jogo não corre onde o editor corre. O Fortnite exige uma funcionalidade de segurança que a máquina virtual não consegue fornecer, por isso a edição acontece no Mac e os testes de jogo num tablet, através de um código. Esse ciclo funciona, e é mais lento do que parece.

E o mundo fotografado não conseguiu entrar. Tínhamos reconstruído o nosso acampamento de descanso a partir de oito vistas geradas — enquanto nuvem de pontos é realmente bom, o melhor olhar que temos sobre este lugar. Convertido para o tipo de superfície que um motor de jogo quer, é confete: mais de um milhão de fragmentos que não se simplificam. Cortá-lo em mais de noventa e nove por cento removeu um terço deles. É uma imagem dentro da qual se pode estar, não uma geometria sobre a qual se possa construir.

O que mudou — passámos a perguntar se uma plataforma consegue alojar aquilo que é nosso antes de gastar um dia a ajustar o que é nosso à plataforma. Cada um destes três muros estava publicado, ou era mensurável, antes de começarmos. O desvio não foi desperdiçado — saímos dele com uma via Windows a funcionar e um trajeto reutilizável para os nossos próprios modelos — mas a pergunta que teria encontrado os muros custa uma tarde de leitura, e fizemo-la pela ordem errada.

A vista 3D aguenta sessenta imagens por segundo. Continua a não ser algo que se possa ver.

O segundo motor de renderização está pronto. O mesmo jogo por baixo, duas maneiras de o desenhar: a vista plana original e uma vista 3D em tempo real, partilhando uma simulação em que nenhuma das duas pode tocar. Ambas reproduzem uma partida gravada idêntica até um resultado idêntico — a prova de que a vista 3D é uma vista e não um segundo jogo subtilmente diferente.

Na instalação de testes desenha um fotograma em cerca de 16,7 milissegundos, e o mais lento de uma série longa demorou 16,8. São sessenta imagens por segundo travadas, com quarenta viajantes a andar e cerca de setecentos mil triângulos no ecrã. Dezassete de dezassete verificações passam.

E mesmo assim não é publicável, porque onze dos objetos que lá estão são provisórios — os descritos na entrada abaixo, gerados a partir de descrições escritas em vez de a partir das imagens de conceito. O motor de renderização está feito. Aquilo que ele desenha não está.

O que mudou — «o motor de renderização está pronto» e «o jogo tem bom aspeto» revelaram-se independentes, e nós vínhamos a tratar em silêncio o primeiro como prova do segundo. Um número de desempenho não consegue ver direção artística. Passámos a reportá-los como dois estados separados, porque uma compilação a verde que desenha os objetos errados a sessenta imagens por segundo continua a ser os objetos errados.

E — o trabalho de assets passou de uma pessoa a clicar numa ferramenta web para algo que a própria compilação consegue executar. Isso elimina toda uma classe de erro que vínhamos a cometer: nessa ferramenta as definições reiniciavam-se em silêncio entre passos — privacidade, nível de detalhe, que animações são exportadas — e três sessões distintas perderam trabalho por causa disso. O substituto não é mais inteligente, apenas não consegue esquecer-se de uma caixa por marcar.

A definição óbvia não fez nada. Por isso medimos onde os suportes tocam de facto.

As duas impressões de ontem (abaixo) falharam numa única grandeza: material deixado sobre a figura. As nossas verificações de fatiamento tinham aprovado ambos os ficheiros, porque nenhuma media isso. Assim, a primeira coisa construída esta manhã foi o instrumento em falta: um script que lê o percurso final da ferramenta e indica quantos milímetros quadrados de pontas de suporte tocam o modelo, em quantos pontos, e se algum tronco de suporte cresce a partir da própria figura.

Depois a definição a que toda a gente recorre. «Suportes apenas na base de construção» soa à solução para os resíduos. No ficheiro do Daniel passou de 191 mm² em 1083 pontos para 184 mm² em 1040 — porque cada um dos sete troncos já assentava na base. Os resíduos nunca foram os troncos. Eram as pontas por baixo do saco, das mãos e do queixo, e os ramos a roçar as paredes na subida.

O que mexeu mesmo: árvores mais finas de parede única, um maior afastamento às paredes, um espaço mais alto por baixo do modelo e um limiar mais inclinado. Daniel 191 → 127 mm² (com as solas cortadas a direito para que nada fique por baixo dos pés). Amara 178 → 45 mm², sem escoras, sem postes e sem bloco — os dois caracóis que ainda começavam no ar receberam uma ponte escondida de 1 mm para dentro da massa do cabelo, com dois milímetros de comprimento, que nunca tem de ser retirada. Foram fatiadas e medidas doze pequenas inclinações de cada figura; todas ficaram piores do que em pé. A altura de camada também se revelou uma alavanca: a 0,14 mm em vez de 0,2 mm as pontas na Amara descem para 8,5 mm², a troco de mais 27 minutos de impressão — fatiado e medido, ainda não impresso.

A figura impressa da Amara de 80 mm vista de trás: PLA roxo, seis cotos curtos de poste na nuca por baixo do cabelo, resíduo áspero de suporte entre as pernas sob a bainha do vestido
Aquilo que o instrumento foi construído para medir. Fotografia da primeira impressão da Amara: os postes na nuca e o resíduo do bloco sob a bainha.
A figura impressa do Daniel de 97 mm deitada sobre uma mesa de madeira: PLA roxo coberto de fios finos, com zonas ásperas no saco de ombro e ao longo do bordão
No mesmo dia, o Daniel a 97 mm. Fotografia. Fios finos sobre o tronco, cicatrizes das árvores no saco e ao longo do bordão.

O que mudou — uma impressão é julgada pelo resíduo sobre a figura, medido a partir do percurso da ferramenta, e não pela proporção de suporte no ficheiro. E «arranjar maneira» significa outra abordagem em cima da mesa ao lado da que foi afinada: o plano de hoje são ambas as figuras a 120 mm sobre uma placa de base (fatiadas: 5 h 07 e 6 h 17), uma via de suportes que faz crescer os seus próprios pilares finos a partir da base com pontas de alfinete em vez das camadas de interface do fatiador, duas rondas de pesquisa sobre como outros impressores de figuras lidam com suportes e alturas de camada, e a primeira impressão da Amara refeita.

Imprimimos os dois primeiros viajantes na nossa própria impressora. Ganharam os suportes.

Saíram duas figuras da impressora de secretária pela primeira vez: a Amara Sol a 80 mm e o Daniel a 97 mm, no único filamento roxo que temos carregado. Cada uma levava uma resposta diferente à mesma pergunta — como segurar mãos, um pote, uma bainha e caracóis de cabelo enquanto imprimem.

A Amara levou a nossa própria resposta: escoras finas e pinos fundidos no modelo, cortados depois, mais um bloco maciço sob a bainha. O Daniel levou os suportes em árvore do fatiador. Ambas as respostas estavam erradas a este tamanho. Os pinos por trás do cabelo da Amara e por baixo dos brincos não se alcançam com alicate a 80 mm. O bloco sob a bainha deixou entulho entre as pernas dela. O Daniel saiu da base coberto de fios finos, com cicatrizes onde as árvores tinham segurado o saco e o bordão.

À volta da impressão, as peças que permitem às pessoas assistir entraram em linha no mesmo dia: uma vista de navegador que reproduz o percurso da ferramenta à medida que a impressora reporta o progresso, uma mensagem a cada cinco por cento para o servidor da comunidade, e um guia «acordar a impressora» para a transmissão. Nada disso muda o aspeto das impressões; muda quem as pode ver.

A figura impressa da Amara de 80 mm deitada de lado sobre uma mesa de madeira, PLA roxo, com finas varetas de suporte ainda presas do vestido às mãos e ao pote
Amara a 80 mm, primeira impressão. Fotografia. As varetas do vestido até às mãos foram ideia nossa — e não se soltam de forma limpa a esta escala.

O que mudou — escoras e pinos fundidos numa figura com menos de 100 mm ficam retirados; o que sustenta a impressão tem de assentar na base e tocar a figura o menos possível. E cada verificação que dizia que estes ficheiros estavam prontos passa a estar emparelhada com outra que mede aquilo que as verificações tinham falhado.

Pusemos a captura do próprio motor de renderização ao lado da imagem de conceito. Ninguém o tinha feito.

A vista 3D tinha passado tudo o que lhe pedimos. As mesmas entradas reproduzem o mesmo fotograma ao longo de seiscentos fotogramas, os tempos por fotograma estão bem num telemóvel, as catorze malhas terminadas erguem-se nos anéis certos. Tudo isso é verdade e tudo isso foi verificado.

O que ninguém tinha feito era pôr uma captura ao lado da imagem com que é suposto parecer-se. Quando finalmente o fizemos, a distância não era pequena. O chão é um único plano verde plano, sem horizonte. A estrada é uma fita bege. Os anéis de pedra esculpida — o elemento principal de cada imagem deste jogo — são discos pálidos translúcidos a trinta por cento de opacidade.

Nada disso é um defeito. Cada uma dessas coisas é algo que nunca foi construído, e que passava num teste que não olhava.

A vista 3D da Agoro Road a 13 de setembro de 2026: um plano de chão verde e plano, uma fita de estrada bege, discos pálidos translúcidos para os anéis, e as malhas terminadas erguidas ao longo da estrada
A compilação, 13 de setembro. Uma captura do motor de renderização real, na câmara fixa do jogo.
A imagem de conceito: Lantern Bend ao anoitecer, uma estrada de terra sinuosa por um vale alto com anéis esculpidos, um posto de vigia, um poste de lanterna e um canteiro de jardim
A imagem de conceito com que é comparada. Lantern Bend ao anoitecer.

O que mudou — o aspeto passou a fazer parte da aceitação. Uma captura é colocada ao lado da imagem de conceito e julgada como se julga um asset artístico. Um conjunto de testes que não inclua o aspeto certificará alegremente uma compilação que não tem bom aspeto.

Onze adereços saíram errados. Vamos refazer os onze, não os seis que falharam.

Os edifícios e adereços foram gerados a partir de descrições escritas. As imagens de conceito da maioria já existiam, na mesma pasta, e não foram usadas.

O tambor voltou como um caldeirão de ferro fundido preto. A lanterna voltou como um candeeiro de rua vitoriano. O carro de mercadorias voltou como um carrinho de mão de madeira. Julgados um a um contra as cartas que deviam igualar: quatro eram o objeto errado ou a paleta errada, dois não tinham carta com que ser comparados, e cinco estavam suficientemente próximos para passar à escala do mapa.

A tentação era refazer os quatro e ficar com os cinco. O Daniel decidiu ao contrário.

precisamos de um aspeto coerente entre as imagens de conceito e os adereços e as imagens e os trailersDaniel, 13 de setembro de 2026

Por isso os onze estão a ser feitos de novo a partir das imagens, e não de descrições das imagens. Os cinco que eram aceitáveis isoladamente não o eram como parte de um conjunto, porque um conjunto é aquilo que estamos realmente a fazer.

Correção, 20 de setembro. Dois dos três exemplos acima estão certos e um não está. Quando finalmente renderizámos o tambor entregue e olhámos para ele, é mesmo um tambor — um tambor de pé sobre um suporte, o objeto correto. O que está errado é o material: laranja lacado, onde a carta mostra pele, corda e madeira envelhecida. A expressão «caldeirão de ferro fundido» veio de uma nota escrita que ninguém confrontou com o modelo, e depois viajou por três dos nossos próprios documentos como se fosse uma observação. O erro que ela descreve é real; o exemplo estava errado. Deixamos a frase original acima em vez de a editar em silêncio, porque a falha que causou — afirmar sobre uma imagem sem abrir a imagem — é exatamente a falha de que esta entrada trata, e cometemo-la enquanto a escrevíamos.

A carta de conceito do Tambor do Eco: um grande tambor de pé com pele e tensionamento de corda sobre um suporte de madeira esculpida, dois baquetas pousadas no bordo
O Tambor do Eco tal como foi desenhado. Esta carta existia antes de o modelo ser feito. O modelo voltou como um caldeirão de ferro fundido.

O que mudou — «aceitável isoladamente» não é aprovação quando o trabalho é uma só direção artística. E fazemos o inventário das imagens de conceito antes de gerar seja o que for, porque a imagem é um melhor caderno de encargos do que qualquer descrição da imagem.

Fizemos uma prova comparativa que inverteu a nossa própria recomendação.

No início da semana tínhamos recomendado um dos fornecedores de imagem por IA que usamos para fazer pranchas de referência. Essa recomendação trazia uma ressalva escrita por quem a fez, e a ressalva era a parte honesta: nunca nada tinha sido comparado com a alternativa. Dizia que este fornecedor é suficientemente bom no nosso material. Não dizia que este fornecedor ganha.

Por isso fechámos a lacuna: os mesmos trabalhos por dois fornecedores, sete configurações, três passagens cada — vinte e uma imagens por cerca de quarenta e sete créditos, mais ou menos o que custa fazer um único asset 3D errado.

Ganhou o outro fornecedor, e o trabalho de pranchas mudou. Estávamos prestes a normalizar a recomendação sem alguma vez a termos testado.

O que mudou — uma recomendação que nunca foi medida contra uma alternativa é uma preferência. Se não conseguimos nomear o que ela venceu, ainda não está decidida.

Três viajantes que saíram bem, e porquê.

Estes três seguiram um caminho diferente dos onze. A carta de conceito foi transformada numa prancha limpa de pé, e a prancha — não uma descrição — foi transformada no modelo. Com esqueleto, com repouso e marcha.

A mesma pessoa sobrevive às três etapas. O cachecol, a bolsa e o lenço de cabeça continuam lá no fim. O fardo atado com corda às costas do carregador saiu como geometria real e não como uma sugestão pintada.

É esse o argumento inteiro para guiar esta cadeia a partir da imagem em vez do texto, e é por isso que os onze estão a ser refeitos.

Carta de conceito do caminhante da estrada: um viajante de capa com capuz sobre uma túnica índigo, com uma bolsa e um bordão
1 · A carta de conceito. Um desenho.
O asset de jogo terminado do caminhante da estrada: a mesma personagem como modelo 3D com esqueleto
2 · O asset de jogo terminado. O mesmo homem — o cabelo grisalho, a capa de lã crua, a túnica índigo, a bolsa e o bordão passaram todos. Só a pose mudou.

O nosso companheiro é uma ave, e a biblioteca de animações afinal não tinha nenhuma.

O Kofa é a ave sankofa. Foi construído para Agoro Camp e pertence ao estúdio mais do que a um só jogo — a mesma ave, o mesmo aspeto, capacidades diferentes em cada um — pelo que trazê-lo para esta estrada não nos custa nada de desenho. O ciclo dele é recuperar, revelar, explorar, e explorar só se desbloqueia em terreno cujo passado já tenha sido recuperado. O futuro não é visível enquanto o passado não for conhecido. Essa regra é a personagem, não um texto de ambiente.

O ovo de ouro que ele transporta é o indicador disso: vazio significa que o passado deste lugar continua perdido. Isso funciona porque o ovo saiu da malha como um objeto genuinamente separado, pelo que o jogo o pode realmente iluminar em vez de apenas o sugerir.

A malha está terminada — texturizada, com um esqueleto de cinquenta e seis ossos. Depois abrimos a biblioteca de animações de onde contávamos tirar os ciclos de voo e descobrimos que classifica uma ave bípede como aviária, e que a sua secção aviária está vazia. Não escassa. Vazia.

Por isso todas as sequências que ele tiver serão animadas à mão. É um custo real e está agora no plano em vez de numa surpresa.

Atualização, 13 de setembro. Quando o fomos pôr em pose, desfez-se. Ao esqueleto não faltavam apenas as animações — estava no sítio errado. Medimos cada osso contra a carne que ele realmente comanda: os ossos estavam, em média, a quase um comprimento de corpo de distância, e o osso do bico estava mais longe do bico do que a altura da ave. Duas personagens humanas com esqueleto feito pela mesma ferramenta mediam vinte e cinco vezes melhor, e foi assim que soubemos que o problema era o esqueleto e não a nossa régua.

Os pesos — que vértice segue que osso — estavam bem. Guardámo-los, portanto, e trouxemos cada osso de volta para dentro do seu próprio corpo, deduzindo cada articulação da região onde dois ossos partilham influência. Isso pô-lo de pé. A imagem abaixo é a primeira que alguma vez existiu desta personagem.

Depois a segunda falha: pedaços do ovo de ouro estavam presos a um dedo do pé, com um quarto do peso cada um, do outro lado do corpo. Em repouso isso é invisível, porque em repouso todos os ossos concordam. Assim que a cabeça girou, o ovo rasgou-se em estilhaços. Ambas as falhas se escondiam na única pose para que alguém olha.

Kofa de pé: uma ave alta azul e dourada com padrão adinkra pelo pescoço e pelo corpo, um pescoço longo e curvo, e um ovo de ouro preso no bico
1 · De pé, pela primeira vez. A mesma malha que tinha estado inutilizável a semana toda. Nada foi reesculpido — apenas o esqueleto foi reposto onde devia estar.
Kofa a executar o olhar para trás sankofa: o pescoço arqueia para cima e para trás por cima da espinha, a cabeça invertida, o ovo de ouro levado com ela
2 · O movimento para o qual ele existe. O pescoço arqueia para trás por cima da espinha, a cabeça inverte-se, o ovo vai com ela. Volta atrás e vai buscá-lo.

Tem agora três sequências animadas à mão — uma marcha, um repouso e o olhar para trás acima. Vivem no ficheiro da personagem; ele ainda não está na versão jogável.

O que mudou — passámos a verificar se uma ferramenta consegue fazer a coisa específica antes de um asset depender dela. «Tem uma biblioteca de animações» e «tem uma biblioteca de animações para isto» são frases diferentes.

E — o nosso primeiro olhar para trás passou em todas as verificações que tínhamos escrito e continuava inutilizável: o pescoço dava um nó e a cabeça acabava enterrada numa asa. As verificações mediam se o bico alcançava o alvo e se alguma coisa se intersectava. Nenhuma das duas conseguia ver uma silhueta, que é justamente o sentido daquela pose. Passámos a testar se o contorno se cruza consigo próprio, e cada aresta da malha contra o seu comprimento original — e olhamos para a imagem. Uma verificação que não consegue observar a forma como algo falha há de certificá-lo como correto.

O que os jogadores já mudaram

Dois destes casos vêm dos nossos jogos já lançados e não da Agoro Road — mas mudaram a forma como este é construído, por isso é aqui que pertencem.

A loja que não queria vender nada

«Wieso kann ich die nicht kaufen?»

Um testador na Alemanha enviou uma linha sobre o Agoro Bounce: porque é que não consigo comprar isto? A loja mostrava brevemente em tudo.

A loja não estava avariada. O link público de teste continuava a entregar a primeiríssima versão — feita antes de a loja existir. Todas as versões mais recentes tinham ido apenas para o grupo privado. Ele tinha razão, e estava a ver algo com dez versões de atraso.

O que mudou

Deixámos de assumir que o link público serve aquilo que carregámos por último. Tem a sua própria versão e tem de ser apontado deliberadamente à nova. Passámos a abrir o link que um testador recebe de facto.

O campo de nome que comia a letra S

Escreva «Sam». Receba «am».

O Daniel deu com isto no site em produção do Agoro Bounce. Os atalhos de teclado do jogo continuavam à escuta enquanto o campo de nome tinha o foco, e s era um atalho — por isso a letra foi para o jogo em vez de entrar no campo.

Corrigimos nessa manhã. Onze horas depois ele reportou que continuava avariado, e estava. A correção estava no código e não no site: uma publicação posterior tinha saído de uma cópia mais antiga do projeto e repusera em silêncio a versão antiga.

O que mudou

Corrigido não é publicado. Carregamos a página real e confirmamos que a correção está naquilo que o servidor serve de facto, antes de alguém dizer que está feito.

Sobre este diário

A Agoro Road está em desenvolvimento e é gratuita para jogar no navegador enquanto é feita. Este diário faz parte da forma como construímos em público durante o Shipaton 2026; as nossas aplicações lançadas são Agoro Pocket, Agoro Bounce e Lanternlight, e cada uma tem a sua própria entrada. Nada nesta página é um anúncio de lançamento.

Ver o resto do que fazemos →