Granja grande: Homestead: dentro de la tecnología que hay detrás de un mundo móvil en 3D

New Moon Production se fundó en 2016 con el objetivo de mantenerse a la vanguardia de la tecnología de desarrollo de videojuegos y, al mismo tiempo, garantizar la sostenibilidad de la producción. Durante la última década, el Studio ha lanzado juegos como Empire: Tercera Guerra Mundial, Imperio: La era de los caballeros, Hogar y jardín: Renovación del diseño, amor y pasión: Capítulos, Granja grande: Cosecha móvil, granja grande: Historia AND Sunshine Island.
Su último título, Big Farm: Homestead es un juego de simulación agrícola para plataformas móviles. Se basa en Big Farm: Mobile Harvest es el primer juego totalmente en 3D de la franquicia principal Big Farm.
Hablamos con Anissa Nehls, directora de marketing de productos de New Moon Production, Volker Zerbe, director artístico, y Felix Fischer, desarrollador experto de Unity, sobre los retos técnicos y las soluciones que supuso llevar el mundo 3D de Big Farm a los dispositivos móviles.
Vision del juego, construcción del mundo y arquitectura
¿Cómo funciona Big Farm? Las granjas familiares se diferenciande las grandes explotaciones agrícolas en lo siguiente: ¿Cosecha móvil?
Anissa Nehls: Granja grande: Homestead es un juego muy centrado en la historia. Los jugadores siguen a Tessa mientras restaura la finca familiar a lo largo de tres granjas distintas, cada una con sus propios cultivos, edificios y animales. Más allá de la agricultura, los jugadores reconstruyen pueblos capítulo a capítulo, desbloqueando personajes, cadenas de producción y partes de un misterio relacionado con un lago seco.
El sistema de capítulos mantiene la progresión estructurada y fácil de retomar, mientras que el mundo sigue siendo cálido y nostálgico. Los elementos Multiplayer, como los gremios y los eventos cooperativos, mejoran la experiencia. Los jugadores vienen por la acogedora gestión de recursos y se quedan por la Community.
¿Cuál era el objetivo principal del equipo con este título?
AN: Nuestro objetivo era avanzar rápidamente sin comprometer la esencia fantástica de Big Farm IP. Aprovechamos las lecciones aprendidas con Sunshine Island y Mobile Harvest, desde los pipelines tecnológicos hasta los Insights de marketing, y, con Unity, lanzamos el juego en menos de un año.

¿Cuál fue el mayor reto técnico durante el desarrollo?
Félix Fischer: Compartir código entre Big Farm: Era fundamental llegar a Homestead y Sunshine Island sin crear una bifurcación. Empaquetamos el código compartido como un paquete NMP y lo consumimos VIA el Unity Package Manager. Esto permitió una versión limpia mientras ambos juegos evolucionaban de forma independiente. Gestionamos los activos y la configuración por separado y recreamos ScriptableObjects por título.
Volker Zerbe: La optimización móvil fue otro reto clave. El juego presenta un terreno amplio y sin fisuras con objetos densos, y debe funcionar con fluidez en dispositivos de hasta ocho años de antigüedad. Nos centramos en el uso de la memoria, las llamadas de dibujo y el envío solo de contenido esencial.

¿Cómo simplificó Timeline la secuenciación mundial?
VZ: La línea temporal gestiona los estados de construcción y las escenas cinemáticas del juego. Cada edificio de producción pasa por los estados de inactividad, producción y recolección, creados como secuencias de línea de tiempo en bucle. Una pista personalizada etiqueta secciones con estados, y scripts ligeros controlan la reproducción. Esto mantiene la animación y la lógica perfectamente alineadas y facilita a los artistas la previsualización.
FF: También ampliamos Timeline con pistas para generar objetos y activar eventos, convirtiéndola en una herramienta de secuenciación tanto para el juego como para los momentos cinemáticos. En comparación con los flujos de trabajo de Animator Controller, Timeline resulta más intuitivo y reduce los problemas de sincronización.

¿Cómo utilizaste Cinemachine para el juego y las escenas cinemáticas?
VZ: Cinemachine gestiona transiciones fluidas de cámara y secuencias entre mapas del mundo e interiores. Las cámaras virtuales nos permiten crear movimientos dinámicos en las escenas cinemáticas sin necesidad de realizar complejas configuraciones manuales.
FF: La cámara principal es totalmente virtual y sigue un objetivo invisible controlado por el jugador. Las cámaras adicionales para eventos o escenas cinemáticas se integran automáticamente. Esto proporciona un control preciso y fluido tanto en el juego como en las secuencias cinemáticas.

¿Cómo ayudaron el canal de renderizado universal (URP) y Shader Graph?
FF: El canal de renderizado universal (URP) fue esencial para gestionar la calidad visual y el rendimiento en todos los dispositivos. Esto facilitó la configuración de varios niveles de calidad: bajo, medio y alto. Hemos expuesto estos niveles para que los jugadores puedan priorizar la fidelidad o el rendimiento.
Al mismo tiempo, URP nos ayudó a ofrecer una experiencia predeterminada sólida al iniciar a los jugadores con configuraciones medias o altas. Esto garantiza una buena primera impresión, al tiempo que permite reducir características como las sombras para alcanzar las velocidades de fotogramas deseadas. También utilizamos las funciones de renderizado de URP, como el enmascaramiento con plantilla, para mezclar elementos 3D y de UI de manera eficiente. Los sombreadores fijos harían que estos efectos fueran más complejos o costosos de implementar.

¿Qué papel desempeñaron ECS y Burst Compiler en la construcción del mundo?
FF: Utilizamos el sistema de componentes de entidad (ECS) en la pila tecnológica orientada a datos (DOTS) de Unity para estructurar el mundo de manera eficiente. Los edificios, los tipos de producción y los personajes eran entidades. Los sistemas solo funcionaban en grupos relevantes, lo que mantenía la lógica limpia y con un buen rendimiento. Los sistemas críticos para el rendimiento, como las redes de edificios y los comportamientos de pesca, se beneficiaron del compilador Burst, que redujo los cálculos pesados de segundos a casi instantáneos.
ECS gestionaba todos los objetos del mundo 3D (excepto la UI), por lo que podíamos escalar a un gran número de entidades. El sistema de consultas nos permitió seleccionar entidades relevantes sin gestores personalizados, y ECS fomentó una arquitectura modular que mejoró la facilidad de mantenimiento. Trabajar con API en fase inicial implicaba actualizaciones frecuentes, pero el rendimiento y las ventajas estructurales hicieron que la inversión mereciera la pena.

¿Qué características de Unity 6 ha aplicado y cuáles planifica aprovechar?
VZ: Exploramos el renderizado Forward+ en Unity 6 para obtener un mejor rendimiento y escalabilidad, y esperamos con interés las máscaras de 32 bits para variables dinámicas, que ofrecerán más flexibilidad en el manejo de datos en runtime.
FF: La actualización a Unity 6.3 nos permitirá agrupar más objetos de forma eficiente sin romper SRP Batcher, mientras que el perfilado de memoria mejorado proporciona Insights más detallados para la gestión y optimización de recursos.
Rendimiento, optimización y mejores prácticas
¿Cómo abordó el equipo los problemas de rendimiento?
VZ: La iluminación totalmente dinámica con edificios detallados resultaba cara, por lo que introdujimos proxies de sombras: geometría simplificada para las sombras, pero manteniendo Meshes de alto detalle para el renderizado. También optimizamos el renderizado de sombras alrededor de una única luz direccional.
El renderizado con resoluciones nativas de 2K o 4K provocaba caídas de fotogramas en dispositivos de gama alta. Implementamos el escalado dinámico de resolución via URP, que reduce la resolución a alrededor del 70-80 % cuando es necesario con un impacto visual mínimo.
FF: También optimizamos los sombreadores. Con Shader Graph, creamos sombreadores ligeros y cambiamos la iluminación de por píxel a por vértice donde tenía sentido. En combinación con el procesamiento por lotes SRP, esto permitió mantener la flexibilidad de los materiales sin depender de grandes atlas de texturas y dio como resultado un proceso escalable y de alto rendimiento.

¿Cómo identificaste y fixaste los cuellos de botella en el rendimiento?
VZ: Utilizamos el depurador de marcos y el Profiler de memoria para optimizar el rendimiento. El depurador de fotogramas nos ayudó a detectar ineficiencias en las llamadas de dibujo y el procesamiento por Batch. El Profiler de memoria destacó los pesados recursos 2D y los atlas de UI, lo que nos ayudó a reducir el uso de memoria en dispositivos más antiguos.
FF: También utilizamos Unity Profiler para supervisar los sistemas ECS en tiempo real e identificar cuellos de botella. Unity Auditor señaló posibles mejoras, como la compresión de texturas y audio. En conjunto, estas herramientas nos ayudaron a equilibrar el rendimiento y la calidad visual, y a mantener una experiencia de juego fluida en todos los dispositivos.
¿Cómo optimizó Addressables los activos y el tamaño de la APP?
FF: Utilizamos el sistema Addressables para todos nuestros activos, lo que simplifica la gestión de dependencias. Los direccionables nos permiten decidir si los activos se agrupan en la APP o se alojan de forma remota en nuestra Content Delivery Network. Esto ayuda a reducir el tamaño de la APP y garantiza que los jugadores solo descarguen lo que necesitan. Es especialmente útil para contenido estacional o específico de eventos con el que los jugadores se encuentran con menos frecuencia. Al cargar estos activos de forma dinámica, evitamos un uso innecesario de memoria.
VZ: Los direccionables también son cruciales para cumplir con los requisitos de Google Play, como el límite de tamaño de 200 MB para los paquetes de APP Android. Los recursos básicos para la primera sesión de juego o la primera semana están integrados en la APP para proporcionar una experiencia inicial fluida. Entregamos contenido estacional o poco utilizado de forma remota. Esto mantiene la APP ligera, al tiempo que sigue admitiendo operaciones en directo y contenido basado en eventos.

¿Qué consejo darías para equilibrar el rendimiento y los gráficos en los juegos para móviles?
VZ: Para nosotros, el rendimiento es lo primero. Un juego necesita un estilo visual atractivo, pero especialmente en los dispositivos móviles, donde los jugadores suelen jugar en sesiones cortas, es fundamental que el rendimiento sea fluido. Los largos tiempos de carga, los cortes o los retrasos rompen la inmersión y desaniman a jugar con regularidad. Nuestro objetivo es crear un mundo hermoso que funcione a la perfección, de modo que entrar y salir de él resulte fácil.
FF: Al mismo tiempo, queremos que el mundo se sienta vivo. Los pequeños detalles, como animales ocultos o movimientos sutiles, fomentan la exploración y el descubrimiento. Mantienen la experiencia atractiva sin sobrecargar el dispositivo ni al jugador.
Para obtener más información sobre los proyectos realizados con Unity, visite la página Recursos.
