Может быть, на него подадут в суд. Может быть, ему заблокируют доступ к приложениям Oculus. А может быть, им вообще все равно. На тот момент вопрос все еще висел в воздухе. Но даже если впереди его подстерегала опасность, Блок твердо решил идти до конца, поскольку речь шла о чем-то большем, чем он сам; дело было в самом принципе и в стремлении доказать, что плагин наподобие Revive технически возможен.
Блок задался целью создать Revive или нечто подобное около года назад, как раз тогда, когда в Oculus впервые заговорили о «монопольном доступе». Как и все геймеры, предпочитающие ПК-версии игр, он рассматривал монопольный доступ как неотъемлемую часть игрового процесса на ПК. Oculus разрушил одно из главных преимуществ ПК-игр – любой игрок может играть в любую игру на любом ПК. Поскольку мотивы Блока были чисты и благородны, он считал, что за такое дело стоит побороться. Когда Oculus отказался от политики открытости, бытовавшей в кругу разработчиков ПК-игр, и сделал шаг в сторону ограничительных практик, характерных для консольных игр, Блок начал размышлять, может ли он что-то этому противопоставить – например, сделать что-то вроде Wine – игры на базе Windows, которая также поддерживалась платформами Linux. В его случае предстояло сделать игры на базе Oculus доступными на HTC Vive.
Блок решил, что для воплощения его замысла лучше всего замахнуться на создание оболочки совместимости между двумя комплектами разработчика – Oculus SDK и OpenVR от Valve. Вскоре он удостоверился, что он действительно
«Вы, наверное, не совсем правильно понимаете нашу бизнес-модель, – объяснял Лаки одному из пользователей Reddit, обеспокоенному переходом к монопольному доступу. – Когда мы говорим „Oculus Exclusive“, мы имеем в виду монополию доступа для приложений из интернет-магазина Oculus Store, а не для приложений Rift. Мы не наживаемся за счет аппаратного обеспечения Rift. По этой причине Oculus Store также доступен на Gear VR от Samsung. Gear VR и Rift – первые коммерческие VR-шлемы, которые вскоре поступят в продажу, но в будущем, как я полагаю, появится широкий спектр аппаратного обеспечения разной стоимости и качества, как на рынке телевизоров и телефонов».
Информация из первых рук успокоила Блока, но больше всего ему запало в душу следующее высказывание Лаки: «Если игра куплена у нас, меня не волнует, будет ли покупатель ее модифицировать; пусть делает с ней все, что хочет. Я уже миллион раз говорил в ответ на льющуюся отовсюду неконструктивную критику, что наша цель состоит не в том, чтобы извлекать прибыль из привязки клиентов к аппаратному обеспечению нашего производства. Иначе с чего бы мы взялись поддерживать GearVR и вести переговоры с другими производителями VR-шлемов?»
Прочтя эти строки, Блок решил продолжать работу. Дождавшись выхода первой стабильной версии Oculus, он сразу же принялся за дело.
Блок с самого начала знал, что одной из самых сложных задач станет прохождение проверки кода сигнатуры Oculus. Проверка входила в число стандартных мер безопасности для предметов аппаратного обеспечения и предназначалась для блокировки запуска взломанных или непроверенных программ. Чтобы обойти проверку, Блок и еще один программист, которому он доверял, создали файл-дроппер Revive Injector, который мог запускаться самостоятельно и обходить систему безопасности Oculus.
В начале апреля Блок уже почти закончил работу над опытной версией Revive. Но как бы он ни радовался такому повороту дел, его по-прежнему тревожила возможная реакция Oculus. Поэтому вместо выпуска кода под собственным именем он решил взять пару псевдонимов – CrossVR и LibreVR. И вот 5 апреля Жюль Блок под псевдонимом CrossVR явил миру свой проект мечты.
20 мая Oculus выпустил апдейт программного обеспечения, который, помимо прочего, лишил Revive возможности воспроизводить контент Oculus на платформе Vive. Беспощадный ответный удар последовал незамедлительно – многие припомнили Лаки его комментарии на Reddit, цитируя заявление, сделанное несколькими месяцами ранее: «Если игра куплена у нас, меня не волнует, будет ли покупатель ее модифицировать; пусть делает с ней все, что хочет».