Echo Weaver: como 3 devs usaram Unity 6 para resetar um mundo em loop
Moonlight Kids e Akupara Games lançaram o metroidbrainia em 8 de outubro de 2026. A equipe detalha chunk streaming, reset por cena e otimização 2D que servem de referência para indies.

Echo Weaver, metroidbrainia com time-loop da Moonlight Kids e da Akupara Games, chegou em 8 de outubro de 2026 a PC e consoles. Em entrevista publicada no Unity Blog, o estúdio de três pessoas explicou como construiu em Unity 6 um mundo interconectado sem telas de carregamento, que reinicia a cada loop mas preserva parte do progresso do jogador.
Para quem desenvolve, o valor está menos no lançamento e mais nas decisões práticas: separar o que é volátil do que é permanente, tratar persistência como regra de design e usar ferramentas de profiling cedo.
O problema: loop sem save, mas com persistência
A Moonlight Kids tinha enfrentado erros de save state no jogo anterior, The Wild at Heart. A premissa de time-loop parecia uma saída: se tudo reinicia, não haveria o que salvar. Na prática, a equipe concluiu que ainda precisava registrar quase tudo. Como o mundo carrega e descarrega chunks conforme o jogador anda, o jogo precisa lembrar, dentro de um loop, se uma parede de atalho foi quebrada ou se um NPC já foi consultado. A diferença é que, se algo dá errado, o jogador pode simplesmente reiniciar o loop.
Arquitetura de reset
O programador Ankit Trivedi dividiu o mundo em chunks, cada um com um script próprio, e criou um processo de build customizado que remove conteúdo pesado antecipadamente. A estrutura funciona assim:
- Geometria do mundo e marcadores de transição ficam em cenas e permanecem sempre carregados.
- Uma cena leve de essenciais guarda o estado volátil: game manager, jogador e dados da run.
- No reset, os chunks ativos são descarregados, a cena de essenciais é descartada e recarregada, e só voltam os chunks necessários para o início do loop.
- O estado da run fica em um dicionário em memória com chaves de texto, que é limpo no reset.
- Dados que sobrevivem entre loops, como contagem de loops, habilidades vistas e personagens com quem se falou, são serializados em disco.
Cada objeto consulta a própria chave quando seu chunk entra em streaming, normalmente lendo um bool ou um int.
Houve problemas. Portas de transição persistentes não reiniciavam o estado de interface, então deixaram de ser persistidas: o componente interativo de cada porta é clonado a cada reset, algo que, segundo o programador, não pesa com cerca de 20 objetos. Itens carregáveis, como chaves, sumiam do inventário ou duplicavam por causa da posse por chunk, e foram movidos para a camada de cena persistente.
Conheça jogos publicados na Rplay Games
Jogue grátis online, sem baixar.
🎮 WEB
Motoboy Game — Jogo de Moto e Entrega Online 3D
Jogo de moto online grátis em que você trabalha como motoboy pelas ruas de uma cidade brasileira. Pegue pedidos, faça entregas rápidas, desvie do trânsito e tente su…
🎮 WEB
Pac Horror FPS
PAC Horror FPS é um FPS de terror retrô inspirado na era PS1. Explore cenários sombrios, colete fragmentos e sobreviva às assombrações enquanto tenta completar cada …
Design por conhecimento, não por habilidade
O mundo é aberto desde o primeiro minuto e não há bloqueio por habilidades. A progressão depende do que o jogador aprende. A regra de persistência é narrativa: a personagem Weaver mantém suas memórias entre loops, então o que ela viu pode ser mostrado ao jogador. Isso orienta a tela de progresso e a apresentação das fases. Quando uma área oculta é descoberta, a arte de primeiro plano some. Nos testes, jogadores esqueciam atalhos encontrados, e a equipe tornou esse efeito permanente nas áreas mais revisitadas.
Level design sem atalhos permanentes
Como a parede quebrada volta a existir após o reset, o designer Chris Sumsky trabalhou em duas escalas. Dentro de um loop, que pode durar vários minutos conforme o tempo coletado, vale o repertório clássico de metroidvania, já que tudo se resolve no mesmo loop. Para atalhos maiores, a solução é ocultação: uma passagem escondida atrás de arte de primeiro plano numa ponta e visível na outra.
O relógio também mudou. O contador por segundo gerava estresse nos testes e foi trocado por blocos de um minuto, chamados de "bells" no jogo. Cada loop começa com 1 minuto, e cristais de tempo podem estender o relógio ou ser sacrificados para cura.
Vídeo oficial/relacionado do YouTube incorporado sem download pela Rplay News.
Otimização 2D de arte desenhada à mão
A arte sem padrões repetidos dificulta o batching. As medidas relatadas foram:
- Compressão de atlas: estavam sem compressão, e ativá-la levou a memória a cerca de 1 GB.
- Carregamento: elementos decorativos são removidos dos chunks no build e reinstanciados de forma assíncrona, poucos objetos por frame, com um sistema de vizinhos que mantém chunks adjacentes carregados para esconder pop-in.
- Batching: uma ferramenta própria achata grupos de sprites em uma imagem e um draw call. O céu de um bioma foi reduzido a dois sprites compostos e alguns detalhes únicos.
- Iluminação: de seis camadas de luz para três, depois de chegar a 16 texturas de luz renderizadas ao mesmo tempo.
- Água: o Game2D Water Kit, no Universal Render Pipeline, renderiza a câmera novamente por corpo d'água. As camadas submersas foram consolidadas, e a equipe de portabilidade da Akupara separou o efeito de perspectiva da refração para hardware mais fraco.
- Diagnóstico: o Frame Debugger foi central para ver onde o batching quebrava.
De Unity 2021 LTS para Unity 6
The Wild at Heart saiu em Unity 2021, e Echo Weaver usa Unity 6, fixado em uma versão pouco antes do lançamento. Chris destacou Nested Prefabs e edit mode como as mudanças mais impactantes. Ankit citou o uso de Composite Collider 2D e do object pool nativo, que permitiu abandonar o pool próprio. Ferramentas internas do jogo anterior foram reaproveitadas: sistema de diálogo, camada de interface com FMOD, código de controle e ícones dinâmicos de input, e screen shake.
Lições para times pequenos
Ankit defende arquitetar para performance cedo: o streaming de chunks foi implementado no início, partículas usam pool desde o começo e há cuidado com a pressão de garbage collection em C#. Chris recomenda planejar mais cedo as peças de um jogo guiado por conhecimento, já que muitas só foram fechadas quando o conjunto ficou pronto, e apostar na identidade do estúdio em vez de reagir ao mercado.
O que a fonte não informa
A entrevista não traz benchmarks de FPS ou memória por plataforma, o tamanho do mapa, o número de chunks simultâneos, o cronograma completo de desenvolvimento nem uma comparação direta entre streaming e telas de carregamento. Detalhes de código do sistema de streaming também não foram divulgados. Os números citados, como o 1 GB após compressão, vêm do relato da equipe.
O jogo está disponível em Steam, PlayStation 5, Nintendo Switch 2, Nintendo Switch e Xbox Series X|S. Para quem quer ver ideias parecidas em prática, vale explorar na Rplay Games os jogos e conteúdos de desenvolvimento com Unity.