[C++, Разработка игр] Сборка Open Source GTA VC и GTA III в Linux
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Скорее всего нет тут такого человека, который бы не играл в GTA (или хотя бы не слышал о ней). Первая 3D версия серии вышла около 20 лет назад. Это была GTA III. Через год вышла GTA: Vice City. Несмотря на это, в эти игры до сих пор не только играют, но и создают моды. Эти игры портированы на множество платформ, но к сожалению, Linux (до недавнего времени) обошли стороной. Единственный вариант поиграть в Linux — был wine. Но недавно все изменилось.
Мне на глаза новость — Разработчики закончили реверс-инжиниринг GTA III и Vice City и выпустили порты для разных платформ. А так как я слежу за всем, что касается исходников(утечки, открытие и т.д.), а также люблю собирать софт из исходников — разумеется это я не мог проигнорировать. Из новости я понял, что энтузиасты опубликовали исходный код GTA III и GTA: VC. Моей радости не было предела. Я сразу же пошел на github за дополнительной информацией.
Основные улучшения (касательно miami):
— Исправлено множество мелких и крупных багов.
— Пользовательские файлы (сохранения и настройки), теперь хранятся в корневом каталоге GTA.
— Настройки теперь хранятся в файле reVC.ini (в оригинале были в gta_vc.set).
— Добавлено меню отладки (доступно по CTRL+M).
— Свободная камера (Debug camera). CTRL+B — вкл/выкл. При включении камеру можно свободно перемещать во всей карте.
— Убраны экраны загрузки между островами.
— И некоторые другие исправления/улучшения, включая исправления для других платформ.
Примечание: эти параметры можно настроить в файле core/config.h. Некоторые параметры можно менять прямо в игре (используя отладочное меню), а для остальных потребуется пересборка.
Перейдем к самому интересному, а именно к сборке miami (GTA: VC).
Нам потребуются:
— Дистрибутив Linux (Ubuntu, Debian, Mint, etc);
— Оригинальные файлы (ассеты) с дистрибутива игры VC (в случае сборки GTA III — соответственно потребуются файлы GTA III).
— GCC.
— Некоторые библиотеки и заголовочные файлы.
В качестве ОС использую Linux Mint 19.3 (основа — Ubuntu 18.04 LTS). Установить компиляторы gcc можно так (если не установлены):
sudo apt install build-essential
Установка необходимых библиотек:
sudo apt install libopenal-dev libglew-dev libglfw3-dev libmpg123-dev
Тут остановимся и рассмотрим поподробнее. Я вчера пол часа потратил на поиск решения проблемы компиляции из-за своей невнимательности. На GitHub четко указано, что версия библиотеки glfw должна быть не ниже 3.3, в то время как в репозиториях Ubuntu 18.04 — 3.2. Поэтому, если у вас дистрибутив построенный на Ubuntu 18.04 (или в репозитории версия библиотеки glfw ниже 3.3) — то данную библиотеку необходимо собрать из исходников. Но тут нет ничего сложного. Качаем архив github.com/glfw/glfw/releases/download/3.3.2/glfw-3.3.2.zip
Распаковываем в любую папку. Заходим в распакованную папку и выполняем следующие команды:
mkdir glfw-build
cd glfw-build
cmake -DBUILD_SHARED_LIBS=ON ../
make -j2
sudo checkinstall
Библиотека нужной версии установлена. Теперь клонируем репозиторий:
git clone --recursive -b miami https://github.com/GTAmodding/re3.git reVC
Это много времени не займет. После клонирования размер папки reVC около 120 МБ(из которых 70 МБ папка .git).
Далее идем в папку reVC и запускаем premake5Linux:
./premake5Linux --with-librw gmake2
Генерация фалов сборки займет пару секунд.
Примечание: Если вы используете архитектуру arm/arm64 — то вам нужно собрать утилиту premake5Linux из исходников, а потом запустить с параметром, указанном выше.
Теперь собственно сама сборка. Для сборки доступны следующие конфигурации:
— debug_linux-x86-librw_gl3_glfw-oal
— debug_linux-amd64-librw_gl3_glfw-oal
— debug_linux-arm-librw_gl3_glfw-oal
— debug_linux-arm64-librw_gl3_glfw-oal
— release_linux-x86-librw_gl3_glfw-oal
— release_linux-amd64-librw_gl3_glfw-oal
— release_linux-arm-librw_gl3_glfw-oal
— release_linux-arm64-librw_gl3_glfw-oal
Думаю, из названий и так все понятно. Главное не перепутайте amd64 и arm64(я вчера ночью сонный недосмотрел, потом не мог понять, почему не происходит сборка).
Переходим в директорию reVC/build и запускаем make с вашей конфигурацией. В случае с debug-версией для amd64 нужно так:
make config=debug_linux-amd64-librw_gl3_glfw-oal
Компиляция происходит достаточно быстро. На моём старом ноутбуке (Asus X55A, Pentium B970 2x2.3 ГГц и 4 Гб памяти) сборка отладочной версии заняла 2 мин. 10 сек.(выходной файл = 30.4 МБ), релизной — 4 мин. 44 сек.(размер файла = 43,8 МБ). По своему опыту скажу, что во многих случаях — обычно все наоборот.
Если компиляция прошла без ошибок, то в папке reVC/bin/ваша_конфигурация/Debug_или_Release/ будет бинарник reVC.
Копируем куда-нибудь оригинальную папку с GTA: VC (при желании, можно удалить все файлы из корня — они нам не понадобятся). Потом в папку с игрой копируем наш бинарник reVC. Теоретически, игру уже можно запускать, и даже играть. Но текст на некоторых пунктах меню будут неправильно отображаться:
Чтобы это исправить, копируем папки с заменой из reVC/gamefiles в папку с игрой. Правда, в таком случае, игра будет на английском языке.
Теперь пробежимся по меню отладки:
Что бы включить или выключить меню отладки — нажмите CTRL+M.
— Cam — все, что связанно с камерой.
— Cheats — Различные читы.
— Debug — Отображение разной отладочной информации, позиции игрока, и т.д.
— Debug Render — Можно скрывать или отображать различные объекты, транспорт, строения, пешеходов, показывать пути транспорта и пешеходов и т.д.
— Game — Телепортация в любое место (предварительно нужно поставить метку на карте). Также можно запустить абсолютно любую миссию.
— Particle — Не знаю что это такое.
— Render — Некоторые fix'ы, настройка fps, графические настройки…
— Spawn — Спаун транспорта.
— Time & Weather — Настройка времени и погоды.
Сборка GTA III ничем не отличается, за исключением клонирования репозитория:
git clone --recursive https://github.com/GTAmodding/re3.git
Насчет модов: текстуры, скрипты, модели должны работать. А вот dll/asi, CLEO работать не будут. Некоторые возможности этих модов уже реализованы в re3, некоторые можно настроить в файле config.h.
Ссылки по теме:
github.com/GTAmodding/re3
Инструкция по сборке GTA III
Готовые бинарники reVC для Mac, Linux, Windows
Готовые бинарники re3 для Mac, Linux, Windows
Просмотр репозитория в Visual Studio Code
Lifehack: Если в ссылке на github изменить github.com на github1s.com, то репозиторий можно просматривать в удобном Visual Studio Code.
===========
Источник:
habr.com
===========
Похожие новости:
- [Мессенджеры, Open source, Системное администрирование, PHP, Программирование] Рефакторинг пет проекта: докеризация, метрики, тесты
- [Программирование, C++, Тестирование веб-сервисов, Конференции] Как достичь полной автоматизации в Automotive тестировании и особенности Move конструктора: узнаем 25 февраля
- [Программирование, C++, Работа с 3D-графикой, Разработка игр, CGI (графика)] Vulkan. Руководство разработчика. Swap chain (перевод)
- Выпуск минималистичного дистрибутива Tiny Core Linux 12
- [Настройка Linux, *nix, Серверное администрирование] CentOS 7 и контроллер HPE B320i
- [Разработка игр, Патентование, Игры и игровые приставки] Warner Bros. Interactive запатентовала систему Nemesis из серии игр Middle-earth
- [C++, Учебный процесс в IT, Карьера в IT-индустрии] Вебинар «Стандарт С++20»: обзор новых возможностей C++, введённых Стандартом C++20
- [Информационная безопасность, WordPress, Open source, Администрирование доменных имен] Новый плагин CrowdSec для защиты сайтов на WordPress
- [C++, Компиляторы, Разработка на Raspberry Pi] Кросс-компилятор для Raspberry Pi4
- [Децентрализованные сети, Open source, Администрирование баз данных] OrbitDB — децентрализованная база данных на IPFS
Теги для поиска: #_c++, #_razrabotka_igr (Разработка игр), #_gta, #_grand_theft_auto, #_open_source, #_reverse_engineering, #_linux, #_c++, #_razrabotka_igr (
Разработка игр
)
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 15:51
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Скорее всего нет тут такого человека, который бы не играл в GTA (или хотя бы не слышал о ней). Первая 3D версия серии вышла около 20 лет назад. Это была GTA III. Через год вышла GTA: Vice City. Несмотря на это, в эти игры до сих пор не только играют, но и создают моды. Эти игры портированы на множество платформ, но к сожалению, Linux (до недавнего времени) обошли стороной. Единственный вариант поиграть в Linux — был wine. Но недавно все изменилось. Мне на глаза новость — Разработчики закончили реверс-инжиниринг GTA III и Vice City и выпустили порты для разных платформ. А так как я слежу за всем, что касается исходников(утечки, открытие и т.д.), а также люблю собирать софт из исходников — разумеется это я не мог проигнорировать. Из новости я понял, что энтузиасты опубликовали исходный код GTA III и GTA: VC. Моей радости не было предела. Я сразу же пошел на github за дополнительной информацией. Основные улучшения (касательно miami): — Исправлено множество мелких и крупных багов. — Пользовательские файлы (сохранения и настройки), теперь хранятся в корневом каталоге GTA. — Настройки теперь хранятся в файле reVC.ini (в оригинале были в gta_vc.set). — Добавлено меню отладки (доступно по CTRL+M). — Свободная камера (Debug camera). CTRL+B — вкл/выкл. При включении камеру можно свободно перемещать во всей карте. — Убраны экраны загрузки между островами. — И некоторые другие исправления/улучшения, включая исправления для других платформ. Примечание: эти параметры можно настроить в файле core/config.h. Некоторые параметры можно менять прямо в игре (используя отладочное меню), а для остальных потребуется пересборка. Перейдем к самому интересному, а именно к сборке miami (GTA: VC). Нам потребуются: — Дистрибутив Linux (Ubuntu, Debian, Mint, etc); — Оригинальные файлы (ассеты) с дистрибутива игры VC (в случае сборки GTA III — соответственно потребуются файлы GTA III). — GCC. — Некоторые библиотеки и заголовочные файлы. В качестве ОС использую Linux Mint 19.3 (основа — Ubuntu 18.04 LTS). Установить компиляторы gcc можно так (если не установлены): sudo apt install build-essential
Установка необходимых библиотек: sudo apt install libopenal-dev libglew-dev libglfw3-dev libmpg123-dev
Тут остановимся и рассмотрим поподробнее. Я вчера пол часа потратил на поиск решения проблемы компиляции из-за своей невнимательности. На GitHub четко указано, что версия библиотеки glfw должна быть не ниже 3.3, в то время как в репозиториях Ubuntu 18.04 — 3.2. Поэтому, если у вас дистрибутив построенный на Ubuntu 18.04 (или в репозитории версия библиотеки glfw ниже 3.3) — то данную библиотеку необходимо собрать из исходников. Но тут нет ничего сложного. Качаем архив github.com/glfw/glfw/releases/download/3.3.2/glfw-3.3.2.zip Распаковываем в любую папку. Заходим в распакованную папку и выполняем следующие команды: mkdir glfw-build
cd glfw-build cmake -DBUILD_SHARED_LIBS=ON ../ make -j2 sudo checkinstall Библиотека нужной версии установлена. Теперь клонируем репозиторий: git clone --recursive -b miami https://github.com/GTAmodding/re3.git reVC
Это много времени не займет. После клонирования размер папки reVC около 120 МБ(из которых 70 МБ папка .git). Далее идем в папку reVC и запускаем premake5Linux: ./premake5Linux --with-librw gmake2
Генерация фалов сборки займет пару секунд. Примечание: Если вы используете архитектуру arm/arm64 — то вам нужно собрать утилиту premake5Linux из исходников, а потом запустить с параметром, указанном выше. Теперь собственно сама сборка. Для сборки доступны следующие конфигурации: — debug_linux-x86-librw_gl3_glfw-oal — debug_linux-amd64-librw_gl3_glfw-oal — debug_linux-arm-librw_gl3_glfw-oal — debug_linux-arm64-librw_gl3_glfw-oal — release_linux-x86-librw_gl3_glfw-oal — release_linux-amd64-librw_gl3_glfw-oal — release_linux-arm-librw_gl3_glfw-oal — release_linux-arm64-librw_gl3_glfw-oal Думаю, из названий и так все понятно. Главное не перепутайте amd64 и arm64(я вчера ночью сонный недосмотрел, потом не мог понять, почему не происходит сборка). Переходим в директорию reVC/build и запускаем make с вашей конфигурацией. В случае с debug-версией для amd64 нужно так: make config=debug_linux-amd64-librw_gl3_glfw-oal
Компиляция происходит достаточно быстро. На моём старом ноутбуке (Asus X55A, Pentium B970 2x2.3 ГГц и 4 Гб памяти) сборка отладочной версии заняла 2 мин. 10 сек.(выходной файл = 30.4 МБ), релизной — 4 мин. 44 сек.(размер файла = 43,8 МБ). По своему опыту скажу, что во многих случаях — обычно все наоборот. Если компиляция прошла без ошибок, то в папке reVC/bin/ваша_конфигурация/Debug_или_Release/ будет бинарник reVC. Копируем куда-нибудь оригинальную папку с GTA: VC (при желании, можно удалить все файлы из корня — они нам не понадобятся). Потом в папку с игрой копируем наш бинарник reVC. Теоретически, игру уже можно запускать, и даже играть. Но текст на некоторых пунктах меню будут неправильно отображаться: Чтобы это исправить, копируем папки с заменой из reVC/gamefiles в папку с игрой. Правда, в таком случае, игра будет на английском языке. Теперь пробежимся по меню отладки: Что бы включить или выключить меню отладки — нажмите CTRL+M. — Cam — все, что связанно с камерой. — Cheats — Различные читы. — Debug — Отображение разной отладочной информации, позиции игрока, и т.д. — Debug Render — Можно скрывать или отображать различные объекты, транспорт, строения, пешеходов, показывать пути транспорта и пешеходов и т.д. — Game — Телепортация в любое место (предварительно нужно поставить метку на карте). Также можно запустить абсолютно любую миссию. — Particle — Не знаю что это такое. — Render — Некоторые fix'ы, настройка fps, графические настройки… — Spawn — Спаун транспорта. — Time & Weather — Настройка времени и погоды. Сборка GTA III ничем не отличается, за исключением клонирования репозитория: git clone --recursive https://github.com/GTAmodding/re3.git
Насчет модов: текстуры, скрипты, модели должны работать. А вот dll/asi, CLEO работать не будут. Некоторые возможности этих модов уже реализованы в re3, некоторые можно настроить в файле config.h. Ссылки по теме: github.com/GTAmodding/re3 Инструкция по сборке GTA III Готовые бинарники reVC для Mac, Linux, Windows Готовые бинарники re3 для Mac, Linux, Windows Просмотр репозитория в Visual Studio Code Lifehack: Если в ссылке на github изменить github.com на github1s.com, то репозиторий можно просматривать в удобном Visual Studio Code. =========== Источник: habr.com =========== Похожие новости:
Разработка игр ) |
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 15:51
Часовой пояс: UTC + 5