Народный герой: интервью с Mathew, автором порта Beat Saber на Pico 4

168

Mathew в одночасье стал героем Telegram-чатов по виртуальной реальности, выложив в открытый доступ порт игры Beat Saber для очков Pico 4. Meta* владеет студией Beat Games и её единственной игрой; она не торопится добавлять важный для Quest продукт в экосистему конкурента. Автор порта же контрактом с американцами не связан, он студент, который сделал для себя то, о чём просили многие геймеры. И поделился достижением абсолютно бесплатно. Голографике удалось коротко поговорить с автором проекта.

Who is mister Mathew

Матвей не скрывает своего имени, но предпочитает, чтобы в Сети к нему обращались по нику — и даёт на выбор сразу два: Mathew или curoviyxru. Единственное, что он предпочёл не афишировать, это учебное заведение. Mathew 20 лет, он учится на специальности “Информационные системы и технологии”, пишет на Java, C#, C++, JS и немного на PHP. Для молодого человека стек приличный:

  • Java: десктоп, бэкенд, Android
  • C#: десктоп, бэкенд
  • C++/Qt: десктоп, мобильные устройства
  • Реверс-инжиниринг игр и приложений

Реверс-инжиниринг с пониманием мобильной разработки и пригодились в создании порта. Всего работа над ним заняла около восьми дней. Почти семь; некоторые любители Beat Saber, поменявшие Quest на Pico, могли бы сравнить появление порта с актом библейского творения. По крайней мере, комментарии под постами на эту тему на грани экзальтации.

Как ковался порт

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

 

На управление контроллерами ушли сутки. Это было нетрудно. Затем я исправлял самые большие проблемы и заставлял работать DLC ещё где-то день-два.

В основу проекта легла работа с инструментами DnSpy, DevXUnity, IDA, JADX. Код Mathew писал в IntelliJ IDEA и Android Studio. В процессе изучения и реинжиниринга библиотек Quest и Pico из их симбиоза родилось собственное решение — picolus («Это моя реализация библиотек Oculus. Pico + Oculus = picolus! ^_^»).

Вопрос, который по всем форумам повторили, кажется, тысячу раз — можно ли с помощью picolus портировать другие игры? «В теории, — говорит, Матвей, — да, это в поможет с последующими портами (и тут мы узнаём, что будут другие порты — прим. ред.). На практике, необходимо большое количество доработок».

Отладка и оптимизация кода могут занять много времени, но в итоге автор хочет выложить код на GitHub, а это откроет проторенный путь для других энтузиастов.

Хочется верить, что работа с picolus будет такой же простой, как запуск Beta Saber. Игра вместе с набором DLC включилась в редакции вообще без проблем.

Из особенностей работы над проектом Mathew захотел отметить «подозрительную схожесть библиотеки для работы с шлемом у Pico и Oculus», а также то, что «Beat Saber на ПК не скомпилирована в машинный код, в отличие версии для Quest, что тоже сильно упростило процесс».

Предпосылки

Причины разработки порта Beat Saber и библиотек picolus оказались прозаичными. Они отвадили от Quest многих пользователей. На момент покупки очков Mathew выбирал между Quest 2 и Pico 4.

На Quest было и есть больше эксклюзивов, одним из которых (относительно Pico) является Beat Saber. Но китайский гаджет был дешевле, мог предложить тонкую оптику и более компактный корпус, а также независимость от, как выразился разработчик, «серверов сами знаете какой компании». Как раз в момент покупки эти серверы упали, что поставило точку в вопросе.

Разница в цене между Quest 2 и 3 почти двукратная. Герой народного виара делал выбор, исходя их своих ограниченных возможностей, что делает его ещё ближе к народу:

Я играл в Beat Saber на ПК, но определённые обстоятельства вынудили меня уехать из дома на несколько дней. Я же, только получив шлем, не хотел расставаться с Beat Saber (уж очень мне нравится данная игра) и поэтому начал изучать теоретическую возможность запуска на Pico.

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

Люди просят ещё

Частым запросом к Mathew стали порты новых игр. Разработчик подтверждает — портам быть. Но их придётся подождать, потому что у него есть учёба и другие проекты. Взамен он прозорливо решил заполнить публичную пустоту личного отдыха опросом на тему того, какую игру адаптировать следующей. В нём пока побеждает… Beat Saber.

Хорошо, что этот опрос не видят в Meta. Или видят? В Pico должны были открыть шампанское.

Первое, что хочется сказать: спасибо всем за большую поддержку!

 

Второе: Я понимаю, что хочется больше портов, да поскорее, но я возьму перерыв пару-тройку дней.

Не хочется, чтобы это занятие стало рутиной. Хочется насладиться VR после 8 дней бесперебойной работы над портом.

 

Третье: Г О Л О С О В А Н И Е

 

Сразу говорю, оно не исключительное. Если с реверсом победившей игры будут затруднения, я займусь чем-то более простым, чтобы сильно не простаивать.

 

Если вами желаемой игры нет в списке, то значит, что я буду работать над ней позже. Мне хочется самому GRID Legends, но он может и подождать. 😛

Как поставить порт

Установка игры на Pico 4 происходит удивительно легко. В беседе сложилось ощущение, что Mathew не меньше нашего удивлён тому, что вместе с игрой беспрепятственно встают и DLC. Голографика может лишь подтвердить.

Активация режима разработчика

  1. Зайдите в Настройки —> Основные —> Информация —> Версия ПО
  2. Активируйте в очках режим разработчика семью кликами по полю с версией прошивки.
  3. В списке настроек появится новый пункт — Разработчик. Зайдите в него и включите отладку по USB

Установка Beat Saber

  1. Подключите очки по USB к компьютеру и откройте их в проводнике
  2. Скачайте APK и вставьте его в папку Download
  3. Скачайте музыку и вставьте её в папку Android —> obb так, чтобы у вас была папка с названием com.beatgames.beatsaber, а в ней треки
  4. Включите очки и запустите приложение Beat Saber из загрузок

В нашем случае никаких дополнительных действий не потребовалось.

Голографика не поддерживает пиратство. Все ссылки даны в ознакомительных целях для разработчиков, которые изучают особенности производства и тестирования программного обеспечения. 

*В России признана экстремистской организацией

Не пропускайте важнейшие новости о дополненной и виртуальной реальности — подписывайтесь на Голографику в Telegram, ВК и Twitter! Поддержите проект на Boosty.

Далее: Flat2VR Studios будет официально портировать игры в виар