Gaming
Игры РФ· DTF· Skleckyi

Запустил «Тень Чернобыля» на телефоне без эмулятора — и сделал для неё нормальное управление

Последние недели я занимался странным делом: запускал оригинальную «Тень Чернобыля» на телефоне. Не ремейк, не мобильную поделку «по мотивам», а ту самую игру 2007 года — с Кордоном, Сидоровичем, Волком и бандитами у АТП. И не через эмулятор Windows, а нативно, как обычное приложение для Андроида.

Самый популярный способ поиграть в «Сталкера» на телефоне — Winlator: внутри него Windows-программа переводится под ARM-процессор, DirectX — в Vulkan, и всё это работает слоями друг на друге. Запускается, но телефон греется, кадров мало, а управление — экранная клавиатура с мышкой поверх игры. Я так прошёл кусок Кордона и понял, что хочу по-другому.

Основа нашлась: OpenXRay — открытый движок X-Ray, который сообщество много лет чинит и переносит на Linux и macOS. Под Андроид он официально не собирается, а режим «Тени Чернобыля» в нём недоделан. Вот это и пришлось доводить.

  • Невидимый мир. На первом запуске было только небо. Движок писали под компилятор Microsoft, и один хитрый приём с числами на процессорах телефонов работал иначе: игра «не видела» ничего вокруг — ни стен, ни дверей, ни NPC под прицелом.
  • Половина интерфейса мимо. Кнопки меню не нажимались, пропадала лента сообщений, лестницы не работали. Виноват оказался способ, которым Андроид загружает библиотеки, — в итоге весь движок пришлось собрать в одну.
  • Свет «линейкой». Лампы в бункере Сидоровича резали стены ровными горизонтальными полосами и мерцали. Две ошибки в рендере теней — обе нашлись.
  • ПМ, который убивает с одного выстрела. Самое интересное. OpenXRay вырос из «Зова Припяти», а данные у «Тени Чернобыля» свои. Одно и то же поле в описании материалов в ТЧ означает «насколько пуля проходит насквозь», а в ЗП — «насколько материал прочный». В итоге пуля из пистолета пролетала через всё тело бандита и била каждую кость в полную силу. После этого я перепроверил всё, что код ЗП читает из данных ТЧ: отдачу, взрывы, костюмы, аномалии, пси-удар контролёра, радиацию, артефакты, бюрера, полтергейста, кровососа. Теперь всё ведёт себя как в оригинале 1.0004.

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

  • Меню-веера. Зажимаешь «Лечение» — вокруг пальца раскрываются аптечка, бинт, антирад с количеством. Отпускаешь на нужном — применилось. Без рюкзака, посреди перестрелки. Так же устроены «Еда» (колбаса, хлеб, водка, энергетик) и «Оружие».
  • Бег как в мобильных шутерах. Тянешь стик дальше — бег фиксируется, палец можно убрать.
  • Помощь в наведении. Как на консолях: когда прицел на враге, камера чуть притормаживает и мягко ведёт цель. Сама на врага не прыгает, монстров считает врагами всегда.
  • Гироскоп — только в прицеле или всегда. И гироскоп, и помощь в наведении выключаются прямо в игре.
  • Полная настройка. Любую кнопку можно передвинуть, изменить размер, прозрачность, подпись и даже содержимое, а ещё сделать копию. Есть поддержка геймпадов со своей раскладкой.

Файлы игры я не раздаю и в приложение не кладу: права на «Сталкера» у GSC. Нужна своя купленная копия версии 1.0004 — её архивы переносятся на телефон по кабелю или скачиваются лаунчером по ссылке со своего облачного диска. Лаунчер находит игру сам. Старые сохранения с ПК не подойдут, только новая игра.

Игра идёт на телефоне с Мали-G720: Кордон, сюжет, бой, аномалии, выбросы адреналина в перестрелках у АТП. Лаунчер бесплатный, обновления выходили каждые несколько дней. Скачать его и посмотреть видео, как всё установить, можно на stalker-mobile.ru.

Если пробовали «Сталкера» на телефоне через эмуляторы — расскажите, на чём играли и что бесило больше всего. Хочу понять, что доделывать дальше.

Открыть оригинал