LINUX.ORG.RU
ФорумGames

Есть ли опенсорсный аналог Dwarf Fortress или Rim World'а

 ,


2

3

Друзья играющие, а не подскажите ли существует ли в природе опенсорсные аналоги Dwarf Fortress или Rim World’а?

Предварительная гуглежка ничего не дала. Может есть что-то известное только знатокам?

Ответ на: комментарий от No

Ага, спасибо! Как я понимаю она не то чтобы вот совсем опенсорсная, в том смысле, чтобы можно было сказать apt-get install, чтобы нормально поиграть все-равно стим ставить надо будет, но в лист на изучение ее точно следует поставить, и код можно читать...

shaplov ★★ ()
Ответ на: комментарий от shaplov

Она совсем опенсорсная. Отсутствие в репах твоего дистрибутива к опенсорсности отношения не имеет — только к тому, что её почему-то не опакетили. В AUR, например, есть, и поставить как yay -S keeperrl-git можно.

До DF, правда, там, к сожалению, очень долеко…

anonymous ()
Ответ на: комментарий от linuxnewbie

код открыт, но пользоваться нормально нельзя...

Считай что для массового пользователя игра остается проприетарной... Да и более продвинутое комьюнити походу не стремиться... вот даже под дебиан не запаковали....

shaplov ★★ ()
Ответ на: комментарий от shaplov

более продвинутое комьюнити

дебиан

Отличная шутка, спасибо. Ну а вообще не показатель, многие программы даже под виндоус не собирают на регулярной основе. Вы же не станете утверждать, что виндоус менее продвинутое комьюнити? Кому надо, тот соберёт.

linuxnewbie ()
Ответ на: комментарий от shaplov

Вы уже посрались по поводу языка программирования, тулкитов, либ, системы контроля версий и способа распространения?

Если что, Rust, Vulkan или Piston2D, git, cargo/flatpak/snapcraft ну и может пару пакетов для дистров.

Ну или просто напишите все на HTML5/TypeScript/Canvas

vertexua ★★★★☆ ()
Последнее исправление: vertexua (всего исправлений: 2)
Ответ на: комментарий от linuxnewbie

Устанавливать студии и компиляторы 150 версий чтобы собирать программы под виндоус удовольствие ещё то, и ведь справляются как-то. А вы жалуетесь, что не можете gcc освоить, или что?

linuxnewbie ()
Ответ на: комментарий от linuxnewbie

нда

during GIMPLE pass: pre
collective_config.cpp: В статической функции-члене «static const vector<FurnitureType>& CollectiveConfig::getTrainingFurniture(ExperienceType)»:
collective_config.cpp:362:30: внутренняя ошибка компилятора: Ошибка сегментирования
 const vector<FurnitureType>& CollectiveConfig::getTrainingFurniture(ExperienceType type) {
                              ^~~~~~~~~~~~~~~~
Please submit a full bug report,
with preprocessed source if appropriate.

чего-то гцц поплохело, шлангом собирается норм, хотя в результате всё равно вот это

Caught SIGSEGV: Segmentation Fault
Current time 1556278175, running time 3
posix_print_stack_trace() у ??:?
posix_signal_handler(int, siginfo_t*, void*) у ??:?
?? ??:0
fail() у ??:?
?? ??:0
?? ??:0
?? ??:0
?? ??:0
std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vector<TileCoord>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, vector<TileCoord> > > >::at(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) у ??:?
TileSet::loadTiles() у ??:?
TileSet::reload(GameConfig const*, bool) у ??:?
keeperMain(po::parser&) у main.cpp:?
main у ??:?
?? ??:0
_start у ??:?
Caught SIGSEGV: Segmentation Fault
Current time 1556278185, running time 3
posix_print_stack_trace() у ??:?
posix_signal_handler(int, siginfo_t*, void*) у ??:?
?? ??:0
fail() у ??:?
?? ??:0
?? ??:0
?? ??:0
?? ??:0
std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vector<TileCoord>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, vector<TileCoord> > > >::at(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) у ??:?
TileSet::loadTiles() у ??:?
TileSet::reload(GameConfig const*, bool) у ??:?
keeperMain(po::parser&) у main.cpp:?
main у ??:?
?? ??:0
_start у ??:?
Caught SIGSEGV: Segmentation Fault
Current time 1556278217, running time 3
posix_print_stack_trace() у ??:?
posix_signal_handler(int, siginfo_t*, void*) у ??:?
?? ??:0
fail() у ??:?
?? ??:0
?? ??:0
?? ??:0
?? ??:0
std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vector<TileCoord>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, vector<TileCoord> > > >::at(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) у ??:?
TileSet::loadTiles() у ??:?
TileSet::reload(GameConfig const*, bool) у ??:?
keeperMain(po::parser&) у main.cpp:?
main у ??:?
?? ??:0
_start у ??:?
Caught SIGSEGV: Segmentation Fault
Current time 1556278236, running time 3
posix_print_stack_trace() у ??:?
posix_signal_handler(int, siginfo_t*, void*) у ??:?
?? ??:0
fail() у ??:?
?? ??:0
?? ??:0
?? ??:0
?? ??:0
std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vector<TileCoord>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, vector<TileCoord> > > >::at(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) у ??:?
TileSet::loadTiles() у ??:?
TileSet::reload(GameConfig const*, bool) у ??:?
keeperMain(po::parser&) у main.cpp:?
main у ??:?
?? ??:0
_start у ??:?
Caught SIGSEGV: Segmentation Fault
Current time 1556279154, running time 4
posix_print_stack_trace() у ??:?
posix_signal_handler(int, siginfo_t*, void*) у ??:?
?? ??:0
fail() у ??:?
?? ??:0
?? ??:0
?? ??:0
?? ??:0
std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vector<TileCoord>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, vector<TileCoord> > > >::at(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) у ??:?
TileSet::loadTiles() у ??:?
TileSet::reload(GameConfig const*, bool) у ??:?
keeperMain(po::parser&) у main.cpp:?
main у ??:?
?? ??:0
_start у ??:?
Caught SIGSEGV: Segmentation Fault
Current time 1556279171, running time 3
posix_print_stack_trace() у ??:?
posix_signal_handler(int, siginfo_t*, void*) у ??:?
?? ??:0
fail() у ??:?
?? ??:0
?? ??:0
?? ??:0
?? ??:0
std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vector<TileCoord>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, vector<TileCoord> > > >::at(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) у ??:?
TileSet::loadTiles() у ??:?
TileSet::reload(GameConfig const*, bool) у ??:?
keeperMain(po::parser&) у main.cpp:?
main у ??:?
?? ??:0
_start у ??:?
Caught SIGSEGV: Segmentation Fault
Current time 1556279311, running time 3
posix_print_stack_trace() у ??:?
posix_signal_handler(int, siginfo_t*, void*) у ??:?
?? ??:0
fail() у ??:?
?? ??:0
?? ??:0
?? ??:0
?? ??:0
std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vector<TileCoord>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, vector<TileCoord> > > >::at(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) у ??:?
TileSet::loadTiles() у ??:?
TileSet::reload(GameConfig const*, bool) у ??:?
keeperMain(po::parser&) у main.cpp:?
main у ??:?
?? ??:0
_start у ??:?
Caught SIGSEGV: Segmentation Fault
Current time 1556279361, running time 3
posix_print_stack_trace() у ??:?
posix_signal_handler(int, siginfo_t*, void*) у ??:?
?? ??:0
fail() у ??:?
?? ??:0
?? ??:0
?? ??:0
?? ??:0
std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vector<TileCoord>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, vector<TileCoord> > > >::at(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) у ??:?
TileSet::loadTiles() у ??:?
TileSet::reload(GameConfig const*, bool) у ??:?
keeperMain(po::parser&) у main.cpp:?
main у ??:?
?? ??:0
_start у ??:?
linuxnewbie ()
Ответ на: комментарий от shaplov

Зависит от ЯП и моего времени. Вполне возможно что да. Правда я сейчас в жабу направился, а жаба не лучший ЯП для данной задачи.

peregrine ★★★★★ ()
Последнее исправление: peregrine (всего исправлений: 1)
Ответ на: комментарий от KillTheCat

Игра неплохая, но по глубине проработки и разнообразию до DF как до Пекина раком. Впрочем, задачи переплюнуть DF и не ставилось — Oxygen not included совсем другая игра, и она хороша такая, какая есть. Rimworld и то поближе будет.

anonymous ()
Ответ на: комментарий от shaplov

но пользоваться нормально нельзя...

Пользоватся как раз таки можно. А если нужен графический тайлсет - покупаем игру и пихаем тайлсет в собранную опенсорц версию.

Да и более продвинутое комьюнити походу не стремиться... вот даже под дебиан не запаковали....

Что мешает взять и запаковать?

trynoval ()
Ответ на: комментарий от O02eg

Goblin Camp

А мне таки удалось собрать ее…

Далеко не сразу, в chroot окружении, перепилив систему сборки c bjam на cmake, но таки удалось! ;-)

Результат изысканий с инструкцией положил сюда: https://gitlab.com/dhyannataraj/goblin-camp/tree/cmake-build

Building is fun ;-)

shaplov ★★ ()
Последнее исправление: shaplov (всего исправлений: 1)