Масштабирование Scratchy Scratchy на разных платформах

Sep 28, 2026
Скритчи Скритчи | Игры на обеденные деньги | Веселые игры

Эта веб-страница была переведена с помощью машинного перевода для вашего удобства. Мы не можем гарантировать точность или надежность переведенного контента. Если у вас есть вопросы о точности переведенного контента, обращайтесь к официальной английской версии веб-страницы.

Перенос Scritchy Scratchy на PC и мобильные устройства с подготовкой к Nintendo Switchᵀᴹ 2 и Nintendo Switch означал адаптацию тактильного взаимодействия для очень разных устройств.

Обеспечение такой же отзывчивости с помощью контроллера потребовало от команды переосмысления ввода, поведения пользовательского интерфейса, тактильной обратной связи и того, как игра адаптируется к различным размерам экрана и соотношениям сторон.

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

С момента запуска игра продана более чем за 1,25 миллиона копий в Steam и 250 000 копий на мобильных устройствах, при этом получив положительный рейтинг Steam в 94% по более чем 14 000 отзывов.

Мы поговорили с Константином Лервигом, креативным директором Lunch Money Games; Ханнибалом Сигфуссоном, генеральным директором Lunch Money Games; Кристианом Бископстё Томсеном, программистом, работающим с Funday Games над портами для мобильных устройств и Nintendo Switch; и Эмилем Кьяэром, руководителем по продукту и партнерам в Funday Games, о самых больших проблемах портирования Scritchy Scratchy.

*Nintendo Switch является товарным знаком Nintendo.

Каковы были ваши основные технические цели при переносе на эти платформы?

Кристиан Бископстё Томсен: Главным тем, что мы знали, что может стать проблемой, была производительность. Не было много узкоспециализированных целей, кроме как обеспечить бесперебойную работу, нацелиться на 60 FPS, обеспечить работу на всех желаемых разрешениях и, в конечном счете, создать ощущение хорошего нативного опыта на каждой платформе.

Константин Лервиг: Были также более мелкие дизайнерские соображения, такие как перемещение элементов интерфейса для разных разрешений и обеспечение того, чтобы опыт не зависел от ввода с клавиатуры. Но мы изначально разрабатывали игру так, чтобы она была относительно легко переносимой, поэтому большая часть этого фундамента уже была готова.

Шуршащий Скрежещущий

Каковы были самые большие технические проблемы, с которыми вы столкнулись при портировании?

CBT: Самыми большими мобильными проблемами были платформозависимые части: заставить сборки работать корректно для App Store и google play, работать с сертификатами, интегрировать платформенные SDK и обрабатывать такие системы, как облачные сохранения.

Ввод стал одной из самых больших проблем, потому что мы разрабатывали игру с учетом мыши и сенсорного экрана. Нам нужно было решить, как должно работать скрежетание с геймпадом. Это включало обсуждения дизайна и несколько итераций, прежде чем мы пришли к чему-то, что показалось нам подходящим.

Эмиль Кьяр: Мы наметили, как должно работать взаимодействие, включая привязку ввода к соответствующей области при открытии тикета и начале рисования.

Для Nintendo Switch 2 в частности, мы также хотели бы поддерживать ее функциональность мыши.

На мобильных устройствах мы добавили тактильную отдачу при скрежетании. Тактильная отдача работает по-разному на огромном количестве устройств, особенно на Android. У нас были случаи, когда пользователи сообщали, что их телефоны вибрируют слишком сильно, поэтому это потребовало некоторой доработки.

Scritchy Scratchy | Игры на обеденные деньги | Игры Funday

Scritchy Scratchy | Игры на обеденные деньги | Игры Funday

Были ли какие-то особые трудности с тем, чтобы основные взаимодействия ощущались тактильными на разных платформах?

CBT: Геймпад, безусловно, был самым сложным элементом для перевода. При касании механика царапания сработал очень хорошо почти сразу. С контроллером нам пришлось переосмыслить, каким должно ощущаться это действие, а не просто сопоставлять курсор один к одному.

EK: Мы вчетвером сели на семинар и посмотрели прямо на версию для PC. Мы эффективно разобрали взаимодействие и перестроили его в каркас для других платформ.

Как только мы это сделали, интуитивный подход стал довольно ясным. Это также говорит о том, насколько тщательно мы продумали первоначальный дизайн с точки зрения кроссплатформенности. Это сэкономило нам много времени, когда мы перенесли игру на мобильные устройства, а затем начали адаптировать взаимодействие для контроллеров.

Scritchy Scratchy | Игры на обеденные деньги | Игры Funday

Scritchy Scratchy | Игры на обеденные деньги | Игры Funday

Какую стратегию портирования вы использовали – единый билд, адаптированный для каждой платформы, или отдельные ветки, специфичные для каждой платформы? Почему?

CBT: Мы выбрали один проект Unity и единую кодовую базу, вместо того чтобы поддерживать отдельные долгоживущие ветви для каждой платформы.

Ветви отдельных платформ имеют тенденцию расходиться. Вы что-то поправили в одной ветке, а затем вам нужно интегрировать это в другие. Как только вы поддерживаете четыре или более цели, это очень быстро становится утомительным.

У одного проекта есть свой недостаток, потому что в результате вы получаете условную компиляцию и проверки, специфичные для платформы, по всему коду. Но из-за размера и сложности Scritchy Scratchy мы оставили его на управляемом уровне.

CL: Другое большое преимущество единого проекта в том, что каждая небольшая оптимизация и исправление ошибок применяется ко всем сборкам.

Scritchy Scratchy | Игры на обеденные деньги | Игры Funday

Scritchy Scratchy | Игры на обеденные деньги | Игры Funday

Как Unity Profiler помог вам найти и устранить узкие места, специфичные для платформы?

CBT: Я много использовал Unity Profiler при работе над производительностью. Мой рабочий процесс, по сути, такой: сначала профилирование, затем определение, что именно медленно, и только потом исправление, а не угадывание.

Самым большим примером были частицы царапин. Когда вы царапаете билет, мы извлекаем информацию из текстуры и генерируем частицы, соответствующие цвету того, что вы царапаете. Это очень хорошо сработало на PC, но первоначальный подход был слишком тяжелым для мобильных устройств.

Решением было использовать GPU instancing для этих частиц. Как только мы внесли это изменение, оно стало одной из самых важных оптимизаций производительности в порту.

Scritchy Scratchy | Игры на обеденные деньги | Игры Funday

Scritchy Scratchy | Игры на обеденные деньги | Игры Funday

Как Input System помогла вам поддерживать различные схемы управления?

CBT: Тот факт, что сенсорная работала практически "из коробки" с Input System, был чрезвычайно полезен и сэкономил много времени.

Я могу подключить контроллер к своему PC, поиграть и протестировать управление прямо в Редакторе, а затем собрать игру для Nintendo Switch. Назначения контроллеров переносятся через Input System, что значительно ускоряет итерации.

HS: С самого начала проекта мы построили слой между Input System и остальной частью нашего кода. Коду игры не нужно напрямую заботиться о каждом типе аппаратного ввода. Он может использовать этот слой, чтобы определить, активировал ли ввод указатель, где находится указатель или каково его мировое положение.

Scritchy Scratchy | Игры на обеденные деньги | Игры Funday

Scritchy Scratchy | Игры на обеденные деньги | Игры Funday

Какие целевые показатели производительности вы установили для каждой платформы и насколько близко вы к ним подошли?

EK: Мы установили минимальные поддерживаемые уровни ОС и API для мобильных устройств, а затем протестировали их на устройствах, близких к нижней границе этого диапазона.

После того как мы внедрили исправление GPU-инстансинга для системы частиц, мы не наблюдали значительных проблем с частотой кадров на этих устройствах.

На iOS мы специально протестировали устройства, включая iPhone X и iPhone XS, чтобы убедиться, что игра хорошо работает на оборудовании, которое мы хотели поддерживать. Мы следовали той же философии на Android.

CL: Scritchy Scratchy должен ощущаться гладко, потому что царапание перестает приносить удовлетворение, если игра тормозит.

Требование заключалось в том, чтобы это ощущалось как поцарапывание физического скретч-билета пальцем. На практике это означало нацеливание на плавность, которую вы получаете при 60 FPS.

CBT: Решение было еще одной проблемой. Мы разработали оригинальную игру для широкоэкранного PC-дисплея. Большинство разрешений для телефонов в альбомной ориентации переводились довольно естественно, но соотношение сторон iPad было сложнее.

У нас было достаточно времени до выпуска, чтобы заставить работать и версию для iPad. Это включало корректировку презентации и использование некоторого зума внутрь и наружу, чтобы макет выглядел естественно.

Целью было, чтобы независимо от того, встретил ли кто-то Scritchy Scratchy сначала на PC, телефоне или iPad, это ощущалось бы как нечто, принадлежащее этому устройству, а не как скомпрометированный порт.

Scritchy Scratchy | Игры на обеденные деньги | Игры Funday

Scritchy Scratchy | Игры на обеденные деньги | Игры Funday

Какие решения по Deployment оказали наибольшее влияние на качество доставки на разных платформах?

EK: Самым большим решением о Deployment было оставить всё в одном проекте.

Это важно не только для первого порта, но и для последующей поддерживаемости. Когда мы говорим о новом контенте, попадающем в игру, мне не нужно беспокоиться о том, сколько времени займет протаскивание этого контента через несколько независимых веток платформ.

CL: Это также облегчило перемещение людей между задачами. У нас был разработчик, который помогал нам исправлять ошибки в PC, а затем мог напрямую переходить к исправлению проблем с мобильными устройствами, не изучая отдельную мобильную кодовую базу.

Scritchy Scratchy | Игры на обеденные деньги | Игры Funday

Scritchy Scratchy | Игры на обеденные деньги | Игры Funday

Какой ваш главный совет для разработчиков, планирующих портировать игру на несколько платформ?

CL: С точки зрения дизайна, решите на раннем этапе, на каких платформах потенциально может быть игра. Мы приняли раннее решение не уделять большого внимания геймпаду, и позже мы увидели, как это создало дополнительную работу.

HS: Думайте о вводе, разрешении, соотношении сторон и о том, как игра должна ощущаться на разных платформах с самого начала. Эти вещи гораздо сложнее добавить позже.

Scritchy Scratchy доступен в Steam, в App Store и в Google Play. Посмотрите больше историй от разработчиков Unity в Unity Blog и Resource Hub.