Echo Weaver: Construyendo una metroidbrainia de bucle de tiempo en Unity 6

Oct 8, 2026|8 minutos
Fergus Baird
Fergus Baird - Unity Technologies
Senior Content Marketing Manager
Made with UnityGame design
Arte clave de Echo Weaver de Moonlight Kids y Akupara Games, Made with Unity. Una imagen de dibujos animados empapada en neón de una figura de ojos blancos y cabello blanco desde los hombros hacia arriba. Están flanqueados por varios personajes, entre ellos (en el sentido de las agujas del reloj) un gato con una pizza, una persona de pelo azul, un hombre lagarto, un insecto esquelético, una anciana con pelo gris y gafas, una figura enmascarada y un alienígena con el cerebro expuesto.

Para tu comodidad, tradujimos esta página mediante traducción automática. No podemos garantizar la precisión ni la confiabilidad del contenido traducido. Si tienes alguna duda sobre la precisión del contenido traducido, consulta la versión oficial en inglés de la página web.

Echo Weaver, el esperado metroidbrainia de Moonlight Kids y Akupara Games, se lanza hoy en PC y consolas. Entrevistamos al diseñador de juegos Chris Sumsky y al programador Ankit Trivedi para hablar sobre el diseño basado en conocimiento, la arquitectura de reinicio de bucle y las lecciones que darían a otros equipos pequeños que hacen juegos con Unity.

Cuando el estudio independiente de tres personas Moonlight Kids comenzó a trabajar en Echo Weaver, pensaron que habían encontrado una laguna en uno de los sistemas más notorios del desarrollo de videojuegos: el estado de guardado.

"Si alguien pierde su partida guardada, te conviertes en su enemigo número uno", dice Chris. El equipo había tenido problemas con errores de guardado en su debut, el coleccionista de criaturas The Wild at Heart, por lo que la premisa de bucle temporal para Echo Weaver parecía un sueño hecho realidad: Estábamos como, ¡no hay salvación! ¡Viaje en el tiempo! ¡Todo se reinicia!

Por supuesto, las cosas en el desarrollo de juegos rara vez son tan sencillas. Echo Weaver transmite su mundo interconectado sin pantallas de carga, lo que significa que el juego debe cargar y descargar constantemente trozos del mapa a medida que el jugador navega por el mundo. Esto crea situaciones como: ¿Rompió el jugador la pared del atajo en este bucle? ¿Hablaron con ese PNJ? El mundo de Echo Weaver tiene que mantener cierto nivel de persistencia, al menos hasta que el jugador se quede sin tiempo y el bucle se reinicie. "Así que resultó que simplemente teníamos que salvar todo de todos modos", dice Chris. "Pero es menos perjudicial cuando algo sale mal, porque el jugador siempre puede reiniciar el ciclo."

Echo Weaver

Un juego de detective de parkour espacial

En Echo Weaver, no hay puertas de habilidad. El mundo está completamente abierto desde el primer minuto de juego, pero depende del jugador descubrir cómo explorarlo por completo. "Nuestro argumento interno fue 'detective de parkour espacial'", dice Ankit.

"Imagina que tuvieras que hacer un juego donde nada persistiera", dice Chris. Cada sentido de progresión que el jugador necesita sentir ya está ahí, solo está enterrado bajo capas de secretos. Esta es la gran y extraña cosa que estamos haciendo con Echo Weaver. Es lo más genial para mí y el mayor desafío, porque alguien puede encontrar cualquier habilidad en cualquier momento.

Durante las fases tempranas del desarrollo, el equipo posicionó el proyecto como una reacción deliberada a The Wild at Heart. En ese momento, no se había vendido bien, afortunadamente esto cambió más tarde, y por lo tanto estábamos tratando de hacer todo en oposición a ese proyecto. "Pensamos que haríamos algo un poco más oscuro, un poco más duro", dice Chris. "Por supuesto, esto significaba que íbamos en contra de lo que sabíamos hacer bien, ¡y pronto vimos el error de nuestro camino!"

Echo Weaver | Moonlight Kids | Akupara Games

Muchas de las secuelas de Echo Weaver de The Wild at Heart son fundamentales para la identidad de Moonlight Kids como estudio, desde el estilo dibujado a mano de Justin Baldwin, cofundador y director creativo (“hasta los mismos pinceles y paletas”) hasta espacios grandes e interconectados repletos de secretos, y un compromiso con la narración matizada en géneros donde eso no es a menudo el enfoque.

En el lado técnico, la biblioteca de herramientas internas del equipo también dio el salto de The Wild at Heart, incluyendo el sistema de diálogo, la capa de interfaz FMOD, el controlador y el código de icono de entrada dinámica, y el temblor de pantalla.

Echo Weaver | Moonlight Kids | Akupara Games

Principios de diseño fundamentales: El Tejedor recuerda

Sin puertas de habilidad y un mundo que se reinicia con cada bucle, Moonlight Kids necesitó establecer reglas sobre lo que persiste entre partidas. Llegaron a una solución narrativa que no rompería la inmersión: El personaje jugador, el Tejedor, conserva sus recuerdos a través de los bucles. "Cualquier cosa que recordaran en su propio cerebro, tenemos permitido llevarla al circuito." "Si el Tejedor lo ve, el jugador debería verlo", explica Chris. "Eso no rompe la regla de la metroidbrainia."

Esta decisión informa a todo el juego, desde la pantalla de progreso que rastrea el conocimiento que el jugador ha desbloqueado, hasta la presentación del nivel. Cuando se descubre un área oculta, la obra de arte en primer plano se desvanece. Durante las pruebas de juego, esto no era persistente entre bucles, pero el equipo descubrió que los jugadores seguían olvidando qué atajos habían descubierto, así que hicieron una concesión y atenuaron permanentemente el primer plano en las áreas que los jugadores visitaban con más frecuencia.

Echo Weaver | Moonlight Kids | Unity

Diseño de niveles sin atajos permanentes

Elegir restringir el progreso utilizando el conocimiento del jugador en lugar de mejoras específicas elimina una herramienta importante del kit del diseñador de niveles estándar. Los metroidvanias suelen basarse en paredes de sentido único y atajos permanentes: rompes una pared y ese camino está abierto para el resto de la partida. "En un juego de bucle temporal como Echo Weaver, cuando rompes una pared y reinicias el bucle, esa pared simplemente vuelve a estar ahí", dice Chris. "Eso no estaba necesariamente en mi caja de herramientas."

La solución del equipo para este problema funciona en dos escalas. Dentro de un solo bucle, que puede ejecutarse durante varios minutos dependiendo de cuánto tiempo haya recolectado el jugador, Chris pudo ejecutar trucos de diseño metroidvania tradicional, porque cualquier cosa contenida dentro de un bucle puede dar frutos en ese mismo bucle. El equipo diseñó cada una de las ramas y áreas del juego teniendo en cuenta esta restricción.

Para atajos más grandes y complejos – “Piensa en el Santuario de Firelink en Dark Souls”, dice Ankit – la única opción real es el ocultamiento. Un pasaje puede estar escondido detrás de arte en primer plano en un extremo y posicionado en primer plano en el otro, creando un secreto oculto a plena vista. "Los juegos como Tunic hacen esto muy bien con la perspectiva", añade.

Echo Weaver | Moonlight Kids | Akupara Games

Gestionar el tiempo del jugador

El reloj de Echo Weaver es su sistema más prominente y es visible para el jugador en todo momento. Cada ciclo comienza con 1 minuto de tiempo en el reloj. Los jugadores pueden buscar cristales de tiempo para extenderlo, o pueden sacrificar cristales para curarse; encontrar el equilibrio adecuado aquí es crucial para el éxito.

En las primeras versiones del juego, el temporizador contaba segundo a segundo, pero a los probadores les encantaba. "Creó mucho estrés", dice Chris. Un día pensamos, ¿y si simplemente quitamos el reloj? Usted no realmente necesita segundos, todo lo que necesita saber son los minutos."

El HUD final es una fila de fragmentos de tiempo, cada uno representando un minuto; en el juego estos se llaman "campanas" porque los PNJ que decían cosas como "Vuelve al minuto 8" rompieron la fantasía. Casi todo en el mundo está cuidadosamente sincronizado con estos ritmos de un minuto. Los probadores reaccionaron positivamente a este nuevo sistema y pronto inventaron "Sequences de arranque", rutas de apertura altamente optimizadas que ahorran enormes cantidades de tiempo en los primeros segundos de un bucle.

Echo Weaver | Moonlight Kids | Akupara Games

Cómo funciona el bucle de tiempo

Entonces, ¿qué sucede cuando un bucle de tiempo se reinicia en Echo Weaver? La arquitectura de Ankit divide el mundo del juego en fragmentos, cada uno etiquetado con un script de fragmento, con un proceso de compilación personalizado que elimina contenido costoso con anticipación.

La capa pesada e inmutable —toda la geometría del mundo y los marcadores de transición— se hornea en las escenas y permanece cargada permanentemente. Una escena ligera de "esenciales" contiene el estado volátil: el gestor del juego, el jugador y los datos específicos de la ejecución. Al reiniciar, el juego descarga los fragmentos activos, desecha la escena esencial por completo y la recarga, transmitiendo de nuevo solo los fragmentos necesarios para la secuencia de apertura del bucle.

"Esa es una gran manera en que mitigamos lo que persiste y lo que no debería: simplemente lo tiramos y lo rehacemos", dice Ankit. "De todos modos es una escena tan ligera que no es una gran preocupación estropearla y rehacerla."

El estado específico de la ejecución reside en un diccionario en memoria de claves de cadena; borrar ese diccionario es parte del reinicio. Cualquier cosa que deba sobrevivir a través de los bucles —el recuento de bucles, las habilidades que han visto, los personajes con los que han hablado— se serializa en disco. Cada objeto comprueba su propia clave cuando su fragmento llega, a menudo leyendo solo un booleano o un entero.

El enfoque no ha estado completamente libre de errores. Ankit descubrió que las puertas de transición persistentes no estaban reiniciando completamente su estado de interfaz de usuario entre bucles, así que simplemente dejó de persistirlas. Ahora, el componente interactivo de cada puerta es un clon que se reinstancia en cada reinicio. "Para quizás 20 objetos, no importa, no tiene un impacto en el rendimiento", explica.

Los objetos transportables como las llaves planteaban un problema más sutil: un objeto que vive en un fragmento puede caminar por cualquier parte del mundo del juego, y la propiedad a nivel de fragmento significaba que estos objetos desaparecían de los inventarios de los jugadores o se duplicaban. Para arreglar esto, el equipo movió los elementos a la capa de escena persistente.

Activos de entorno en capas de Echo Weaver en el Editor

Optimizando un mundo detallado y dibujado a mano

Como The Wild at Heart, Echo Weaver está denso con arte dibujado a mano personalizado, lo que, aunque visualmente impresionante, puede ser costoso de cargar y renderizar. El equipo implementó varias correcciones para maximizar el rendimiento.

Compresión de activos

La solución a su primer gran obstáculo de actuación fue anticlimática. "Ninguno de nuestros Atlas tenía compresión", se ríe Ankit. Habilitar compresión redujo todo en memoria a alrededor de 1 GB.

Un vistazo a las animaciones de Weaver en el Editor de Unity

Cargando escena

Cargar el juego presentó un problema más difícil. La instanciación aterriza en el hilo principal de forma síncrona, por lo que los activos decorativos se eliminan de los fragmentos en tiempo de compilación (con ManualOverrides para preservar la configuración de tamaño, rotación y sprite) y se reinstancian asincrónicamente, agrupados por unos pocos objetos por fotograma. Combinado con un sistema de vecindario que siempre mantiene cargados los fragmentos adyacentes, el aparición repentina permanece fuera de la vista.

Procesamiento por lotes

Debido a que la obra de arte dibujada a mano de Justin evita patrones repetitivos, las oportunidades de agrupamiento eran raras, por lo que Ankit escribió una herramienta que aplana grupos de sprites en una sola imagen (y una sola llamada de dibujo). Por ejemplo, el cielo en uno de los biomas de Echo Weaver está construido con docenas de plataformas casi idénticas; usando la herramienta, lo colapsaron en dos sprites compuestos junto con un puñado de acentos únicos.

Iluminación

La configuración de iluminación inicial de Echo Weaver fue costosa. Los sprites originalmente llevaban hasta cuatro tipos de luz diferentes cada uno (variantes de fondo, jugador, objeto y suelo), y en un momento dado, se renderizaban 16 texturas de iluminación distintas a la vez. Consolidando seis capas ligeras en tres cortes que reducen drásticamente, "y no creo que las imágenes hayan sufrido por ello", dice Ankit.

Efectos de agua

Agua vino del Unity Asset Store: Kit de Agua 2D, ejecutándose en el Universal Render Pipeline. "Muy flexible, produce resultados realmente buenos", dice Ankit, pero cada cuerpo de agua vuelve a renderizar la cámara, y el costo escala con el número de grupos de capas que refractan bajo la superficie. El equipo consolidó las capas submarinas, y el equipo de portabilidad interno de la editorial Akupara Games fue más allá para el hardware de gama baja, separando el efecto de perspectiva de entrada superficial falsa del ajuste de refracción del plugin para que los dispositivos más débiles mantengan el aspecto sin el redibujado.

Echo Weaver | Moonlight Kids | Akupara Games

Depuración

El Frame Debugger de Unity desempeñó un papel central en gran parte de este trabajo de optimización, permitiendo a Ankit recorrer la llamada de dibujo del fotograma por llamada de dibujo y ver exactamente dónde se rompía el agrupamiento, y por qué. A partir de ahí, el trabajo consistía en consolidar: unificar materiales, convertir sprites sueltos y volver a comprobar hasta que se pudiera agrupar la mayor parte del fotograma posible. "Todavía se puede ver que el agrupamiento falla aquí y allá", dice, "Pero es mucho menos de lo que era." El consejo de Ankit a otros equipos es simple: "¡empiecen a usar el Frame Debugger libremente, de inmediato!"

Echo Weaver | Moonlight Kids | Akupara Games

De 2021 LTS a Unity 6

The Wild at Heart se lanzó en Unity 2021; Echo Weaver se lanza en Unity 6, bloqueado a una versión poco antes del lanzamiento. Preguntado qué ha cambiado día a día entre versiones, Chris no dudó: “Prefabs Anidados y modo de edición: esos fueron cambios de vida.”

Ankit dice que el equipo ha usado Composite Collider 2D libremente, y el pool de objetos nativo de Unity, lo que significó que finalmente pudo dejar de mantener el pool de objetos personalizado que había escrito para The Wild at Heart. "Es bueno usar cosas integradas siempre que sea aplicable", señala.

Echo Weaver | Moonlight Kids | Akupara Games

Consejos de despedida para equipos pequeños

Al cerrar la entrevista, le preguntamos a Chris y Ankit qué consejos compartirían con otros desarrolladores que buscan hacer juegos con Unity.

"Probablemente me vayan a quemar por esto", preámbula Ankit, "Pero la sabiduría convencional dice que no se debe optimizar al principio. No creo que eso sea necesariamente cierto. Puedes diseñar de una manera que sea performante desde el principio, y eso realmente puede ahorrarte mucho tiempo más adelante.

El equipo implementó el sistema de transmisión por fragmentos de Echo Weaver al principio del proyecto. Las partículas han sido agrupadas desde el primer día. Ankit siempre trata de ser cuidadoso con la conveniencia de C#, porque la presión de la recolección de basura puede acumularse rápidamente. Si intentas enviar un juego, tiene que ser performante al final. ¿Por qué ponerte en un aprieto donde eso parece imposible? Hacer que las cosas sean performantes más tarde significa cambios de ruptura gigantescos.

Chris ofreció algunos consejos sobre diseño y la importancia de apoyarse en la identidad creativa de tu estudio. "Hacer un juego con acceso restringido al conocimiento como este depende en gran medida del panorama general", dice. Pasamos años iterando en partes que solo pudimos terminar cuando todo el proyecto se completó. Gran parte de esto podría haberse guionizado al principio, al estilo de una película, mientras se dejaba mucho espacio para la iteración.

Pero lo único que haría diferente es confiar en su instinto y seguir haciendo lo familiar y lo que se siente bien. En retrospectiva, estuvo mal de nuestra parte decir, bueno, nadie quería The Wild at Heart, así que haremos algo totalmente diferente. ¿Qué quieren la gente? No, juega a tus fortalezas, de verdad. Perdimos mucho tiempo tratando de averiguar cómo jugar al mercado. Finalmente, éramos como, ¿qué estamos haciendo? Haz lo que sabes hacer bien. Crea el juego que quieres hacer.

Echo Weaver se lanza hoy en Steam, PlayStation®5, Nintendo Switch™ 2, Nintendo Switch y Xbox Series X|S. Explora más juegos Made with Unity en nuestra página de curador de Steam, y echa un vistazo a más historias de desarrolladores de Unity en el Blog de Unity y el Resource Hub.


Nintendo Switch es una marca registrada de Nintendo.