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. Голографика может лишь подтвердить.
Активация режима разработчика
- Зайдите в Настройки —> Основные —> Информация —> Версия ПО
- Активируйте в очках режим разработчика семью кликами по полю с версией прошивки.
- В списке настроек появится новый пункт — Разработчик. Зайдите в него и включите отладку по USB
Установка Beat Saber
- Подключите очки по USB к компьютеру и откройте их в проводнике
- Скачайте APK и вставьте его в папку Download
- Скачайте музыку и вставьте её в папку Android —> obb так, чтобы у вас была папка с названием com.beatgames.beatsaber, а в ней треки
- Включите очки и запустите приложение Beat Saber из загрузок
В нашем случае никаких дополнительных действий не потребовалось.
Голографика не поддерживает пиратство. Все ссылки даны в ознакомительных целях для разработчиков, которые изучают особенности производства и тестирования программного обеспечения.
*В России признана экстремистской организацией
Не пропускайте важнейшие новости о дополненной и виртуальной реальности — подписывайтесь на Голографику в Telegram, ВК и Twitter! Поддержите проект на Boosty.
Далее: Flat2VR Studios будет официально портировать игры в виар