Comment Soft Crunch Games a construit Foxy Dumplings pour toutes les plateformes

Oct 16, 2026
Foxy Dumplings | Soft Crunch Games

Cette page a été traduite automatiquement pour faciliter votre expérience. Nous ne pouvons pas garantir l'exactitude ou la fiabilité du contenu traduit. Si vous avez des doutes quant à la qualité de cette traduction, reportez-vous à la version anglaise de la page web.

Préparer le même jeu pour PC (Windows, macOS et Linux) via Steam, GOG, l'Epic Games Store et le Microsoft Store avec Xbox Play Anywhere, ainsi que sur Nintendo Switch™, Nintendo Switch, PlayStation®4, PlayStation 5, Xbox Series X|S, iOS et Android en même temps est un défi technique ambitieux pour n'importe quel studio. Pour l'équipe centrale de quatre personnes de Soft Crunch Games, cela signifiait intégrer le développement multiplateforme dans l'architecture du jeu dès le début.

Foxy Dumplings est un jeu de cuisine et de gestion chaleureux sur Lisa, une cheffe professionnelle qui se remet du burn-out en recommençant avec la recette de dumplings de sa famille et un food truck. Les joueurs voyagent à travers 12 lieux inspirés de cultures culinaires réelles, cultivent des ingrédients, apprennent des recettes régionales, gèrent le camion et inventent leurs propres plats.

Grzegorz Wątroba s'occupe de toute la programmation, des ports de plateforme, des pipelines de construction et des travaux de certification. Avec un programmeur responsable d'autant de cibles, le projet était construit autour d'une seule règle : Toutes les plateformes reçoivent le même jeu du même commit.

Boulettes de renard

Un projet, une branche, un jeu

En pratique, cela signifiait aucun compromis : Il n'y a pas de branches séparées, pas d'édition mobile arrivant six mois plus tard, et pas de version avec la moitié du contenu.

Cela est devenu quelques règles. Cela est devenu quelques règles. Chaque schéma de contrôle devait être complet en soi, afin que les joueurs puissent terminer le jeu en utilisant uniquement une manette, uniquement un écran tactile ou uniquement une souris – avec ou sans clavier. Le fichier de sauvegarde utilise le même format binaire partout, donc le transfert de progression entre les appareils ne nécessite pas de conversion.

Le fichier de sauvegarde utilise le même format binaire partout, donc le transfert de progression entre les appareils ne nécessite pas de conversion.

« Nous avons également traité les exigences de certification comme des contraintes de conception dès le départ », déclare Wątroba. «Foxy Dumplings n'a pas de champs de saisie de texte, par exemple, nous n'avons donc jamais à gérer les claviers à l'écran sur plusieurs systèmes différents. Les SDK de magasins PC tels que Steamworks sont automatiquement supprimés des versions console et mobile.

Il voulait que chaque construction provienne d'un seul menu sans que personne ne touche aux Paramètres du projet manuellement. Aujourd'hui, ce menu comporte plus de 70 entrées sur les plateformes, les types de construction, les démos, les versions de testeur et les configurations de sortie.

Garder le code de la plateforme aux bords

Foxy Dumplings est un projet Unity et une branche. Le jeu est toujours partagé. Le code de la plateforme n'est autorisé qu'aux bords, là où le jeu communique avec le système : sauvegarde, comptes utilisateurs, succès et trophées, synchronisation cloud, vérifications de DLC, dialogues système et exportation de photos.

Wątroba dit : « Chaque système est derrière une interface. » Nous utilisons un modèle de façade pour donner un point d'entrée au gameplay, puis une petite usine sélectionne le fournisseur de plateforme correct au démarrage. Le gameplay pourrait dire « débloquez ce succès », mais il ne sait pas si cela apparaît sur Steam, PlayStation® Network, ou nulle part.

La configuration d'exécution gère la plupart des différences, telles que la possibilité pour le joueur de quitter vers le bureau ou d'ouvrir un lien web. Le scriptage définit les symboles passés par les scripts de construction pour gérer des cas tels que l'exclusion de Steamworks d'une construction PC non-Steam. Les définitions de la plateforme Unity sont le dernier recours, uniquement là où le code ne peut pas compiler ailleurs.

Les différences de texte sont aussi des données. Les clés de Localization ont des variantes de plateforme, donc « Achievement » peut devenir « Trophy » sur PlayStation® sans modifier le code de jeu.

Foxy Dumplings | Soft Crunch Games

Automatiser tout ce qui se produit deux fois

La façon dont Wątroba maintient la charge de travail gérable est en partie due à l'expérience et en partie au fait de refuser de faire la même chose deux fois. Tout ce qui était répété sur différentes plateformes est finalement devenu un script ou un élément de menu.

Effectuer une compilation spécifique est un clic avec les définitions, le dossier de sortie et les paramètres corrects. Ils exécutent également des vérifications de compilation sur environ 40 configurations de plateforme et de stockage, détectant le problème classique « ça compile sur Windows mais ça casse sur PlayStation » avant que l'assurance qualité ne le voie.

Le champ d'application est également important. Nous avons dit non aux fonctionnalités qui multiplient le travail de la plateforme : saisie de texte, fonctionnalités en ligne que nous aurions à héberger ou à modérer, et achats dans le jeu. Nous expédions également une version PlayStation qui fonctionne sur PlayStation 4 et PlayStation 5, dit-il.

Les entrepreneurs n'ont pas besoin de penser aux plateformes. L'interface utilisateur est conçue une fois sur une toile 4K et mise à l'échelle par plateforme. L'équipe du son travaille dans un seul projet FMOD. Le concepteur de jeu construit du contenu dans les mêmes actifs de données partout. Il dit : « Les différences de plateforme sont mon travail, pas le leur. »

Foxy Dumplings | Soft Crunch Games

Concevoir l'entrée et l'interface utilisateur avant d'écrire le code

La première étape pour Wątroba a été de concevoir sur papier avec le designer UX de l'équipe Foxy Dumplings.

« J'ai vu des projets souffrir parce que l'entrée et l'UX n'ont pas été réfléchies dès le début », déclare Wątroba. Notre approche était essentiellement : C'est notre jeu, faites-le fonctionner sur chaque plateforme.

Résoudre ces problèmes sur papier avant la première ligne de code a aidé l'équipe à éviter beaucoup de problèmes plus tard.

Une fois l'UX terminée, ils ont construit des contrôles autour de l'Input System avec un ensemble d'actions et trois schémas de contrôle : manette de jeu, clavier et souris, et tactile. Le jeu change de schéma en direct en fonction de ce que les joueurs ont utilisé la dernière fois, et l'interface utilisateur suit automatiquement.

L'équipe a utilisé un Prefab à invite à un seul bouton dans près de 200 endroits. Il comprend l'entrée pour chaque plateforme. « Prenez une manette et les invites changent ; déplacez la souris et elles changent à nouveau », dit-il.

Les mini-jeux de cuisine étaient la partie la plus difficile parce que chacun devait fonctionner avec chaque méthode d'entrée. Steam Deck leur a appris une règle importante : Ne demandez jamais si un appareil est présent ; demandez s'il peut réellement produire l'entrée dont vous avez besoin.

Wątroba explique : « Son écran tactile peut apparaître comme une souris et un bouton gauche, ce qui a rendu impossible de terminer un mini-jeu nécessitant les deux boutons de la souris. » Concevoir autour des capacités plutôt que des appareils a également aidé sur les anciens matériels Android.

Foxy Dumplings | Soft Crunch Games

Profilage du matériel le plus faible en premier

Foxy Dumplings est un jeu 2D avec des personnages Spine et des matériaux non éclairés, donc lorsque le GPU peine, c'est généralement à cause d'trop de calques plein écran ou d'trop de pixels.

Un exemple était la cuisine. Certains effets ont été rendus dans une texture de rendu 4K et composités sur l'interface utilisateur – inutile sur un écran 1080p ou 720p. Watroba a modifié les textures de rendu pour qu'elles suivent la résolution d'écran réelle et a désactivé les textures HDR et de profondeur, que le jeu n'utilisait jamais. Visuellement, rien n'a changé, mais sur Steam Deck, cette couche remplit maintenant environ 8 fois moins de pixels par image, et sa texture de rendu est passée d'environ 32 Mo à environ 4 Mo.

Le processus de profilage de Wątroba est le même qu'il a appris il y a des années : Il crée une build de développement sur l'appareil réel, attache le Unity Profiler, trouve ce qui est coûteux, le mesure, le corrige et le mesure à nouveau. Il dit : « L'appareil est le roi. »

La mémoire a aussi besoin d'attention. L'équipe prend en charge 14 langues, dont le chinois, le japonais, le coréen et le thaï, chacune avec sa propre police de caractères. Lorsque l'équipe a observé des pics de mémoire lors des changements de langue, elle a profilé le chemin d'allocation et a découvert que les caractères manquants dans les atlas statiques étaient rasterisés à l'exécution dans des atlas de secours surdimensionnés de 4096×4096, avec un rechargement complet de l'atlas de 16 Mo pour chaque nouveau caractère.

La correction consistait à régénérer les polices de secours avec des pages de 2048×2048 et à ajouter les glyphes par lots avant le changement, ce qui a réduit la mémoire du nouvel atlas pour le japonais d'environ 48 Mo à 4–8 Mo par police.

L'équipe a utilisé Addressables dans le projet parce que Unity Localization est construit dessus. Les tables de chaînes et d'actifs pour les 14 langues sont stockées dans des groupes Addressable et sont chargées par langue. « Tout est toujours expédié localement, mais Addressables nous donnent un moyen propre de gérer ces données et cette mémoire. »

Foxy Dumplings | Soft Crunch Games

Tester le gameplay partagé une fois, le comportement de la plateforme de nombreuses fois

L'équipe ne dispose pas d'une grande suite de tests automatisés, mais elle automatise certains systèmes, y compris des simulations qui vérifient si l'Economy du jeu peut s'effondrer.

Ce qui rend le contrôle qualité gérable pour eux, c'est que les plateformes partagent presque tout leur code. Le gameplay est testé en profondeur sur PC, où l'itération est la plus rapide. Sur consoles et mobiles, les tests se concentrent sur la couche plateforme : exigences de certification, sauvegarde et chargement, suspension et reprise, changement d'utilisateur, déconnexions de contrôleur, trophées et succès, et saturation du stockage.

« Notre partenaire QA externe reçoit la version de sortie, le débogage et une version de « déverrouillage complet » avec des outils de débogage », déclare Wątroba. Les testeurs peuvent passer à n'importe quel chapitre ou mission et manipuler l'argent, l'énergie ou le temps, donc ils n'ont pas à rejouer cinq heures pour vérifier un bug.

La démo publique a également été une source majeure de tests. Plus de 18 000 personnes l'ont joué, et l'équipe a reçu plus d'un millier de réponses à des enquêtes qui ont conduit à des fonctionnalités d'accessibilité, des corrections de bugs, des ajustements et des améliorations de la qualité de vie.

Rendre les sauvegardes multiplateformes portables en premier

La progression multiplateforme a commencé par rendre la sauvegarde elle-même portable. Progress est un fichier binaire chiffré, le même format octet par octet sur toutes les plateformes. Une sauvegarde faite sur mobile peut être lue sur PC.

La synchronisation a deux niveaux. Le premier est le Cloud Save natif de chaque plateforme. Le second est Unity Cloud Save, qui transporte la progression entre les écosystèmes. Les deux sont situés derrière la même interface, avec une logique de fusion au-dessus d'eux.

Chaque emplacement de sauvegarde est comparé par son horodatage de dernière mise à jour. Les créneaux supprimés laissent un marqueur pour qu'ils ne reviennent pas du cloud. La fusion ne se produit que dans le menu principal, jamais au milieu d'une journée de jeu, car Foxy Dumplings sauvegarde lorsque le joueur va dormir. Les téléchargements reprennent silencieusement en l'absence de réseau et se vident lorsque le jeu est en pause.

L'équipe lie une console et un PC à l'aide du code de liaison Unity Authentication, de sorte que les joueurs n'aient pas besoin d'un autre compte. La progression croisée est optionnelle, et le jeu reste entièrement jouable hors ligne.

Wątroba dit : « La plus grande leçon était que le stockage est la partie facile ; l'identité est la partie difficile. » Chaque écosystème a sa propre idée de qui est le joueur, donc l'Authentication doit faire confiance aux tickets Steam, aux jetons PlayStation et aux jetons Xbox séparément.

Foxy Dumplings | Soft Crunch Games

Construire Foxtagram sans créer un autre problème de plateforme

Foxtagram est une application sur le téléphone en jeu de Lisa où les joueurs composent des photos de plats en utilisant des assiettes, de la vaisselle, des ingrédients, des raviolis, des filtres, des cadres et des autocollants, avant de les publier pour accroître la popularité du restaurant.

La décision architecturale principale était de garder l'éditeur dans l'Unity UI standard sans code spécifique à la plateforme à l'intérieur. Wątroba explique : « Ses 50 filtres sont des préréglages d'un seul shader sur le matériau photo plutôt que des superpositions. » Lorsque vous prenez une photo, une caméra dédiée rend la zone de la photo dans une texture de rendu carrée à la résolution de sortie. Nous le relisons avec AsyncGPUReadback et encodons le résultat en JPG. Ce cadre ressemble à un flash d'appareil photo.

La résolution de sortie et la qualité JPG proviennent des paramètres par plateforme. L'éditeur prend en charge la souris, le contrôleur et le tactile : glisser et molette de la souris sur ordinateur de bureau ; joysticks et gâchettes sur contrôleur ; et pincement et torsion sur tactile.

Le partage en dehors du jeu passe par les outils propres à chaque plateforme. Le PC peut utiliser le dossier photo ou la bibliothèque multimédia Steam, les consoles utilisent leurs albums système et le mobile utilise la feuille de partage système. Pour une petite équipe, l'utilisation des fonctionnalités de partage existantes de la plateforme élimine beaucoup de travail de certification et de Moderation.

Foxy Dumplings | Soft Crunch Games

Passage à Unity 6.3 LTS

« Le plus précieux que Unity 6.3 LTS ait apporté, c'est une version LTS où tout ce dont nous dépendons est aligné et dont la fenêtre de support couvre nos besoins de lancement », déclare Wątroba.

L'équipe a trouvé 6,3 plus stable dans des domaines tels que l'édition de ScriptableObjects, et les anciens appareils Android ont bénéficié des corrections Vulkan.

Les temps de construction se sont également améliorés. Avec IL2CPP, j'estime que nos builds sont environ 10 à 15 % plus rapides en fonction de la plateforme et du type d'itération. Les performances en temps d'exécution se sont également améliorées de quelques pourcents, en particulier sur le matériel moins performant.

La mise à niveau s'est déroulée globalement sans problème. Chaque effet VFX Graph est devenu initialement invisible car les références de shader ont été perdues pendant la migration ; le réimportation des graphes a rapidement corrigé cela.

Planifier le port avant qu'il n'y ait de port

La décision ayant eu le plus grand impact sur l'équipe a été de conserver une seule branche et d'être strict sur les différences de plateforme dès le début. Le code de jeu ne demande jamais sur quelle plateforme il s'exécute. « Si quelque chose diffère, c'est une donnée, un paramètre de qualité ou un fournisseur derrière une interface », dit Wątroba.

L'équipe a créé un document d'architecture technique aux côtés du document de conception de jeu, de la bible artistique et de la bible narrative, ce qu'ils recommandent de faire. Wątroba notes, « Dessiner les couches techniques du jeu avant la production nous a aidés à séparer les responsabilités et à rendre l'ajout de plateformes beaucoup plus facile. »

La prochaine fois, l'équipe ferait fonctionner les builds sur chaque kit de développement beaucoup plus tôt. « L'architecture était bonne, mais beaucoup de travail réel sur la console a encore été effectué dans les mois précédant la soumission, et le matériel trouve toujours des choses que l'Éditeur ne verra pas. »

Foxy Dumplings | Soft Crunch Games

Expédier un jeu partout

Foxy Dumplings est construit autour d'une simple promesse technique : le même jeu, à partir du même code source, sur PC, console et mobile. Pour une petite équipe, cela ne fonctionne que si le développement multiplateforme est traité comme une contrainte architecturale plutôt que comme une tâche de portage reportée à la fin.

« En gardant le gameplay partagé, en isolant les intégrations de plateforme, en automatisant le travail de construction répétitif et en testant contre les cibles les plus faibles tôt, nous visons à ce que le lancement simultané soit moins une question de maintien de nombreuses versions de Foxy Dumplings et plus une question de diffusion d'un jeu partout », déclare Wątroba.

Foxy Dumplings sera disponible sur PC (Windows, macOS et Linux) via Steam, GOG, l'Epic Games Store et le Microsoft Store avec Xbox Play Anywhere, ainsi que sur Nintendo Switch 2, Nintendo Switch, PlayStation 4, PlayStation 5, Xbox Series X|S, iOS et Android en 2027. Consultez plus d'histoires de développeurs Unity sur le Blog Unity et le Resource Hub.

*Nintendo Switch est une marque déposée de Nintendo.