- PVSM.RU - https://www.pvsm.ru -

В игру для Sega VR впервые удалось поиграть в HTC Vive VR спустя 25 лет после ее создания

В игру для Sega VR впервые удалось поиграть в HTC Vive VR спустя 25 лет после ее создания - 1

3D-видеоочки — идея далеко не нового века, их неоднократно изобретали [1], реанимировали идею и снова изобретали. Sega была одной из технологических компаний 20-го века, которая собиралась ввести виртуальную реальность в массы.

В сентябре 1993 года она представила Sega Genesis VR — 3D-шлем, который позволял играть в объемные игры. Очки были очень похожи по принципу работы на современные — два ЖК-дисплея вместо линз, подключение к источнику «картинки», трехмерность. Все это обещало революцию в мире видеоигр еще в 1993 году. Но, к сожалению, она не состоялась — выпуск Sega VR отменили, и уже через полгода об устройстве никто не вспомнил. Но, как оказалось, тогда была разработана игра для 3D-очков от Sega, о которой стало известно только сейчас, четверть века спустя. И да, в нее удалось поиграть!

А еще удалось отыскать видео с презентации Sega VR — прямо из 1993 года.

Что представляли собой очки Sega VR?

Впервые о них стало известно в 1991 году. Компания заявила о том, что за $200 геймеры со всего мира смогут получить устройство для воспроизведения объемного контента. Разрешение ЖК-экранов линз составляло 300*200 точек, у девайса были также наушники для стереозвука и система отслеживания движений головы. Эту технологию, кстати, разработала компания Ono-Sendai, здесь можно изучить патент [2].

Датчики обновляли информацию о положении головы 100 раз в секунду, так что трекинг был точным. Дизайн видеоочков был разработан в соответствии с идеей из фильма 1951 года «День, когда Земля остановилась», устройствами из «Звездного Пути» и «Робокопа».

Тогда компания пообещала выпустить сразу четыре игры на старте, и даже показала геймплей. Но потом что-то пошло не так. После анонса на CES-1993 устройство так и не было выпущено. Насколько известно, девайс мало кого впечатлил, а 40% тестировщиков укачивало из-за трехмерности — к ней был никто не готов. В итоге, оценив риски, Sega решила закрыть проект.

В официальном заявлении говорилось следующее: «игроки настолько сильно вживались в виртуальную реальность, что могли нанести себе повреждения в процессе движения в реальности обычной». В целом, это весьма правдиво — достаточно посмотреть один из тысяч роликов с YouTube, где показаны люди, впервые надевшие 3D-очки. Но сейчас угроза того, что игроки могут споткнуться или удариться о мебель, находясь в 3D-реальности, уже никого из производителей не пугает. Пользователей предупреждают — и только.

В игру для Sega VR впервые удалось поиграть в HTC Vive VR спустя 25 лет после ее создания - 2

Ну а теперь о главной находке — игре, которой больше 25 лет

Один из цифровых археологов, Дилан Мэнсфилд, узнал от экс-разработчика из команды Sega VR о существовании игры под названием Nuclear Rush (спойлер — действие происходит в 2032 году, электричество — дефицит, горючих полезных ископаемых почти не осталось. Вы — пилот и ваша миссия — получить атомное топливо).

Исходный код игры оказался на 26-летнем CD вместе с инструментами разработчиков из команды Sega. Эти инструменты использовались для создания игр, так что эта находка здорово облегчила задачу восстановления Nuclear Rush.

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

Главная проблема — компиляция исходного кода. «Когда вы впервые получаете неизвестный исходный код, вы должны понять, как его создатели компилировали разработку. У вас далеко не всегда есть необходимые инструменты», — заявил Рич Уайтхаус (Rich Whitehouse), автор проекта по восстановлению игры.

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

Авторам проекта повезло еще и в том, что на упомянутом CD содержался код другой игры, Monster Hunter (это не Capcom), с подробными комментариями о работе с видеоочками. Оттуда тоже удалось почерпнуть немало полезной информации. Все эти данные вместе с инструментами разработчиков 1993 года позволили восстановить игру и адаптировать ее к современным устройствам — а именно к HTC Vive VR. Кстати, fps для игры от Sega — около 15 кадров в секунду. Для современных игр этот показатель составляет 100 fps.

Немного технических подробностей

Большая часть кода Nuclear Rush написана на С. Компилируется все это при помощи компилятора Sierra 68000 C [3].

Кроме того, для компиляции необходимо еще несколько проприетарных инструментов, которые позволяют добавить текстуры и другой игровой контент.

В игру для Sega VR впервые удалось поиграть в HTC Vive VR спустя 25 лет после ее создания - 3

В ходе первой попытке сборки оказалось, что один из инструментов, DUMP.EXE, отсутствует. После изучения проблемы оказалось, что эта программа открывала файл и отправляла текст в стандартный вывод для каждого байта, чтобы двоичный файл мог быть принят ассемблером. Автор проекта смог написать аналогичную программу в Borland C++ 3.0 и все успешно скомпилировалось.

В итоге был сгенерировал файл COFF, причем важные части ROM были разбиты на несколько секций. В итоге автору пришлось написать еще одну программу в Borland для парсинга COFF и сборки ROM в единое целое.

Игру удалось запустить, и автор увидел вот что:

В игру для Sega VR впервые удалось поиграть в HTC Vive VR спустя 25 лет после ее создания - 4

Понятно, что игра не видела 3D-устройство и не могла его увидеть. Поэтому пришлось добавить пару строк для того, чтобы пропустить проверку:

wptr++; /* Skip number of sprites in frame */
wptr++; /* Skip hotspot offset */

wptr++;
wptr++;

Как только все это было проделано, автор проекта, наконец, увидел саму игру.

В игру для Sega VR впервые удалось поиграть в HTC Vive VR спустя 25 лет после ее создания - 5

Ну а дальше автор провел немало времени за дебаггингом, решением крупных и мелких проблем, кроме того, ему пришлось «научить» игру обнаруживать современные 3D-очки взамен отсутствующего аксессуара Sega VR. Эти увлекательные подробности автор раскрывает здесь [4].

Как поиграть

Самое главное, да. Поиграть могут все желающие, для этого нужны:
Эмулятор Sega VR:
Репозиторий [5]
Готовый эмулятор (Windows) [6]

А потом — игра:
Репозиторий [7]
Сама игра [8] (ROM для загрузки в эмулятор).

В игру для Sega VR впервые удалось поиграть в HTC Vive VR спустя 25 лет после ее создания - 6

Автор: Seleditor

Источник [9]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/igry/359040

Ссылки в тексте:

[1] изобретали: https://habr.com/ru/post/392659/

[2] изучить патент: https://patents.google.com/patent/US5526022A/en

[3] Sierra 68000 C: https://segaretro.org/Sierra_68000_C_Compiler

[4] раскрывает здесь: https://gamehistory.org/segavr/

[5] Репозиторий: https://github.com/DickBlackshack/SegaVR-DGenSDL

[6] Готовый эмулятор (Windows): https://github.com/DickBlackshack/SegaVR-DGenSDL/releases/tag/1.0

[7] Репозиторий: https://github.com/DickBlackshack/SegaVR-NuclearRush

[8] Сама игра: https://github.com/DickBlackshack/SegaVR-NuclearRush/releases/tag/1.0

[9] Источник: https://habr.com/ru/post/529254/?utm_source=habrahabr&utm_medium=rss&utm_campaign=529254