Как получить плашку совместимости для 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.
Удачи!
Предзаказы GTA VI значительно превышают прогнозы, почти три четверти копий купили для PS5
Спустя четыре дня энтузиасты почти довели эмуляцию The Legend of Zelda: Ocarina of Time Remake до идеала
В Steam появилась статистика частоты кадров для игр на Steam Deck
Rockstar продаёт настоящий спорткар Grotti Cheetah из GTA VI
Microsoft готовит ИИ для исправления речи во время стрима
Цифры не на стороне Sony: физические издания игр по-прежнему востребованы у аудитории
OpenAI и ModRetro представили портативную консоль для игр, созданных с помощью Codex
В Xbox Game Pass появятся три игры от создателей Frostpunk