Этот проект представляет собой повторную реализацию игры Duke Nukem II, первоначально выпущенной Apogee Software в 1993 году для MS-DOS. RigelEngine работает как замена исходному исполняемому файлу: он считывает файлы данных игры и играет так же, как оригинал, но работает в современных операционных системах и написан на современном коде C++.
По сравнению с запуском оригинала в эмуляторе, RigelEngine предлагает множество современных улучшений и улучшений удобства использования, в том числе:
Исходный код оригинальной игры никогда не публиковался, поэтому этот проект основан на реверс-инжиниринге (в частности, дизассемблировании исходных двоичных файлов). См. Duke2Reconstructed для полной реконструкции исходного кода.
Попробуйте веб-версию! (скомпилировано в Wasm через Emscripten)
Прочтите часто задаваемые вопросы
Посмотреть демонстрационное видео (устарело)
RigelEngine стабилен и достаточно полон с точки зрения набора функций. Все четыре эпизода игры (условно-бесплатная и зарегистрированная версия) полностью играбельны и соответствуют оригинальной игре.
В настоящее время у меня нет никаких планов на значительное будущее развитие — считаю, что проект находится в режиме «обслуживания». Это означает, что я сделаю все возможное, чтобы исправить возникающие серьезные проблемы/ошибки и обеспечить работу CI, но я не буду добавлять никаких новых функций.
RigelEngine работает в Windows, Linux и Mac OS X.
Его также довольно легко установить на Steam Deck.
Версия для Linux также хорошо работает на небольших одноплатных компьютерах (SBC), таких как Raspberry Pi и Odroid Go Advance. См. раздел «Запуск на Raspberry Pi и Odroid Go Advance».
Также есть порт для PS Vita (стороннего производителя).
RigelEngine не очень требователен, но требует графического оборудования с поддержкой OpenGL. Во время компиляции можно выбрать OpenGL 3.0 или OpenGL ES 2.0.
Любая видеокарта Nvidia или AMD 2007 года выпуска или новее должна без проблем запускать игру. Однако интегрированные графические процессоры Intel добавили поддержку OpenGL 3 только в 2011 году. В Linux использование GL ES может быть вариантом для старых графических процессоров Intel.
Дополнительную информацию см. в разделе «Поддерживаемые видеокарты».
Помимо видеокарты, вам не нужно многого. Игре требуется менее 64 МБ ОЗУ, и она отлично работает на одноядерном процессоре ARMv6 с тактовой частотой 700 МГц (Raspberry Pi 1).
Вклад в RigelEngine очень приветствуется! Пожалуйста, ознакомьтесь с руководством по вкладам, прежде чем делать PR.
В Wiki постоянно растет объем документации, помогающей разобраться в базе кода. Хорошее место для начала — Обзор архитектуры.
Если вам нужны простые задачи для начала, взгляните на проблемы, помеченные как «хорошая первая проблема».
Для запуска RigelEngine необходимы игровые данные из оригинальной игры. Работают как условно-бесплатная, так и зарегистрированная версия. При первом запуске RigelEngine отобразится пользовательский интерфейс файлового браузера и будет предложено выбрать место установки Duke Nukem II. Выбранный путь будет сохранен в профиле пользователя игры, поэтому в следующий раз вам не придется выбирать его снова.
Также можно передать путь к файлам игры в качестве аргумента командной строки, что может быть удобно во время разработки.
Вы можете бесплатно загрузить условно-бесплатную версию с сайта archive.org. Полную версию (она же зарегистрированная версия) можно купить на платформе Zoom, магазине, у которого все еще есть лицензия на продажу игры (в отличие от других цифровых магазинов, таких как Steam и Gog).
Если у вас уже есть копия игры, вы также можете указать RigelEngine на эту существующую установку.
Единственные файлы, которые действительно необходимы для RigelEngine:
NUKEM2.CMP
(основной файл данных)NUKEM2.F1
, .F2
, .F3
и т. д. до .F5
(файлы вступительного фильма)Вступительные видеоролики не являются обязательными, RigelEngine просто пропускает воспроизведение видеоролика, если файлы не найдены. Однако они по-прежнему являются частью игры, поэтому я рекомендую включать их при копировании куда-либо файлов игры.
Если в файлах игры обнаружены сохраненные игры, списки рекордов или настройки, RigelEngine импортирует их в свой собственный профиль пользователя при первом запуске.
Вы можете найти дополнительную информацию, которая не совсем уместилась в этом README, на Wiki. Например, вы найдете информацию о том, как активировать встроенные инструменты отладки, список ошибок оригинальной версии, исправленных в Rigel Engine, и т. д.
Предварительно созданные двоичные файлы поставляются с каждым выпуском. Начиная с версии 0.8.0 сюда входят пакеты Windows (x64), Mac OS (x64) и deb
для дистрибутивов Debian/Ubuntu/Mint Linux (также x64).
Также доступен Flatpak.
Также см. сторонние сборки Linux для получения списка других пакетов/сборок Linux, предоставляемых дистрибутивами и другими проектами.
См. BUILDING.md для получения подробных инструкций для каждой платформы.