Soft Crunch Games: Проєктування Foxy Dumplings для єдиності на всіх платформах
Public- 16 Oct, 2026

Студія Soft Crunch Games, що налічує чотири особи, зіткнулася з серйозним викликом: випустити Foxy Dumplings одночасно на Windows, macOS, Linux, Nintendo Switch 2, PlayStation 4 і 5, Xbox Series X|S, iOS та Android. Щоб впоратися з цією складністю, команда встановила ключове архітектурне правило: кожна платформа отримує абсолютно однакову гру з одного й того самого коміту. Такий підхід виключив використання окремих гілок, затримки мобільних версій або релізи з обмеженим контентом. Єдиний програміст, Grzegorz Wątroba, спроєктував систему так, щоб не робити жодних компромісів у паритеті функцій. Це гарантує, що гравці на будь-якому пристрої отримують повний досвід затишної кулінарної та управлінської симуляції, не чекаючи платформно-специфічних оновлень і не стикаючись із неповним набором контенту.
Технічна основа будується на єдиному проєкті Unity та одній гілці, де ігрова логіка строго відокремлена від платформно-специфічного коду. Взаємодія з платформами винесена на периферію системи та займається завданнями, такими як збереження, користувацькі акаунти, досягнення, хмарна синхронізація та системні діалоги. Патерн «фасад» забезпечує єдину точку входу для ігрової логіки, а фабрика обирає правильний платформний провайдер під час запуску. Наприклад, коли гра запитує розблокування досягнення, вона не знає, чи направлено виклик у Steam, PlayStation Network, чи його повністю ігнорують. Ця абстракція дозволяє ядру гри залишатися незалежним від апаратного забезпечення, що забезпечує можливість додавання нової платформи без переписування центральної ігрової механіки або потоків логіки.
Обробка вводу спроектована так, щоб бути повністю незалежною для кожної схеми керування. Це дозволяє гравцям пройти гру, використовуючи лише геймпад, сенсорний екран або мишу, без потреби в клавіатурі. Команда використала Unity Input System з одним набором дій та трьома різними схемами керування: геймпад, клавіатура з мишею, а також дотикове керування. Гра перемикає схеми в реальному часі на основі останнього використаного вводу, а інтерфейс користувача адаптується автоматично. Один Prefab із підказками кнопок використовується майже в 200 місцях, динамічно відображаючи правильну іконку для активного методу вводу. Цей підхід, заснований на можливостях, а не на визначенні пристрою, виявився критично важливим для сумісності з пристроями, такими як Steam Deck, де сенсорний екран може емулювати мишу, а також зі старим обладнанням Android із різними можливостями вводу.
Оптимізація продуктивності була критично важливою для 2D-гри, що використовує персонажів Spine та матеріали без освітлення, особливо на слабкому обладнанні. Команда виявила, що рендеринг ефектів у текстури рендерингу 4K не потрібен для дисплеїв 1080p або 720p. Налаштувавши текстури рендерингу під фактичну роздільну здатність екрана та вимкнувши невикористані HDR- та текстури глибини, вони значно зменшили швидкість заповнення пікселів на пристроях, таких як Steam Deck, знизивши пам'ять текстур рендерингу з 32 МБ до 4 МБ. Крім того, піки використання пам'яті, спричинені локалізацією, були вирішені шляхом регенерації резервних атласів шрифтів зі сторінок 4096x4096 до 2048x2048, що скоротило використання пам'яті для таких мов, як японська, з 48 МБ до 4-8 МБ на шрифт. Ці оптимізації забезпечили плавну роботу на широкому спектрі підтримуваних пристроїв.
Кроссплатформний прогрес керується через портативну систему збережень, де прогрес зберігається у вигляді одного зашифрованого двійкового файлу з ідентичним форматом на всіх платформах. Це дозволяє збереженню, створеному на мобільному пристрої, читатися напряму на ПК без конвертації. Синхронізація працює на двох рівнях: нативне хмарне збереження платформи та Unity Cloud Save, яке обробляє прогрес між екосистемами. Логіка злиття порівнює слоти збережень за часовою міткою, при цьому видалені слоти позначаються, щоб запобігти їхньому «відродженню» з хмари. Код зв'язування Unity Authentication з'єднує акаунти консолей і ПК, роблячи кросспрогрес опційним, але зберігаючи гру повністю придатною до гри в автономному режимі. Команда підкреслила, що хоча зберігання даних є простим, керування ідентичністю складне і потребує окремих механізмів довіри для тикетів Steam, токенів PlayStation і токенів Xbox.
Процес розробки був значно автоматизований, щоб керувати навантаженням невеликої команди. Центральне меню збірки з понад 70 пунктами обробляє всі конфігурації, включно з типами збірки, демо-версіями та налаштуваннями виведення, що усуває потребу в ручних змінах у Project Settings. Перевірки компіляції запускаються приблизно для 40 платформених та магазинних конфігурацій, щоб виявляти помилки до етапу QA. Керування обсягом робіт передбачало відмову від функцій, які б множили роботу по платформах, таких як поля введення тексту, онлайн-мультиплеєр та вбудовані покупки. Команда також використовувала Unity 6.3 LTS, яка пропонувала покращену стабільність, виправлення Vulkan для старих пристроїв Android та прискорення часу збірки IL2CPP на 10-15%. Цей структурований підхід дозволив команді підтримувати високу якість та узгодженість на всіх платформах, тоді як зовнішній QA зосереджувався на платформозалежних шарах, таких як сертифікація та поведінка при призупиненні/відновленні.