Dark Souls II, запущенный на телефоне с контроллером

Наверняка вы видели серию моих постов, содержащих такое словосочетание, как “траханье с Winlator’ом”. Слово “траханье” вне контекста имеет весьма нецензурный окрас, однако после нескольких недель, проведенных с телефоном во время “отключки”, я вынужден отметить, что это слово достаточно точно описывает наши отношения.

Но для начала - немного терминологии.

Winlator - это программа с открытым исходным кодом, предназначенная для запуска Windows-приложений (x86/x64) на смартфонах под управлением Android.

Программа использует концепцию контейнера - изолированной Linux-среды, использующей Wine/Proton в качестве основы и Box64/FEXCore в качестве эмуляторов.

Еще одна ключевая составляющая - драйвера для графического процессора смартфона с обертками DirectX для API Vulkan (в частности, DXVK).

Основное назначение Winlator’а нашлось довольно быстро: это запуск игр для большого компьютера на маленьком телефоне. При этом при работе с программой вырисовывается два сценария: сценарий A (для владельцев телефонов с графядром Adreno, где есть куча рабочих драйверов и тестовых прогонов для ценителей) и сценарий B (для всех остальных, поддержки нет, зато есть 1001 позиция для вышеописанного траханья).

Сейчас у меня Infinix GT 20 Pro, позиционирующий себя как агрегат для киберспортивных дисциплин типа PUBG Mobile. На нем стоит процессор с громким названием Dimensity 8200, стыдливо прячущий от бенчмарков и свидетелей Адрэно графчип Mali-G610 MC6.

Стоит ли говорить, что в моем случае оставался лишь сценарий B.


Однако история начиналась не с этого.

Заход на Winlator был лишь частью плавного, многолетнего прощупа телефона на предмет того, что он может запустить. В том, что он тянул основную линейку miHoYo, не было ничего удивительного, хотя желание тыкать в “геншин” выветрилось из-за нешуточных размеров игры с одной стороны и высоких температур с другой стороны (последнего я боялся больше всего). Тогда я обратился к эмуляторам.

King’s Field (1994), dungeon crawler от первого лица и дебют From Software

За эмуляторы средней категории (к ним я относил Citra и Duckstation) я мог не переживать, их мой Infinix тянул без проблем. Куда больше меня интересовала категория потяжелее - эмуляторы консолей типа GameCube и PlayStation 2. В этом подсобили два проекта - мой старый знакомый Dolphin и NetherSX2, модификация очень хорошего мобильного эмулятора AetherSX2, автор которого забросил разработку из-за токсичного фандома.

Сначала прошел Luigi’s Mansion, затем последовали Shadow of the Colossus и Drakengard, за ними последовал Ace Combat Zero. Все эти игры, которые тормозили бы на моём стационарном компьютере еще 15 лет назад, буквально порхали у меня в руках.

Luigi’s Mansion (2001)

Shadow of the Colossus (2005)

Drakengard (2003). Не спрашивайте.

Ace Combat Zero (2006)

Но, как это обычно бывает, мои аппетиты росли. На хайпе от перепрохождения первого Diablo через движок Devilution я начал искать сборки Diablo II под Android. Сборок я не нашел, зато я нашел упоминание о некоем эмуляторе Winlator, который… ну, это…

Winlator - это программа с открытым исходным кодом, предназначенная для запуска Windows-приложений (x86/x64) на смартфонах под управлением Android.

Первые попытки запуска не увенчались успехом. Сначала проблемы со скачкой с торрента, затем проблемы с распаковкой установочника. В конечном счете плюнул и скачал спецсборку для китайского эмулятора, основанного на той же кодовой базе. Далее все пошло по накатанной: сначала забег в первом акте Diablo II, затем попытки накатить The Sims 2, затем перепрохождение Undertale, а под конец - запуск Hollow Knight, в аккурат под выход Silksong!

Diablo II (2000)

UNDERTALE (2015)

Hollow Knight (2017)

Стоит отметить, не все было безупречно. В играх прослеживались тормоза, в отдельных случаях наблюдались вылеты, а наэкранный контроллер не мог похвастаться отзывчивостью своих коллег из консольных эмуляторов. Тем не менее, игры запускались без предварительных настроек, Bluetooth-контроллер, который у меня завалялся в шкафу, подхватывался без проблем. Winlator жрал довольно много заряда, что логично, но в целом работать с ним было относительно легко. Кинул установочник, поставил, запускаешь и играешь. Еще лучше, если выцарапаешь еще немного времени на настройку виртуального контроллера.

…Шли новогодние каникулы. Интерес к Winlator’у у меня слегка спал. Я уже качал PS2-версию Grand Theft Auto: Vice City и готовился вновь окунуться в злоключения Томми Версетти.

И тут я вспомнил про Infinity Blade.


Infinity Blade (2010, ПК-версия 2024 года). ‘Отец. Я отомщу за тебя.’

Давным-давно на iOS существовала трилогия Infinity Blade. Это было нечто вроде дуэльного слэшера, где суровый рыцарь, уворачиваясь, блокируя и парируя, расправляется с другими рыцарями, гигантами и (полу)богами. Очевидно, я эту серию не застал, но я играл в схожую игру под названием Blood & Glory (гладиаторские бои с донатом). Серия имела большой успех на молодом мобильном рынке, однако в 2018 году игры изъяли из продажи, и всё, что осталось от саги о Клинке Бесконечности - это, соб-стно, Клинок Бесконечности в качестве лимитированной “кирки” из Fortnite…

На этом месте можно было бы опустить занавес с грустным “трунь”, однако в 2024 году один энтузиаст (или группа энтузиастов, х. его з.) выпустила полноценный порт первой части Infinity Blade на ПК. В свое время (еще задолго до погружения в Elden Ring) я успел немного потыкать в нее. Возможно, я буду повторяться (я знаю, я уже писал такой пост), но для третьей версии Unreal Engine игра смотрелась весьма и весьма неплохо. Портил всё только жесткий гринд под конец игры, хотя боёвка была довольно увлекательной (где еще встретишь замахи в 8 сторон с блоками и парированием… Ах да, Blood & Glory, точно.)

Но вернемся в 2026 год. Запуск удался не сразу: имели место вылеты при неизвестных мне тогда обстоятельствах + отсутствие внятного управления через тач. Последняя проблема была особенно критичной по объективным причинам: замахи можно было делать, лишь зажав экран одним пальцем и продвигая одновременно второй. Это было приемлемо для основной части игры, но при битве с Королем-Богом это было слишком медленно. Благо, порт отдельно вынес биндинги для замахов, так что набросать схему для тача не составило труда.

Infinity Blade (2010, ПК-версия 2024 года)

Но тут всплыла другая проблема: меня не покидало ощущение, что графика в игре была сильно засвечена, она выглядела не так, как я помню с роликов YouTube и геймплея на ПК. Кроме того, я зашел в тупик, пытаясь прогнать вторую часть Infinity Blade. Вот тогда я и залез в настройки и стал перебирать различные комбинации обёрток, драйверов, версий внутренних эмуляторов… А затем я вышел на целый репозиторий материалов по Winlator’у, где описывались все возможные аддоны и форки программы.

Нечего и говорить, что я оказался на грани помешательства. Все каникулы я то и дело тасовал форки, пытаясь нащупать именно ту самую конфигурацию, на которой игра уж точно должна пойти. Я шерстил репы GitHub, форумы 4PDA… искал конфиги под ГПУ Mali, попутно проклиная Snapdragon за то, что он заграбастал все плюшки.

Не знаю, какими путями, но я вышел на GameNative - форк Pluvia, легковесного клиента Steam, позволяющего загружать игры со своего аккаунта и запускать их через всё тот же Winlator. Но я пока не спешил совать свой аккаунт, я всё так же продолжал пытаться завести Infinity Blade. Вот тут я и нашел то, что я искал: рабочие свайпы через тач и внезапно пофикшенный графон. Вторая часть так и не запустилась.

Infinity Blade (2010, ПК-версия 2024 года)

Infinity Blade (2010, ПК-версия 2024 года)

Infinity Blade (2010, ПК-версия 2024 года)


Вдоволь наигравшись с айфонным махачем, я решил провернуть одну идею, которая не давала мне покоя - запустить на телефоне оригинальный Dark Souls (до идеи накатить Elden Ring, слава богу, пока не дошло). Надо сказать, напсиховался я знатно. Висы, вылеты, окна с ошибками, одни обертки не выдавали ничего, другие обертки запускали игру ОЧЕНЬ медленно, третьи запускали игру с дикими артефактами, по сравнению с которыми vertex explosion в эмулируемом Bloodborne - это художественный прием.

Dark Souls? (2012)

Dark Souls? (2012)

Была пара моментов, когда я вроде бы нащупал комбинацию настроек, при которых игра вроде как запускается, и вроде как нормально… Но тут уже начинают всплывать косяки клиента, связанные с переключением контейнеров и перетаскиванием сейв-файлов между телефоном и серверами. В лучшем случае игра не запускалась, пока я делал запрос на верификацию файлов (которая еще и тупит при подключении через VPN), в худшем случае игра гробила мои старые сейвы. Это произошло в версии Prepare to Die Edition, это повторилось в Remastered. Крч гвря, дотрахался до Save data was corrupted. Прямо как в кейсе с Elden Ring (про него я обязательно здесь напишу).

Окончательно смирившись с тем, что моя “трубка” не предназначена для больших игр, я временно переключился на “легкие” игры типа Baba is You, Balatro и Rhythm Doctor. Запустились они также не без дополнительных настроек, но в целом работали без проблем. Balatro отлично ужился с “телефонным” разрешением экрана. Rhythm Doctor поначалу расстроил упавшим окном в начале уровня 2-X (тот самый, где окна летают под дабстеп), однако разработчики решили проблему максимально элегантно, сделав симуляцию окон на движке игры. Самое смешное - облачные сейвы подхватывались без проблем и счетчик часов в игре наматывался как положено. При выгрузке Steam даже назвал мой телефон ПК.

Как г-рится, it’s not much, but it’s honest work.

Baba is You (2019)

Balatro (2024)

Rhythm Doctor (2025)


Все еще не до конца отошедший от бесплодных попыток завести Dark Souls, я ради прикола поставил Dark Souls II: Scholar of the First Sin. Повлияли разговоры о том, что движок второй игры намного стабильнее движков первой. На успех с ванильными настройками я не рассчитывал. И что бы вы думали?

Dark Souls II (2015)

Dark Souls II (1988)

Dark Souls II (2015)

Я инстинктивно ждал подвоха. Ожидал, что игра где-нибудь обязательно жестко упадёт, и я не смогу даже выйти из стартовой локации. Но нет, дошел до деревни, дошел до первой зоны, успел убить кучу народа, успел умереть сам… пару раз крашнулся, но авто-сейвинг выручает.

И самое смешное - она работает на весьма приличной (для телефона) скорости.


В конечном счете я вышел на ту самую комбинацию параметров (Bionic + Wrapper + DXVK 1.11.0-sarek + Proton 9.0-arm64ec), в которой у меня запустилась и первая Dark Souls, причем обе версии. Но вышел забавный казус: игра работала на 15 FPS, однако в PtDE 15/30 были более комфортными, чем 15/60 от Remastered.

И вот я качаю 3 Гб, и вот я опять бегаю по Лордрану, выкашивая обезумевших мертвецов попутно подбирая конфигурацию под тач, чтобы все жизненно важные функции всегда были под рукой (точнее под пальцем). Бегаю и продолжаю восхищаться тому, насколько продвинулась мобильная техника и насколько расширяется потенциальная библиотека для мобильного гейминга, который ассоциировался разве что с match-3 и “геншином”.

Воистину, сила Солнца сосредоточилась прямо в моей ладони.

Praise the Sun, motherfuckers.

Dark Souls (2012)


…И это я еще эмулятор Switch не поднимал, лол.

А, нет, стоп.

Это испытание. Я принял это испытание, дабы одержать вверх над своим прошлым. Лишь тогда человек растёт, когда он способен одолеть слабую часть себя. Согласен ли ты, Жан-Пьер Польнарефф?