Примечание. Я начал работать над этим в Rust, репозиторий https://github.com/thebracket/noxfutura.
Игра с открытым исходным кодом, сочетающая в себе элементы Dwarf Fortress, Civilization, Warhammer, Douglas Adams и многих других. Он находится в стадии разработки, так что пока не ждите чудес или законченного опыта!
Посетите наш веб-сайт для получения дополнительной информации, ссылок для скачивания и т. д.
Обратите внимание, что OS X в настоящее время не поддерживается.
Я надеюсь когда-нибудь выпустить это на разных платформах, поэтому не погружаюсь в пиар. Это открытый исходный код, потому что я твердо верю, что пользователи должны иметь возможность видеть, что они используют, но в настоящее время я не ищу сотрудничества. Извини! Если вы действительно хотите внести изменения, мне нужно поговорить с вами о передаче лицензии — мне нужно иметь возможность выпускать повторно лицензированные сборки (и, возможно, однажды заработать на них деньги), и я не хочу попадете в кошмар: «Я заработал 5 долларов, теперь мне нужно передать 0,10 доллара вкладчику X, 0,05 доллара вкладчику Y и т. д.».
По мере того, как игра становится более зрелой, я надеюсь, что предоставление исходного кода облегчит жизнь моддерам, расширителям и фанатам.
Если вы видите что-то, что вам нравится, не стесняйтесь использовать это (при условии соблюдения лицензии GPL). Я полностью за помощь другим.
Нестабильные сборки
Я все еще собираю оборудование для публикации нестабильных сборок. Прямо сейчас существует повторяемая настройка сборки по сценарию, но для этого требуется, чтобы я не забывал запускать ее на трех разных платформах! Они только начинают собираться воедино, поэтому пока я не могу обещать, что они вообще будут работать... но вы можете загружать периодические сборки с itch.io.
Сборки Windows
Установите пакеты (см. ниже), откройте их в VS2017 (в комплект входит файл решения), и вы сможете его собрать.
Пакеты: boost (который подтягивает для вас zlib), Curl, Grain, lua, glfw3, glew, glm. К сожалению, это займет некоторое время; на моем Core i7 с 12 ГБ оперативной памяти это заняло больше часа. Хорошая новость в том, что вам нужно сделать это только один раз.
После этого вам нужно использовать базу в качестве рабочей директории — чтобы она могла видеть game_assets и world_defs.x.
Для упрощения этой задачи имеется включенный проект Visual Studio.
Сборка Windows с MSYS2 — совместимость с Unix
Если вы используете MSYS2 для сборки, вам необходимо установить (с помощью pacman -S
):
Библиотеки Lua, поставляемые в комплекте с MSYS2, не работают (по крайней мере, у меня), поэтому я включил Lua в исходный каталог.
Перейдите в каталог, в котором вы извлекли bgame, и:
mkdir build
cd build
cmake -G"Unix Makefiles" ../src
make -j4
cp lua/liblua.dll .
ln -s ../world_defs .
ln -s ../game_assets .
Теперь вы можете запустить ./noxfutura.exe
, чтобы запустить игру. Обратите внимание, что ln -s
на MSYS2 просто создает копию, поэтому вам может потребоваться повторное копирование после обновления мира. Я понятия не имею, зачем они это сделали, NTFS прекрасно поддерживает ссылки!
Эта базовая настройка также работала с CLion на моей машине.
Сборки Linux
Это последняя версия Linux Mint (18.3 на момент написания статьи). По какой-то причине он поставляется со старыми инструментами разработчика (разочаровывает!). Это должно исправить это:
sudo add-apt-repository ppa:ubuntu-toolchain-r/test sudo apt-get update sudo apt-get install gcc-7 g++-7
Вам необходимо установить следующие пакеты (я сделал это в Ubuntu; другие дистрибутивы могут отличаться): build-essential
, git
, cmake
, extra-cmake-modules
, libcurl4-openssl-dev
, libglew-dev
, libglfw3-dev
, libglm-dev
, libboost-dev
, libboost-system-dev
, libboost-filesystem-dev
, zlibc
, libcereal-dev
, libncurses5-dev
, libreadline-dev
, liblua5.3-dev
, libglew-dev
Чтобы построить его:
git clone https://github.com/thebracket/bgame
.cd bgame
.mkdir build
и войдите в нее с помощью cd build
.cmake -G"Unix Makefiles" ../src
.make -j4
(замените цифру 4 на количество процессоров, которые вы хотели бы использовать).ln -s ../world_defs .
ln -s ../game_assets .
./noxfutura