Cómo Soft Crunch Games construyó Foxy Dumplings para cada plataforma

Oct 16, 2026
Foxy Dumplings | Soft Crunch Games

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.

Preparar el mismo juego para PC (Windows, macOS y Linux) a través de Steam, GOG, la Epic Games Store y la Microsoft Store con Xbox Play Anywhere, así como en Nintendo Switch™, Nintendo Switch, PlayStation®4, PlayStation 5, Xbox Series X|S, iOS y Android al mismo tiempo es un desafío técnico ambicioso para cualquier estudio. Para el equipo central de cuatro personas de Soft Crunch Games, significó hacer que el desarrollo multiplataforma fuera parte de la arquitectura del juego desde el principio.

Foxy Dumplings es un acogedor juego de cocina y gestión sobre Lisa, una chef profesional que se recupera del agotamiento al empezar de nuevo con la receta de dumplings de su familia y un camión de comida. Los jugadores viajan por 12 lugares inspirados en culturas alimentarias reales, cultivan ingredientes, aprenden recetas regionales, conducen el camión e inventan sus propios platos.

Grzegorz Wątroba se encarga de toda la programación, puertos de plataforma, pipelines de compilación y trabajo de certificación. Con un programador responsable de tantos objetivos, el proyecto se construyó en torno a una regla: Cada plataforma recibe el mismo juego del mismo commit.

Dumplings de Zorro

Un proyecto, una rama, un juego

En la práctica, eso significaba no compromisos: No hay ramas separadas, ni una edición móvil que llegue medio año después, ni una versión con la mitad del contenido.

Eso se convirtió en algunas reglas. Eso se convirtió en algunas reglas. Cada esquema de control tenía que estar completo por sí mismo, para que los jugadores puedan terminar el juego usando solo un controlador, solo una pantalla táctil o solo un ratón, con o sin teclado. El archivo de guardado utiliza el mismo formato binario en todas partes, por lo que mover el progreso entre dispositivos no requiere conversión.

El archivo de guardado utiliza el mismo formato binario en todas partes, por lo que mover el progreso entre dispositivos no requiere conversión.

"También tratamos los requisitos de certificación como restricciones de diseño desde el principio", dice Wątroba. "Foxy Dumplings no tiene campos de entrada de texto, por ejemplo, por lo que nunca tenemos que lidiar con teclados en pantalla en múltiples sistemas diferentes." Los SDK de tiendas de PC como Steamworks se eliminan automáticamente de las compilaciones para consolas y móviles.

Quería que cada compilación viniera de un menú sin que nadie tocara la Configuración del Proyecto manualmente. Hoy ese menú tiene más de 70 entradas en plataformas, tipos de compilación, demostraciones, compilaciones de prueba y configuraciones de salida.

Mantener el código de la plataforma en los bordes

Foxy Dumplings es un proyecto de Unity y una rama. La jugabilidad siempre es compartida. El código de la plataforma solo está permitido en los bordes, donde el juego se comunica con el sistema: guardado, cuentas de usuario, logros y trofeos, sincronización en la nube, comprobaciones de DLC, diálogos del sistema y exportación de fotos.

Wątroba dice: "Cada sistema está detrás de una interfaz." Usamos un patrón fachada para dar un punto de entrada al juego, y luego una pequeña fábrica selecciona el proveedor de plataforma correcto al iniciar. La jugabilidad podría decir: "desbloquea este logro", pero no sabe si termina en Steam, PlayStation® Network o en ninguna parte.

La configuración en tiempo de ejecución maneja la mayoría de las diferencias, como si el jugador puede salir al escritorio o abrir un enlace web. Los scripts definen símbolos pasados por los scripts de compilación manejan casos como excluir Steamworks de una compilación PC no-Steam. Las definiciones de la plataforma Unity son el último recurso, solo donde el código no puede compilarse en otro lugar.

Las diferencias de texto también son datos. Las claves de Localization tienen variantes de plataforma, por lo que "Achievement" puede convertirse en "Trophy" en PlayStation® sin cambiar el código del juego.

Foxy Dumplings | Soft Crunch Games

Automatizar cualquier cosa que suceda dos veces

La forma en que Wątroba mantiene la carga de trabajo manejable es en parte experiencia y en parte negarse a hacer lo mismo dos veces. Cualquier cosa repetida en diferentes plataformas terminó convirtiéndose en un guion o un elemento de menú.

Hacer una compilación específica es un clic con las definiciones, la carpeta de salida y la configuración correctas. También ejecutan comprobaciones de compilación en aproximadamente 40 configuraciones de plataforma y almacenamiento, detectando el clásico problema de "compila en Windows pero falla en PlayStation" antes de que lo vea QA.

El alcance también importa. Dijimos que no a las funciones que multiplican el trabajo de la plataforma: entrada de texto, funciones en línea que tendríamos que alojar o moderar, y compras dentro del juego. También enviamos una versión de PlayStation que funciona tanto en PlayStation 4 como en PlayStation 5", dice.

Los contratistas no necesitan pensar en plataformas. La interfaz de usuario se diseña una vez en un lienzo 4K y se escala por plataforma. El equipo de sonido trabaja en un proyecto FMOD. El diseñador de juegos construye contenido en los mismos activos de datos en todas partes. Él dice: "Las diferencias de plataforma son mi trabajo, no el de ellos."

Foxy Dumplings | Soft Crunch Games

Diseñar la entrada y la interfaz de usuario antes de escribir código

El primer paso para Wątroba fue diseñar en papel con el diseñador de UX del equipo Foxy Dumplings.

"He visto proyectos sufrir porque la entrada y la experiencia de usuario no se pensaron desde el principio", dice Wątroba. Nuestro enfoque fue esencialmente: Este es nuestro juego, haz que funcione en cada plataforma.

Resolver esos problemas en papel antes de la primera línea de código ayudó al equipo a evitar muchos problemas más adelante.

Una vez que la experiencia de usuario (UX) estuvo completa, construyeron controles alrededor del Input System con un conjunto de acciones y tres esquemas de control: gamepad, teclado y ratón, y táctil. El juego cambia de esquemas en vivo basándose en lo que usaron los jugadores por última vez, y la interfaz de usuario sigue automáticamente.

El equipo utilizó un Prefab de indicación de un solo botón en casi 200 lugares. Entiende la entrada para cada plataforma. "Toma un mando y las indicaciones cambian; mueve el ratón y cambian de nuevo", dice.

Los minijuegos de cocina eran la parte más difícil porque cada uno debe funcionar con cada método de entrada. Steam Deck les enseñó una regla importante: Nunca preguntes si un dispositivo está presente; pregunta si realmente puede producir la entrada que necesitas.

Wątroba explica: "Su pantalla táctil puede aparecer como un ratón y un botón izquierdo, lo que una vez hizo que un minijuego que requería ambos botones del ratón fuera imposible de terminar." Diseñar en torno a las capacidades en lugar de a los dispositivos también ayudó en hardware Android más antiguo.

Foxy Dumplings | Soft Crunch Games

Perfilando el hardware más débil primero

Foxy Dumplings es un juego 2D con personajes de Spine y materiales sin iluminar, por lo que cuando la GPU tiene problemas, suele ser por demasiadas capas de pantalla completa o demasiados píxeles.

Un ejemplo fue la cocina. Algunos efectos se renderizaron en una textura de renderizado 4K y se componieron sobre la interfaz de usuario, lo cual es innecesario en una pantalla de 1080p o 720p. Watroba cambió las texturas de renderizado para que siguieran la resolución real de la pantalla y deshabilitó las texturas HDR y de profundidad, que el juego nunca usó. Visualmente, nada cambió, pero en Steam Deck esa capa ahora llena alrededor de 8 veces menos píxeles por fotograma, y su textura de renderizado bajó de unos 32 MB a unos 4 MB.

El proceso de perfilado de Wątroba es el mismo que aprendió hace años: Hace una compilación de desarrollo en el dispositivo real, adjunta el Unity Profiler, encuentra lo que es costoso, lo mide, lo arregla y vuelve a medir. Él dice: "El dispositivo es el rey."

La memoria también necesita atención. El equipo soporta 14 idiomas, incluyendo chino, japonés, coreano y tailandés, cada uno con su propio atlas de fuentes. Cuando el equipo vio picos de memoria durante los cambios de idioma, perfilaron la ruta de asignación y encontraron que los caracteres que faltaban en los atlas estáticos se rasterizaban en tiempo de ejecución en atlas de reserva sobredimensionados de 4096×4096, con una recarga completa de un atlas de 16 MB por cada nuevo carácter.

La solución fue regenerar las fuentes de reserva con páginas de 2048×2048 y agregar glifos en lotes antes del cambio, lo que redujo la memoria del nuevo atlas para japonés de unos 48 MB a 4–8 MB por fuente.

El equipo usó Addressables en el proyecto porque Unity Localization está construido sobre ellos. Las tablas de cadenas y de activos para los 14 idiomas viven en grupos Addressable y se cargan por idioma. "Todo todavía se envía localmente, pero Addressables nos dan una forma limpia de gestionar esos datos y la memoria."

Foxy Dumplings | Soft Crunch Games

Probando jugabilidad compartida una vez, comportamiento de plataforma muchas veces

El equipo no tiene un gran conjunto de pruebas automatizadas, pero automatiza algunos sistemas, incluidas simulaciones que comprueban si la Economy del juego puede colapsar.

Lo que mantiene la gestión de la calidad (QA) manejable para ellos es que las plataformas comparten casi todo su código. La jugabilidad se pone a prueba profundamente en PC, donde la iteración es más rápida. En consolas y móviles, las pruebas se centran en la capa de la plataforma: requisitos de certificación, guardar y cargar, suspender y reanudar, cambiar de usuario, desconexiones del mando, trofeos y logros, y falta de almacenamiento.

"Nuestro socio externo de control de calidad recibe la versión, la depuración y una versión de 'desbloqueo completo' con herramientas de depuración", dice Wątroba. "Los testers pueden saltar a cualquier capítulo o misión y manipular dinero, energía o tiempo, por lo que no tienen que volver a jugar cinco horas para verificar un error."

La demostración pública también ha sido una fuente importante de pruebas. Más de 18,000 personas lo han jugado, y el equipo recibió más de mil respuestas a encuestas que llevaron a características de accesibilidad, correcciones de errores, ajustes y mejoras en la calidad de vida.

Hacer que los guardados multiplataforma sean portables primero

La progresión multiplataforma comenzó haciendo que el guardado fuera portátil. Progress es un archivo binario cifrado, byte por byte con el mismo formato en cada plataforma. Un guardado escrito en móvil se puede leer en PC.

La sincronización tiene dos capas. El primero es el Cloud Save nativo de cada plataforma. El segundo es Unity Cloud Save, que transporta el progreso entre ecosistemas. Ambos están detrás de la misma interfaz, con lógica de fusión encima de ellos.

Cada ranura de guardado se compara por su marca de tiempo de última actualización. Las ranuras eliminadas dejan una marca para que no regresen desde la nube. La fusión solo ocurre en el menú principal, nunca en medio de un día de juego, porque Foxy Dumplings guarda cuando el jugador se va a dormir. Las subidas reintentan silenciosamente cuando no hay red y se vacían cuando el juego está suspendido.

El equipo vincula una consola y una PC usando el código de vinculación de Unity Authentication, por lo que los jugadores no necesitan otra cuenta. La progresión cruzada es opcional, y el juego sigue siendo totalmente jugable sin conexión.

Wątroba dice: "La lección más grande fue que el almacenamiento es la parte fácil; la identidad es la parte difícil." Cada ecosistema tiene su propia idea de quién es el jugador, por lo que Authentication tiene que confiar en los tickets de Steam, los tokens de PlayStation y los tokens de Xbox por separado.

Foxy Dumplings | Soft Crunch Games

Construir Foxtagram sin crear otro problema de plataforma

Foxtagram es una aplicación en el teléfono del juego de Lisa donde los jugadores componen fotos de platos usando platos, vajilla, ingredientes, dumplings, filtros, marcos y pegatinas, antes de publicarlas para aumentar la popularidad del restaurante.

La decisión arquitectónica principal fue mantener el editor en Unity UI regular sin código específico de plataforma dentro de él. Wątroba explica: "Sus 50 filtros son preajustes de un sombreador en el material de la foto en lugar de superposiciones." Cuando tomas una foto, una cámara dedicada renderiza el área de la foto en una textura de renderizado cuadrada a la resolución de salida. Lo leemos de vuelta con AsyncGPUReadback y codificamos el resultado como un JPG. Ese marco parece un flash de cámara.

La resolución y la calidad JPG provienen de la configuración por plataforma. El editor admite ratón, mando y táctil: arrastrar y rueda del ratón en escritorio; palancas y gatillos en el mando; y pellizcar y girar en táctil.

Compartir fuera del juego pasa por las herramientas de cada plataforma. La PC puede usar la carpeta de fotos o la biblioteca de medios de Steam, las consolas usan sus álbumes del sistema y el móvil usa la hoja de compartir del sistema. Para un equipo pequeño, usar las funciones de uso compartido existentes de la plataforma elimina mucho trabajo de certificación y Moderation.

Foxy Dumplings | Soft Crunch Games

Pasando a Unity 6.3 LTS

"Lo más valioso que trajo Unity 6.3 LTS fue una versión LTS donde todo lo que dependemos está alineado y cuya ventana de soporte cubre nuestras necesidades de lanzamiento", dice Wątroba.

El equipo encontró 6.3 más estable en áreas como la edición de ScriptableObjects, y los dispositivos Android más antiguos se beneficiaron de las correcciones de Vulkan.

Los tiempos de compilación también mejoraron. Con IL2CPP, estimaría que nuestras compilaciones son aproximadamente un 10-15% más rápidas dependiendo de la plataforma y el tipo de iteración. El rendimiento en tiempo de ejecución también mejoró en unos pocos por ciento, especialmente en hardware más débil.

La actualización fue mayormente fluida. Cada efecto de VFX Graph se volvió inicialmente invisible porque se perdieron las referencias de los shaders durante la migración; volver a importar los gráficos lo solucionó rápidamente.

Planear el puerto antes de que haya un puerto

La decisión con el mayor impacto para el equipo fue mantener una rama y ser estrictos con las diferencias de plataforma desde el principio. El código de jugabilidad nunca pregunta en qué plataforma se está ejecutando. "Si algo difiere, es datos, una configuración de calidad o un proveedor detrás de una interfaz", dice Wątroba.

El equipo creó un documento de arquitectura técnica junto con el documento de diseño de juego, la biblia de arte y la biblia narrativa, lo cual recomiendan hacer. Wątroba notes, "Dibujar las capas técnicas del juego antes de la producción nos ayudó a mantener las responsabilidades separadas y hizo que añadir plataformas fuera mucho más fácil."

La próxima vez, el equipo haría que las compilaciones funcionaran en cada kit de desarrollo mucho antes. "La arquitectura estaba bien, pero mucho trabajo real de consola todavía se realizaba en los meses antes de la entrega, y el hardware siempre encuentra cosas que el Editor no encontrará."

Foxy Dumplings | Soft Crunch Games

Enviar un juego a todas partes

Foxy Dumplings se basa en una simple promesa técnica: el mismo juego, desde la misma base de código, en PC, consola y móvil. Para un equipo pequeño, eso solo funciona si el desarrollo multiplataforma se trata como una restricción arquitectónica en lugar de una tarea de adaptación que se deja para el final.

"Al mantener jugabilidad compartida, aislar integraciones de plataforma, automatizar trabajo de compilación repetitivo y probar contra los objetivos más débiles temprano, nuestro objetivo es que el lanzamiento simultáneo sea menos sobre mantener muchas versiones de Foxy Dumplings y más sobre lanzar un juego en todas partes", dice Wątroba.

Foxy Dumplings estará disponible en PC (Windows, macOS y Linux) a través de Steam, GOG, la Epic Games Store y la Microsoft Store con Xbox Play Anywhere, así como en Nintendo Switch 2, Nintendo Switch, PlayStation 4, PlayStation 5, Xbox Series X|S, iOS y Android en 2027. Echa un vistazo a más historias de desarrolladores de Unity en el Blog de Unity y en el Resource Hub.

* Nintendo Switch es una marca comercial de Nintendo.