Документація Steamworks
Підготовка вашої гри для Steam Deck
Хоча у своїй основі Steam Deck — це ПК, він представлений у новому форматі, тому користувачі матимуть відповідні очікування й надії. Окрім критеріїв, описаних у розділі про перевірку на сумісність зі Steam Deck, тут представлені наші додаткові рекомендації.

Жодні з цих рекомендацій не впливатимуть на значок сумісності вашої гри. Вони спрямовані на задоволення очікувань користувачів щодо введення та зображення, покращення швидкодії, збільшення часу роботи від акумулятора й на отримання всіх переваг від нових можливостей, які надає Steam Deck.

Хоча ці рекомендації надзвичайно важливі для користувачів Steam Deck, вони також мають цінність і для користувачів ПК, багато з яких грають лише з контролерами, і грають лише вдома.
SDK Steamworks: багато API, які рекомендуються на цій сторінці, були додані до версії 1.52 SDK Steamworks, котра вийшла 14 вересня 2021 року.

Введення

  • Стандартна конфігурація контролера: наполегливо рекомендуємо (і вимагаємо для значка «Сумісна зі Steam Deck»), щоби стандартна конфігурація контролерів для вашої гри давала доступ до всієї внутрішньоігрової функціональності. Якщо ваша гра не має початкової підтримки контролерів, то рекомендуємо створити конфігурацію контролерів із призначенням відповідних уведень миші та клавіатури. Упровадження підтримки ґеймпада чи вбудованого введення Steam може відкрити вашу гру для цілковито нової категорії користувачів.
  • Текстове введення: ми наполегливо рекомендуємо (і вимагаємо для значка «Сумісна зі Steam Deck»), щоб ігри автоматично показували екранну клавіатуру, коли користувачу потрібно ввести текст. Рекомендуємо використати один із двох API SDK Steamworks для екранних клавіатур, залежно від вашого випадку: ShowFloatingGamepadTextInput (надсилає прямі введення клавіш) або ShowGamepadTextInput (на основі зворотних викликів).
  • Підтримка гіроскопа та сенсорної панелі: рекомендуємо, щоб ігри з підтримкою руху камери в стилі миші (рух 1 до 1) й у стилі джойстика підтримували обидва варіанти одночасно. Ми радимо не перешкоджати звичайному впливу подій миші на камеру, якщо вони не порушують роботу контролера, і перемикатися в режим миші й клавіатури лише у випадку отримання події клацання миші. Відомі такі поширені проблеми: введення джойстика блокується в разі використання миші для керування камерою й навпаки; кнопки контролера не працюють у разі використання миші для керування камерою; показ піктограм для екранних кнопок змінюється між піктограмами контролера та клавіатури чи миші. Усе це ускладнює користувачам гру зі своєю улюбленою схемою керування (примітка: ця функціональність автоматична, якщо використовується API введення Steam).

Графіка

  • Vulkan API: для найкращої швидкодії та найдовшої тривалості роботи від акумулятора радимо використовувати Vulkan як основний API графіки. Якщо ви використовуєте рушій Unity або Unreal, ввімкнення Vulkan у своїй збірці для всіх користувачів призведе до найкращої продуктивності та довговічності. Примітка: Proton містить шар переходу від DirectX до Vulkan. Якщо ваша гра чи рушій мають високоякісну підтримку DirectX, але не мають підтримки Vulkan, то, найімовірніше, використання автоматичного шару переходу буде доцільнішим за створення нестандартного впровадження Vulkan.
  • Video/Audio Codecs: We recommend using standalone codecs (eg., VP9 or AV1) rather than codecs that are tied to a specific vendor (eg., WMF).

Ігрові функції

  • Хмарні збереження: рекомендуємо ввімкнути автоматичне збереження в хмарі для ігор, які його підтримують. Користувачі повинні мати можливість зберігати гру на Steam Deck і продовжувати грати в неї на ПК (і навпаки) без перенесення файлів вручну. Це значить, що ігри мають надавати хмарне збереження через Steam Cloud чи автоматичний сторонній сервіс, як-от через ігрові або видавничі акаунти зі збереженням на боці сервера. Настійно рекомендуємо використовувати Steam Cloud для автоматичного перенесення. Ми НЕ рекомендуємо синхронізувати ігрові налаштування (наприклад роздільність екрана) між різними пристроями.
  • Автономний режим: наполегливо рекомендуємо робити весь однокористувацький вміст доступним без Інтернет-підключення. Для тестування гри не потрібне підключення до Інтернету, навіть у випадку першого запуску гри на новому акаунті Steam. Ця функція може бути особливо корисною для користувачів Steam Deck, які, на відміну від користувачів стандартного ПК, можуть не завжди мати стабільне мережеве підключення.
  • Запускачі: рекомендуємо вбудувати всю необхідну функціональність в ігровий клієнт, щоби користувачам не довелось використовувати запускач для запуску вашої гри. Запускачі часто залежать від зорієнтованого на платформу середовища (.NET, WPF тощо), що може погіршити досвід користувачів на малому екрані та з використанням контролера для навігації. Коли вбудовані запускачі інтерфейсу необхідні, можна використовувати API SetGameLauncherMode, щоб автоматично перетворювати введення контролера на події миші та клавіатури.