GameSphere

Вопросы и известные проблемы

Частые вопросы

Здесь то, что мы знаем про продукт на сегодня, — вместе с изъянами. Известная проблема называется вслух и с цифрами замера: узнать свою поломку по имени полезнее, чем прочитать «всё работает» и час выяснять, что нет.

Ничего из написанного ниже не сочинено «по опыту»: каждый ответ — из каталога рецептов, кода продукта или журнала измерений. Где мы чего-то не проверяли, так и сказано.

Перед установкой

Какой нужен Mac?

Apple Silicon — M1 и новее — и macOS 14 или новее. На Mac с процессором Intel мастер первого запуска останавливается до любой загрузки и говорит об этом прямо: слой трансляции работает только на процессорах Apple, поэтому продолжить не получится — «ничего не загружается: время и трафик целы».

Нужна ли копия Windows и её лицензия?

Нет. Windows не устанавливается и виртуальной машины здесь нет: программы Windows исполняет слой трансляции на основе Wine, который переводит их обращения к системе в обращения к macOS. Покупать и ставить Windows не нужно.

Придётся ли лезть в терминал?

Нет. Единственный системный шаг — Rosetta 2, и мастер ставит её сам по нажатию кнопки: «Rosetta 2 нужна, чтобы запускать 64-битный код Windows на процессоре Apple. Нажмите кнопку — macOS скачает и поставит её сама. Терминал и команды не понадобятся».

Сколько нужно места?

Около 250 ГБ — это мерка для библиотеки игр, которой пользуется мастер первого запуска, а не аппетит самого продукта: столько занимает наш референс-каталог из пятнадцати игр. Сам продукт с движком занимает несравнимо меньше; точную цифру мы назовём на странице «Скачать» вместе с первым выпуском, а не по памяти.

Мерка — не потолок. Отдельная игра бывает больше всей этой оценки: у Atomic Heart, например, дистрибутив около 157 ГиБ по каталогу магазина. Считайте место по своим играм, а не по нашей средней.

Уже можно скачать?

Первый публичный выпуск готовится. Пока его нет, страница «Скачать» так и говорит — мёртвой кнопки там не будет.

Совместимость: чему тут верить

Что значат четыре статуса?

Ровно то, что написано, — теми же словами, что и в приложении:

работает рецепт есть, оговорок нет.
работает с оговорками рецепт есть, но про игру известны особенности: подтверждённые проблемы, незакрытые гипотезы или отдельный шаг с компонентом Apple.
не запустится с названной причиной. Карточка при этом из витрины не исчезает: пропавшая игра читалась бы как потеря, а не как честный отказ.
никто не проверял про игру не знает ни каталог, ни вы. Это не «скорее всего заработает».

Откуда GameSphere знает про игру?

Из каталога рецептов, и у каждого рецепта помечено, на чём он основан. Живой запуск в нашем окружении есть сегодня у двух рецептов: Игрового центра VK Play и «Земского Собора» (Smuta, Unreal Engine 5, DirectX 11) — вердикт живого тестировщика «играбельно».

Все остальные рецепты собраны из открытых источников и каталога клиента VK Play, и у каждого стоит невыдуманная оговорка «в нашем окружении игра пока не запускалась». Приёмка каталога переводит такие рецепты в проверенные — и только в эту сторону.

У игры античит — она пойдёт?

Зависит от того, какой. Античит уровня ядра ставит драйвер Windows, которого нет ни у Wine, ни у Rosetta 2, — такая игра не запустится в принципе, и продукт говорит это до установки, а не после часа скачивания. Античит пользовательского режима сам по себе запуску не мешает.

Признак берётся из рецепта игры, а не угадывается по магазину: «раз VK Play, значит античит» пометило бы неработающими и одиночные игры, у которых его нет.

Каталог рецептов обновляется?

Да, и это платная возможность. Приложение объясняет её так: «Каталог автофиксов приезжает с сервера и чинит игры, сломанные обновлениями, не дожидаясь новой версии приложения. Платная версия открывает его; бесплатная работает на встроенном каталоге». Встроенный каталог никуда не девается и работает без сети.

VK Play

Окно Игрового центра мерцает — это поломка?

Это косметика самого клиента: в него встроен браузерный движок Chromium, и мерцание — его чёрные кадры между нормальными. Постоянное мерцание вылечено: GameSphere запускает клиент с ключами --disable-gpu-vsync и --disable-frame-rate-limit. Замер сериями снимков с попиксельным сравнением: ноль чёрных кадров в семи сериях против провалов в трёх сериях из четырёх без этих ключей.

Остаточное мерцание есть, и мы о нём говорим: редкий короткий чёрный кадр в момент загрузки страницы. Цена лечения тоже названа: браузерная часть клиента стала прожорливее — в замере по тридцать секунд процессорное время выросло примерно со 123 % до 153 %.

На игры это не распространяется. Под DXMT они рисуются без мерцания — это проверено; мерцает интерфейс клиента, а не перевод графики.

Если остаточное мерцание всё равно мешает, есть обход: пользуйтесь веб-кабинетом account.vkplay.ru вместо окна клиента — GameSphere нужен работающий клиент, а не ваши глаза в нём.

Что пробовали и что не помогло: путь ANGLE → Direct3D 11 → DXMT (подтверждён журналом загрузки библиотек, мерцание не убирает) и ключ оконного драйвера Wine AllowVerticalSync=n. Попутная находка: вовсе без ключей запуска клиент нестабилен — на стенде он дважды тихо завершался через одну-две минуты. То есть ключи рецепта несут не только косметику.

Игра пишет «Пожалуйста запустите игру через Игровой Центр VK» и остаётся чёрной

Так и есть: игры VK Play не запускаются в обход клиента. Игра получает от Игрового центра одноразовый код и без него показывает это окно — в журнале видно, как она стучится к клиенту и не находит его. Это не поломка перевода графики.

Поэтому GameSphere не запускает такую игру напрямую, а отдаёт команду самому клиенту, и тот доводит её до игрового процесса. Приложение говорит это своими словами: «Игру запускает сам Игровой центр VK Play по команде GameSphere: игры VK Play не работают в обход клиента, поэтому клиент останется открытым — он нужен игре всё время её работы». Закроете Игровой центр во время игры — потеряете игру.

Если клиент не подтвердил запуск за отведённое время, приложение честно скажет и об этом: «Игровой центр не подтвердил запуск игры за отведённое время. Клиент открыт — если игра не появилась, запустите её кнопкой в его окне: этот путь проверен».

В библиотеке VK Play пусто, хотя игры куплены

Сервер VK Play список покупок наружу не отдаёт вовсе. GameSphere собирает библиотеку из двух местных следов залогиненного клиента: раздела «Мои игры», который клиент записывает на диск после входа, и того, что он установил на этом Mac. Пусто — значит след ещё не записан или покупок нет, а не «агрегатор потерял игры».

Что делать: откройте «Мои игры» в окне Игрового центра и обновите библиотеку в GameSphere. Сверить состав покупок можно в веб-кабинете account.vkplay.ru.

Установщик клиента хочет раздавать игры по торренту

В установщике Игрового центра по умолчанию включена галка «Раздавать игры после окончания скачивания». Продукт показывает это предупреждение до установщика, а не оставляет галку незамеченной: снимите её, если раздача не нужна, и завершите установку кнопками самого установщика.

Первый вход в VK Play сорвался сетевой ошибкой

Известная особенность клиента: его собственный сетевой стек под Wine иногда не проходит TLS-рукопожатие с сервером входа. Снято с журнала клиента при живом подключении: первая попытка упала этой ошибкой, вторая — через страницу account.vkplay.ru — прошла сразу. Просто повторите вход. GameSphere в сеть клиента не вмешивается, это происходит внутри него.

Графика

Игре нужен DirectX 12 — что за компонент Apple?

DirectX 12 умеет переводить только компонент Apple — D3DMetal из Game Porting Toolkit. Встроить его в GameSphere нельзя: лицензия Apple разрешает распространять компонент только в некоммерческих продуктах, а GameSphere — платный. Это ограничение лицензионное, а не техническое, и обойти его нельзя.

Поэтому компонент вы скачиваете у Apple сами — бесплатно, обычным Apple ID: платная учётная запись разработчика не нужна. Мастер из трёх шагов открывает страницу загрузок Apple (developer.apple.com), а дальше приложение всё делает само — достаточно оставить скачанный образ .dmg в «Загрузках» и нажать «Найти и подключить». Пути указывать не нужно, компонент подключается сразу для всех окружений, и возвращаться к этому шагу не придётся.

В списке загрузок Apple пакет может называться и «Evaluation environment for Windows games» — это он.

Что важно: про этот шаг приложение предупреждает до установки игры, а не на её середине. В карточке такая игра получает статус «работает с оговорками», и одна из оговорок — как раз про компонент Apple; подключите компонент — оговорка исчезнет, потому что просить загрузить его второй раз значило бы врать.

Честно про сегодняшний день

Ни одна игра на DirectX 12 в нашем окружении ещё не запускалась — ни одна. Больше того: механизм, которым компонент Apple подключается к окружению игры, сейчас переделывается — прежний способ, как выяснилось при разборе соседней поломки, до игры компонент не доносил.

Поэтому у игр на DirectX 12 в каталоге стоит «работает с оговорками» с прямой оговоркой «в нашем окружении игра пока не запускалась», а не «работает». Обещать, что ваша игра на DirectX 12 пойдёт, мы сегодня не можем — и не будем.

Кто выбирает, чем игра рисует?

Продукт, если рецепт не назвал бекенд явно. Правило одно и объяснимое:

Что нужно игреЧем переводимПочему так
DirectX 10 и 11DXMT — трансляция в Metal на Apple Silicon это один перевод вместо двух
DirectX 9встроенная трансляция Wine старые игры нетребовательны, и она с ними справляется
DirectX 12компонент Apple свободного ответа нет, и мы не делаем вид, что есть
неизвестновстроенная трансляция Wine она часть Wine и заведомо загрузится: про игру ничего не известно, и угадывать хуже

Выбор можно переключить в карточке игры вручную, и приложение скажет, если выбранное на этой платформе не работает, — а игру всё равно запустит на том, что даёт окружение: ронять запуск из-за строки в рецепте, которую вы не писали, было бы худшим ответом.

А DXVK — почему его нет?

Потому что на Apple Silicon он не запускается вовсе: слой Vulkan поверх Metal не предоставляет возможность geometryShader, без которой DXVK не инициализируется. Это свойство платформы, а не настройка, и подбором ключей не лечится. В поставку он не входит и продуктом не выбирается никогда.

Игра стартует чёрным экраном, идёт звук — это зависание?

У «Земского Собора» — нет, и вот из чего эта фаза состоит. Первые примерно тридцать секунд — заставка-картинка, затем тёмный экран, звук при этом может идти: вступительные ролики не показываются, потому что в нашем движке нет видеодекодера Media Foundation. Тёмная фаза после них — обычная загрузка меню с компиляцией шейдеров. Потом приходит меню с полной трёхмерной сценой. На стенде от команды «Играть» до меню — около тридцати секунд.

Пропустить ролики штатным аргументом движка нельзя: игру запускает Игровой центр, и аргументы, добавленные к его команде, до игрового процесса не доходят — проверено.

Какая производительность?

Одна цифра с одного стенда — это одна цифра с одного стенда, и без условий она ничего не значит. Наш замер: «Земский Собор» через DXMT на Mac с M1 Max — около 131 кадра в секунду в главном меню в окне 1280×720 и около 24 кадров на полном разрешении 1728×1117. Вердикт живого тестировщика — «играбельно». Для сравнения, без DXMT, на встроенной трансляции Wine, меню рисуется без трёхмерной сцены на ~7 кадрах в секунду — играть невозможно.

Замер снят на меню, а не в бою: геймплейная цифра появится здесь, когда мы её снимем, — и с такими же условиями. Ваша будет другой: она зависит от игры, разрешения, настроек и машины.

Steam

Витрина Steam пуста или список игр не загрузился

Приложение называет причину по каждому аккаунту отдельно, а не показывает пустой список молча. Два случая стоит знать заранее:

Личный ключ Valve выдаёт бесплатно на странице steamcommunity.com/dev/apikey — нужен вход в Steam, домен подойдёт любой. Ключ остаётся на этом Mac и на наш сервер не передаётся, а в диагностический отчёт для поддержки не попадает никогда.

Деньги, лицензия и обновления

Где покупать?

Внутри приложения. На этом сайте формы оплаты нет и искать её не нужно: данные карты вводятся на странице банка и через наш сервер не проходят. Планы и то, что открывает платная версия, — на странице цен.

Переустановил систему или сменил Mac — как вернуть платную версию?

Написать нам. Честно: кнопки «восстановить покупку» в приложении пока нет, восстановление делается перепиской и файлом лицензии. Процедура целиком, с тем, что понадобится от вас, — на странице поддержки. Лицензия не привязана к железу: тот же идентификатор открывает платную версию на другом Mac владельца.

Годовая подписка кончилась — что происходит?

Приложение говорит так: «Подписка истекла. Установленные игры запускаются по-прежнему; платные возможности выключены до продления». То есть библиотека и запуск игр остаются при вас: движок — не платная возможность и лицензией не проверяется вовсе, закрываются ровно три платные возможности. Продление возвращает их. У покупки навсегда срока нет.

Как вернуть деньги?

По оферте и через поддержку: возврат делает человек, автоматической кнопки возврата нет.

Не нашли свой случай?

Напишите — лучше всего прямо из приложения, чтобы вместе с обращением уехал диагностический отчёт. Что именно в нём уезжает и как вы видите это до отправки — расписано на странице поддержки.