Совместимость со Steam Deck. Личный опыт
Помните того городского сумасшедшего, который 900+ часов стримил, как он делает игру, и выложил её в Стим? Так вот, эта игра теперь имеет ту самую галочку Verified. Итак, хотите узнать о процессе?
До релиза
Мне крепко повезло, и часть работы я сделал сам того не зная, ещё до появления Deck'а. В чём тут дело. С некоторых пор единым стандартом геймпадного ввода на ПК стал пресловутый XInput. А это геймпад от XBox + несколько других падов, поддерживающих его. И когда я решил, что моя игра должна норм играться с геймпада, единственным вариантом, который толком поддерживал Monogame, был XBox'оподобный. Так я всю разработку и провёл, тестируя и подгоняя свою игру под мой пад от XBox360.
Проходят годы, в лабораториях Valve готовят PC 2, и основным вариантом ввода для портативки Габена становится что-то, что неизбежно совместимо с XInput. Просто сравните.
Таким образом, если оно работало с этим геймпадом, оно так же работало и с портативкой. По умолчанию моя игра законфигурена использовать геймпад, и переключаться на клаву, если вдруг геймпад отсоединился. Это в игре. В меню же и геймпад, и клавиатура работают вне зависимости от этой настройки. На всякий случай.
Ещё одним условием было, чтобы оно хоть как-то пыхтело на дечке. Но вы видели мой графон? Плюс к тому, достаточно низкоуровневая технология. В общем, пыхтело оно на дечке. Нормально пыхтело. Но это было уже после.
После релиза
Итак, когда нажимается кнопочка Release, вы получаете статус Unknown. Получил его и я. Чтоб вы понимали, моя игра абсолютно бесплатна и имеет 8 (восемь) обзоров. Из которых половина - родственники и друзья. И просмотра скриншотов, думаю, достаточно, чтобы понять почему. Но тут ведь как. Игра в Steam, а значит рано или поздно до неё доберутся те самые несчастные люди.
Спустя три месяца я получаю письмо счастья о том, что моей игре присвоен статус Playable.
После проверки
Открыв партнёрку Стима я увидел там такое:
Ниже был раздел Details.
Верхний блок выглядит так:
Но самое интересное внизу. Снизу вверх и пойдём по каждому тесту. Они, в принципе, достаточно очевидные, но на всякий случай распишу. А если вас ситуация "Мойше по телефону напел Паваротти" не удовлетворяет, вот вам ссылка на официальную документацию.
Погнали снизу вверх.
Это тест на случай, если вы пихаете всё подряд в облако Стима, не разобравшись. Например, настройки разрешения. Выставил на пека боярин себе царские 4к. А потом эти настройки подтягиваются на дек, и на деке (1280х800, чуть что) игра превращается в тыкву. Забавно, что этот тест чуть ли не самый важный. Видимо, одна из самых задолбавших проблем. К счастью, у меня настройки были отдельно.
Видимо, это плохой план - крутить ваши четыре спрайта на 6666 FPS, пока батарея не сядет в нулину. Мне повезло. Monogame ограничивает на 60 FPS по умолчанию. Причин это менять у меня не было.
Врать не буду, за что тест отвечает не знаю наверняка, но подозреваю, за то, что игра не превращается в траходром для пользователя уже в главном меню. Моя менюшка полностью работает с геймпадом.
Аналогично, не знаю наверняка, но думаю тут речь о том, чтобы управление уже самой игрой было возможно с кнопками и стиками дека.
Я не знаю, что надо сделать, чтобы этой зафейлить. Пользоваться чем-то более экзотическим, чем Monogame?
Поставил и играешь. Консольный опыт с вашей стим-библиотекой - киллер-фича. Если поставил, а потом наворачивать какой-нибудь сраный лаунчер, копаться в нём, даже если один раз, это не очень хорошо. Подозреваю, что именно из-за этого та же GTA V хрен получит эту галочку.
Забавно, что за разрешение отвечает отдельный тест. А этот, видимо, за то, чтобы изображение было. И было без лютой экзотики, которая экраном дека не поддерживается. Отсев VR-тайтлов?
0,6666 FPS по умолчанию, очевидно, тоже плохо сказывается на пользовательском опыте. По возможности, избегайте этого.
А вот тут забавно. Этот тест нужен, чтобы пользователь не гадал, где тут на деке левый Ctrl и правый Shift. Но если ты показываешь хотя бы глифы от XBox - прокатывает. Помните фотки выше?
А этот тест нужен, чтобы вы по умолчанию не выставили клавиатуру в качестве единственного устройства ввода, обрекая игрока на сеанс пердолинга. Как я писал выше, у меня по умолчанию "геймпад, если он есть".
Не буду врать, что дословно понимаю, о чём эти три теста. Разве что про First Time Setup хочу сказать. То, что я этот тест прошёл больше заслуга Valve, чем моя. Они смогли, и SteamOS не превратилась в тыкву от необходимости поставить .NET Core 3.1 (виндовую версию, чуть что).
Чтобы это завалить, нужно использовать какую-то экзотику, которую proton не переваривает. Очевидно, Monogame такой экзотикой не является.
А теперь переходим к той части, где я обосрался. В окне ли, в полноэкране ли, но желательно ставить 1280*800 или 1280*720 по умолчанию. Я очень не хотел завязываться на SteamAPI и заниматься дополнительно его настройкой (нужно предусмотреть случай, когда мы не из Стима играем). Поэтому я поменял настройки по умолчанию. Теперь у меня по умолчанию фул-скрин с текущим разрешением. Сработало.
Так как этот тест не лишаем вас галочки, я не стал над ним заморачиваться. Видимо, если пользователь подключает к деку разное, значит морально готов к пердолингу. В таком разрезе логика Valve мне понятна. Кстати, не уверен, что все предыдущие тесты лишают вас галочки. Но так как я их прошёл, мне этого уже не узнать.
Ещё один обосрамс с моей стороны. Девять пикселей - допустимый минимум для текста, и то, если контрастность хороша. Вэлв проверяют игры с разным освещением и в разных условиях. Так что 9 пикселей - минимум, а лучше 12.
У меня особо мелкого текста не было. За исключением подсказок на заставках между уровнями.
Пришлось перерисовать.
После осознания результатов проверки
Стим предлагает тебе, если совсем насрать, сразу же вывесить результат проверки в магазине, чтобы слабые духом могли сразу же начать светить своим Playable как лохи.
Если вы захотите исправить, вам дадут что-то около недели. Мне хватило одного двухчасового стрима, чтобы порешать вопросики.
После этого жмёте кнопку Submit for re-review, пишете о предпринятых мерах, и игра ставится в очередь на тест.
Повторная проверка заняла в моём случае два-три рабочих дня. В субботу вечером я починил, и в среду, кажется, мне прислали новый отчёт.
После обретения заветной галочки
Вы можете ещё что-то подправить и попросить перепроверить, а можете нажать кнопку "Publish", и спустя минут десять уже будете серьёзным разработчиком, у которого игра не просто в Стиме, а ещё и совместима со Steam Deck.
Не то, чтобы моей игре это сильно поможет, но приятно ощутить себя профессионалом и взрослым человеком.
А, ну и сама игра, куда ж без этого.