Как получить плашку совместимости со Steam Deck, не покупая Deck

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

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

Примечание: у меня нет Deck и я ни разу им не пользовался. Разработка игры целиком зависела от помощи моего фаната и простоты разработки под сам Steam Deck.

Для начала приведу список требований Steam от игры:

Проверяющие не особо присматриваются к тому, хорошо ли работает игра и как она ощущается с контроллером. Если она функциональна и они могут легко понять, какая кнопка за что отвечает, они её одобрят. Они не проверяют все языки, поддерживаемые игрой, в основном только английский. Также они особо не следят за производительностью, как и за скоростью разряда аккумулятора. Зато их очень волнует, хорошо ли читаема игра на экране 1280x800, и действительно ли у игрока не возникает проблем при управлении с контроллера.

Тексты в игре должны быть достаточно большими — обычный английский алфавит в нижнем регистре обязан иметь высоту не менее 9 пикселей. Это серьёзная трудность для игр с большим количеством текста на PC или для игр со сложным интерфейсом. Я потратил несколько недель на проверку каждой текстовой метки в игре, пытаясь увеличить их, уместить в область UI с другими элементами. Это было мучительно. Так что если вы планируете поддержку Steam Deck (что, мне кажется, обязательно для каждой инди-игры, потому что, за исключением телефонов, не существует других портативных платформ, позволяющих запускать инди-игры), то вам следует разрабатывать игру, помня о минимальном размере в 9 пикселей. Можно просто сделать скриншот текста игры в движке/редакторе в масштабе 1:1, увеличить скриншот и посчитать количество пикселей по оси Y.

Игра должна определять устройство как Steam Deck и автоматически применять все необходимые параметры, такие как цветовая схема (контроллер XBOX) и разрешение (1280x800). В моём случае пришлось изменять масштаб некоторых окон UI, если игра запущена на Deck, потому что на PC они выглядели бы слишком крупными. Если у вашего игрового движка есть свежий Steam API, то для проверки того, запущена ли игра на Deck, достаточно одного вызова API. Но если его нет, то можно проверять имя устройства и тип операционной системы.

Ещё один аспект, вызывающий много проблем — это пользовательские поля ввода. В моей игре можно вводить имена при создании персонажей, а Steam требует, чтобы сразу после переключения фокуса на поле ввода текста (например, перемещением курсора на него и нажатием кнопки A) автоматически появлялась внутриигровая программная клавиатура для ввода. Но всё не так просто. Также нужно отслеживать событие отправки пользователем введённого текста, перехватывать текст, а затем помещать его в поле ввода, чтобы игрок знал, что его ввод зарегистрирован.

Наконец, Steam очень дотошен относительно глифов кнопок контроллера. Он не хочет, чтобы игрок запутался, так что нужно добавить в игру кучу глифов, чтобы показать игроку, какая кнопка что делает. **Также он не хочет видеть в игре жаргон управления клавиатурой/мышью, например, слово «щелчок» (click).**

Что касается процесса одобрения, то Steam очень терпелив. При каждой отправке запроса на тестирование проверка занимает какое-то время, но проверяющие многократно тестируют игру, пока она не будет одобрена (или пока вы не откажетесь от этой идеи). Один раунд тестирования обычно занимает у Steam семь рабочих дней. После каждого раунда проверяющие отправляют очень подробный и полезный отзыв о том, что нужно изменить. Могу сказать, что мне очень понравилась в этом поддержка Steam.

Отсутствие у вас Deck не вызовет особых проблем. Можно протестировать большинство функций игры, в том числе и ввод с программной клавиатуры, при помощи функции Big Picture в десктопном приложении Steam. Проверка на реальном Deck понадобилась мне лишь в двух случаях:

  1. Чтобы проверить, распознаёт ли игра устройство правильно.

  2. Проверка работы ввода на Deck.

Удачи!

Источник: https://habr.com/ru/articles/768750/


Интересные статьи

Интересные статьи

Публичный Open Source-релиз Deckhouse состоялся в 2021 году. С тех пор мы много и подробно рассказываем о платформе — на Хабре, на конференциях, в СМИ. Однако когда мы проводим презентации Deckhouse п...
Привет habr!Хочу поделиться опытом работы с API системы маркировки товаров «Честный Знак» (ЧЗ) / МДЛП (маркировка лекарственных препаратов), в части выгрузки статистических данных.Не раз сталкивался с...
Исследование Statista в России показывает, что около 60% компаний применяют технологию оркестрации контейнеров в рамках своей инфраструктуры. При этом самостоятельная разработка на Open Source для реш...
Льготная ипотека для ИТ-специалистов существует уже несколько месяцев. Мы попытались разобраться, как она работает, действительно ли льготные условия — льготные и как получить такую ставку. 
Пропустим прелюдия, и не будем объяснять зачем это нужно. Будем прям как математики - сразу перейдем к делу.Вам нужна структура данных которая и в словарь может и в индексы тоже ? Так вот же она:(Её п...