OpenSource-реализация zEngine, используемого в играх «Gothic» и «Gothic II».
Проект перезапущен. Вот новый репозиторий: https://github.com/REGoth-project/REGoth-bs.
Не забудьте посетить REGoth-Wiki для получения дополнительной информации о проекте!
Список, показывающий текущее состояние двигателя, можно найти здесь.
Версия 0.4 (Windows) : https://github.com/REGoth-project/REGoth/releases/tag/0.4.
Версия 0.4 (Android) : https://github.com/REGoth-project/REGoth/releases/tag/0.4-android.
Автоматизированные ночные сборки: https://github.com/degenerated1123/REGoth/releases.
Обязательно клонируйте этот репозиторий с флагом --recursive :
git clone --recursive [email protected]:degenerated1123/REGoth.gitgit clone --recursive https://github.com/degenerated1123/REGoth.gitЧтобы обновить репо, вам необходимо также обновить подмодули. Вместо того, чтобы просто извлекать репозиторий, вы можете сделать:
git pull --recurse-submodulesПримечание. Если вам не хватает пакетов или у вас возникли проблемы со сборкой на вашей платформе, вы можете посетить эту вики-страницу, которая может содержать более подробные инструкции. Если вы не найдете там своей платформы, я бы попросил вас добавить на эту вики-страницу несколько инструкций для других людей!
Вам понадобится CMake (3.1 или новее) и компилятор с поддержкой C++14. В настоящее время поддерживаются/проверяются:
Вам также понадобится копия libsndfile установленная на вашем компьютере.
libsndfile и libxineramaВ большинстве систем *nix это можно получить с помощью менеджера пакетов, например в Debian/Ubuntu:
$ sudo apt install libsndfile1-dev libasound2-dev
$ sudo apt install libxinerama-devИли на macOS
$ brew install libsndfile # Needs Homebrew libsndfile необходимо будет скомпилировать отдельно. Создайте каталог где-нибудь в вашей системе для хранения скомпилированных файлов, затем запустите
mkdir build-libsndfile
cd build-libsndfile
cmake -D CMAKE_INSTALL_PREFIX=compiled/files/folder path/to/REGoth/lib/libdmusic/utils/dls2sf/lib/libsndfile
cmake --build . --target install --config Release
Затем:
cd path/to/REGoth
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release .. # On *nix systems this is sufficient
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=compiled/files/folder .. # On WindowsЕсли CMake жалуется на отсутствие файла CMakeLists.txt в некоторых папках, скорее всего, вы забыли клонировать с флагом
--recursive! Просто выполнитеgit submodule update --init --recursive, и все должно работать.
Затем выберите в зависимости от вашей ОС:
make -j4 Начиная с Visual Studio 2017, вы можете использовать встроенную функцию cmake, чтобы открыть клонированную папку.
Подробнее об этом читайте в статье «Как создать вики-страницу».
В предыдущих версиях Visual Studio откройте созданный REGoth.sln и выполните сборку как обычно.
Альтернативно вы можете запустить эту команду внутри папки сборки:
cmake --build . --config release Скомпилированные файлы находятся в каталоге build/bin .
Обязательно скопируйте папку content/shaders в рабочий каталог скомпилированного REGoth -Executable. Затем запустите программу со следующими флагами:
REGoth -g " path/to/gothic1or2 " -w startworld.zen Где path/to/gothic1or2 указывает на корень установки Gothic I или II, а startworld.zen — это один из файлов Zen, находящихся в файлах .vdf в каталоге data/ игры. Например: newworld.zen или addonworld.zen для Gothic II.
Рекомендуется запускать это из командной строки, чтобы увидеть отладочный вывод программы.
Кроме того, чтобы просмотреть список возможных команд, запустите REGoth --help .
tp [<teleporter:default=player>] <target> : телепортирует teleporter NPC (= игрока, если ни один не указан) к target NPC.goto waypoint <waypoint> : Телепортировать игрока к waypointkill [<npc>] : убить npc или ближайшего NPC, если ни один не указан.knockout [<npc>] : нокаутирует npc или ближайшего NPC, если ничего не указано.save <slotindex> : сохранить игру в указанный слот.load <slotindex> : загрузить игру из указанного слота.switchlevel <zenfile> : переключиться на другой уровень в текущем сеансе.usemana <amount> : использовать ману.hurtself <amount> : причинить себе вредset clock <hour> [<min:default=0>] : установите время дня в hour : mincontrol <npc> : взять под контроль npcЕсли вы хотите помочь и не знаете, с чего начать, я предлагаю прочитать вики-страницу, содержащую информацию о компоновке движка и списки недостающих функций (хотя пока нет!).
Готика 1 — Внешний мир: REGoth -g "path/to/gothic1" -w world.zen
Готика 1 — Oldmine: REGoth -g "path/to/gothic1" -w oldmine.zen
Готика 1 — Freemine: REGoth -g "path/to/gothic1" -w freemine.zen
Готика 1 — Кладбище орков: REGoth -g "path/to/gothic1" -w orcgraveyard.zen
Готика 1 — Спящий храм: REGoth -g "path/to/gothic1" -w orctempel.zen
Готика 2 - Внешний мир: REGoth -g "path/to/gothic2" -w newworld.zen
Готика 2 - Долина шахт: REGoth -g "path/to/gothic2" -w oldworld.zen
Готика 2 - Addonworld: REGoth -g "path/to/gothic2" -w addonworld.zen
Готика 2 - Остров Драконов: REGoth -g "path/to/gothic2" -w dragonisland.zen