Как получить плашку совместимости для Steam Deck без покупки самого Deck
Пару месяцев назад Steam выложил в Steamworks инструмент для разработчиков, позволяющий отправлять игры на сертификацию: Steam тестирует и проверяет игру, а затем решает, совместима ли она с Steam Deck. Так как я уже реализовал в своей игре поддержку геймпадов, то сразу приступил к делу. Мне понадобилось два месяца переписок со Steam, чтобы он наконец верифицировал полную совместимость игры со Steam Deck. Я не нашёл особо много информации об этом процессе, поэтому захотел поделиться своим опытом, чтобы другим разработчикам не приходилось совершать те же ошибки.
Примечание: у меня нет Deck и я ни разу им не пользовался. Разработка игры целиком зависела от помощи моего фаната и простоты разработки под сам Steam Deck.
Для начала приведу список требований Steam от игры:

Проверяющие не особо присматриваются к тому, хорошо ли работает игра и как она ощущается с контроллером. Если она функциональна и они могут легко понять, какая кнопка за что отвечает, они её одобрят. Они не проверяют все языки, поддерживаемые игрой, в основном только английский. Также они особо не следят за производительностью, как и за скоростью разряда аккумулятора. Зато их очень волнует, хорошо ли читаема игра на экране 1280×800, и действительно ли у игрока не возникает проблем при управлении с контроллера.
Тексты в игре должны быть достаточно большими — обычный английский алфавит в нижнем регистре обязан иметь высоту не менее 9 пикселей. Это серьёзная трудность для игр с большим количеством текста на PC или для игр со сложным интерфейсом. Я потратил несколько недель на проверку каждой текстовой метки в игре, пытаясь увеличить их, уместить в область UI с другими элементами. Это было мучительно. Так что если вы планируете поддержку Steam Deck (что, мне кажется, обязательно для каждой инди-игры, потому что, за исключением телефонов, не существует других портативных платформ, позволяющих запускать инди-игры), то вам следует разрабатывать игру, помня о минимальном размере в 9 пикселей. Можно просто сделать скриншот текста игры в движке/редакторе в масштабе 1:1, увеличить скриншот и посчитать количество пикселей по оси Y.
Игра должна определять устройство как Steam Deck и автоматически применять все необходимые параметры, такие как цветовая схема (контроллер XBOX) и разрешение (1280×800). В моём случае пришлось изменять масштаб некоторых окон UI, если игра запущена на Deck, потому что на PC они выглядели бы слишком крупными. Если у вашего игрового движка есть свежий Steam API, то для проверки того, запущена ли игра на Deck, достаточно одного вызова API. Но если его нет, то можно проверять имя устройства и тип операционной системы.
Ещё один аспект, вызывающий много проблем — это пользовательские поля ввода. В моей игре можно вводить имена при создании персонажей, а Steam требует, чтобы сразу после переключения фокуса на поле ввода текста (например, перемещением курсора на него и нажатием кнопки A) автоматически появлялась внутриигровая программная клавиатура для ввода. Но всё не так просто. Также нужно отслеживать событие отправки пользователем введённого текста, перехватывать текст, а затем помещать его в поле ввода, чтобы игрок знал, что его ввод зарегистрирован.
Наконец, Steam очень дотошен относительно глифов кнопок контроллера. Он не хочет, чтобы игрок запутался, так что нужно добавить в игру кучу глифов, чтобы показать игроку, какая кнопка что делает. **Также он не хочет видеть в игре жаргон управления клавиатурой/мышью, например, слово «щелчок» (click).**
Что касается процесса одобрения, то Steam очень терпелив. При каждой отправке запроса на тестирование проверка занимает какое-то время, но проверяющие многократно тестируют игру, пока она не будет одобрена (или пока вы не откажетесь от этой идеи). Один раунд тестирования обычно занимает у Steam семь рабочих дней. После каждого раунда проверяющие отправляют очень подробный и полезный отзыв о том, что нужно изменить. Могу сказать, что мне очень понравилась в этом поддержка Steam.
Отсутствие у вас Deck не вызовет особых проблем. Можно протестировать большинство функций игры, в том числе и ввод с программной клавиатуры, при помощи функции Big Picture в десктопном приложении Steam. Проверка на реальном Deck понадобилась мне лишь в двух случаях:
-
Чтобы проверить, распознаёт ли игра устройство правильно.
-
Проверка работы ввода на Deck.
Удачи!
Главное за 29 сентября: противостояние американской чиновницы с геймерами и возвращение The Last of Us
Для Satisfactory анонсировали первое дополнение Core Values и показали его тизер
Моддер добавил в Minecraft новое измерение под названием Сифт
JoyToy показала распаковку фигурки Малогарста Кривого из легиона Сынов Хоруса
Iron Studios открыла предзаказ на статую Шанг Цунга из классической Mortal Kombat
Создатель оригинальной God of War раскритиковал авторов God of War Laufey за отсутствие страсти к играм
Бывший креативный директор Halo призвал Activision вернуть уволенных разработчиков для работы над серией
По данным датамайнеров, Nintendo готовит бесплатные подарки для подписчиков Switch Online