Scaling Scritchy Scratchy: один проект на Unity, четыре платформы

  • PublicPublic
  • 29 Sep, 2026
Scaling Scritchy Scratchy: один проект на Unity, четыре платформы

Scritchy Scratchy построила всю свою индивидуальность вокруг тактильной механики стирания-скретчинга, которая почти идеально ложится на палец, скользящий по стеклу. Это дизайнерское решение быстро окупилось на мобильных: сенсорный ввод заработал практически из коробки, и скретчинг ощущался как надо почти без доработок. Настоящее испытание началось, когда команда Lunch Money Games и Funday Games решила выпустить игру на ПК, смартфонах, планшетах и на текущем, и на готовящемся железе Nintendo — всё с единой общей основы.

Главным источником трения оказалось то самое, что делало игру приятной: ввод. Игра создавалась под мышь и сенсор, так что команде пришлось с нуля решать, каким должен быть скретчинг на геймпаде, а не просто привязывать курсор один к одному. На воркшопе они разобрали взаимодействие по косточкам и пересобрали его как каркас для других платформ — ввод «примагничивается» к зоне билета, когда игрок начинает скрести. Для Nintendo Switch 2 они дополнительно оперлись на поддержку мыши в самом железе, а на мобильных добавили тактильный отклик — и его пришлось заметно подстраивать, особенно на Android, где некоторые устройства вибрировали чересчур сильно.

Вместо того чтобы держать по ветке на каждую платформу, команда выбрала единый проект и единую кодовую базу на Unity. Отдельные ветки имеют свойство расходиться, и каждое исправление приходится вливать во все цели — занятие тоскливое, когда поддерживаешь четыре и больше платформ. Такой подход чего-то да стоит: по коду разбросаны условная компиляция и проверки под конкретные платформы, но для проекта такого размера команда держала их в разумных пределах. Выигрыш в том, что каждая оптимизация и каждое исправление автоматически распространяются на все сборки, а разработчик, чинящий баги на ПК, может сразу пересесть на мобильные проблемы, не разбираясь в отдельной кодовой базе.

Производительность была главной технической целью — бесшовный, «нативный» по ощущениям опыт в районе 60 кадров в секунду. Одним из тяжёлых узких мест оказались частицы скретчинга, которые считывают цвет текстуры, когда игрок скребёт; исходный подход работал на ПК отлично, но на мобильных был слишком тяжёлым. Замена его на GPU-инстансинг стала самой важной оптимизацией за весь порт. Весь процесс вёл Unity Profiler — сначала профилируешь, находишь, что на самом деле тормозит, и только потом чинишь это, а не гадаешь.

Разрешение и раскладка довершали список задач. Изначально игра делалась под широкоформатный экран, и хотя большинство ландшафтных телефонов легли на неё естественно, соотношение сторон iPad оказалось сложнее — пришлось корректировать подачу и подзумить. Команда задала минимальные уровни ОС и API на мобильных и протестировала игру на слабом железе, включая iPhone X и XS, чтобы убедиться, что всё остаётся плавным. В итоге игра разошлась тиражом более 1,25 миллиона копий в Steam и 250 тысяч — на мобильных, с 94% положительных отзывов в Steam.