LINUX.ORG.RU
ФорумGames

Собираем Goblin Camp

 ,


1

2

Когда-то я вот тут спрашивал про Dwarf Fortress-подобные игры и мне насоветовали Goblin Camp.

Ух и намучился я сего сборкой. libboost который там взят за основу оказался штукой чувствительной к версиям практически всего…

Но ценой невероятных усилий мне собрать игру все-таки удалось… В chroot’е с Debian Wheezy, сменив систему сборки с bjam на cmake (разобраться почему не работает bjam оказалось сложнее чем перейти на cmake) но все-таки удалось…

Полученные результаты зафиксированы в ветке в гитлабе

https://gitlab.com/dhyannataraj/goblin-camp/tree/cmake-build

там же инструкция по сборке…

Вдруг кто-то тоже поиграть захочет ;-)

Update:

Пока разбирался с тем куда бы об этом еще написать, чтобы народ заинтересованный оказался в теме, обнаружил Goblin Camp NG. https://bitbucket.org/veox/goblincamp-ng/src (Копия на gitlab).

Некто Noel Maersk ударно потрудился над кодом, в том числе так же перевел всю сборку на cmake, но потом все забросил, так и не сделав релиза. Изучу как-нибудь эту ветку, или надо продолжить ковыряться именно с ней, или импортировать оттуда все полезное в основную. Посмотрим…

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

они там вроде только для микроменеджмента дворфов, а все остальное все равно на клаве. Интересно для релиза в стиме жабейший намутит ченить с интерфейсом?

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

Может быть. Я бы больше заботился о здоровье жабейшего и завозе полезных фич. Потому что если он рипнется, то ДФ рипнется вместе с ним. Шансы что кто-то возьмётся лопатить его код - малы.

Так что если хочется поддержать его йоро, рублём и гривной - лучше сделать это сейчас.

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

Не вкурсе, он принципиально не хочет сделать тыкательный интерфейс мышкой, с менюшками и свистелками-перделками?или это геморно из-за его движка?я прост не прогер не представляю вообще че как

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

Я думаю ему нафиг не нужно, как и большинству игроков. Но в стим-релизе и правда будет некоторое количество улучшений для более казуальной аудитории. Заявлен графический тайлсет из коробки. Подробнее на странице стима написано.

trynoval ()

В chroot’е с Debian Wheezy, сменив систему сборки с bjam на cmake (разобраться почему не работает bjam оказалось сложнее чем перейти на cmake) но все-таки удалось…

В Debian Jessie тоже собирается после пары пинков, но у меня glx-gears не работает, поэтому работоспособность пока не проверю.

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

А с glxgears я не знаю, что. Скорее всего дебиановские либы не хотят дружить с гентой:

# glxgears 
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  150 (GLX)
  Minor opcode of failed request:  3 (X_GLXCreateContext)
  Value in failed request:  0x0
  Serial number of failed request:  35
  Current serial number in output stream:  37
O02eg ★★★★★ ()

Goblin Camp NG

Пока разбирался с тем куда бы об этом еще написать, чтобы народ заинтересованный оказался в теме, обнаружил Goblin Camp NG. https://bitbucket.org/veox/goblincamp-ng/src (Копия на gitlab).

Некто Noel Maersk ударно потрудился над кодом, в том числе так же перевел всю сборку на cmake, но потом все забросил, так и не сделав релиза. Изучу как-нибудь эту ветку, или надо продолжить ковыряться именно с ней, или импортировать оттуда все полезное в основную. Посмотрим…

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

Уже

Спасибо! Как дойду в цикле задач снова до Goblin Camp, посмотрю и внедрю!

Скорее всего дебиановские либы не хотят дружить с гентой:

Ох, да, редкое скрещение ежа с ужом…. Тут наверное лучше сразу в виртуалке такое запускать, если уж…

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

Некто Noel Maersk ударно потрудился над кодом, в том числе так же перевел всю сборку на cmake, но потом все забросил, так и не сделав релиза. Изучу как-нибудь эту ветку, или надо продолжить ковыряться именно с ней, или импортировать оттуда все полезное в основную. Посмотрим…

Ну, как минимум его версию мне удалось у себя в системе собрать. При запуске только выдаёт сегфолт, но тут нужно разбираться.

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

Ну, как минимум его версию мне удалось у себя в системе собрать. При запуске только выдаёт сегфолт, но тут нужно разбираться.

Пришлось обновить в проекте версию SDL до второй, и теперь игра работает.

O02eg ★★★★★ ()
Ответ на: Goblin Camp NG от shaplov

Вот что я сделал из его ветки, чтобы оно работало и собиралось: https://gitlab.com/o01eg/goblin-camp/tree/cmake-build-gentoo-ng

Так что я думаю, лучше взять тот форк за основу, особенно потому что там есть один коммит, всё перекраивающий.

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

Вот именно этот коммит меня и смущает больше всего…

Одна из вещей над которой я раздумываю, это таки аккуратно покоммитно разобрать что наделал Noel и перенести это в основную игру…

Правда сильно не уверен, что это следует делать…

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

Нет, особенно если у тебя многолетняя лапша из кода, как это с большой вероятностью у Жабейшего.

Плюс есть задачи которые в многопоток почти нереально раскидать, и в современных многопоточных играх они всё равно на одном ядре висят. Скорее всего такие задачи присутствуют в Дварфийской Крепости.

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

Проблема в том, что в DF охренительная глубина моделирования мира. В сраном подвале в сраной клетке сидит сраный гоблин и у него на ногах сломаны пальцы и порваны носки. И всё это в одном потоке.

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

Знаю.

Лучшее что ты можешь сделать по этому поводу - купить процессор побыстрее. И занести денег Тоади, у него там вроде нефиговые проблемы со здоровьем. Что и стало причиной идеи релиза в Стиме.

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

а можно ли теоретически раскидать напругу на все ядра не сильно переделывая код программы?

Нет. Особенно в симуляциях. К примеру, в факторио до сих пор нету многопоточности, хотя там сильная команда разработчиков, упарывающихся вот так вот https://factorio.com/blog/post/fff-209

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

Я меж тем затащил goblincamp-ng в свой основной проект в виде ветки https://gitlab.com/dhyannataraj/goblin-camp/tree/goblincamp-ng И начал разбираться что там наворочено…

Начал, естественно с «one sloppy commit». Вычленил из него содержательные изменения, и положил их в виде отдельного коммита чтобы можно было хотя бы читать

https://gitlab.com/dhyannataraj/goblin-camp/commit/adf9d331ceaaf0947d08bb12244c7dccebbc4a03

Ох не нравиться мне как работает Noel

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

Отревьюил я то что написал Noel

https://gitlab.com/dhyannataraj/goblin-camp/-/wikis/about-goblincamp-ng

Ощущения меня не обманули, оно не нужно…

Там по сути коммиты посвящены нескольким темам: cmake, обновление версии libctod, документация и FIXME

При этом перемежается это все жутким бесприделом, вроде повторного добавления всех исходных файлов в git, или замены проверки ненулевости на true.

В качестве справочника пользоваться можно. Развивать эту ветку – однозначно нет.

shaplov ★★ ()

Импортировал тикеты из bitbucket проекта…

https://gitlab.com/dhyannataraj/goblin-camp/issues/

Не то чтобы мне нечем заняться, но у меня есть явная склонность к тому чтобы быть архивариусом, и в следствии этого испытываю явный дискомфорт, если история или данные теряются… Не верю я что bitbucket проживет долго, сохранив все репозитории… Пусть будут в более надежном месте…

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

Немного поиграл. Неудобно…

Кроме того у меня произошла принудительная смена ноутбука, и на новом ноуте в чруте оно работать перестало, приходится сейчас под вайном пустать виндовую весию O_o

По моим ощущениям это некая основа с которой еще работать и работать.

Есть планы таки разобратся в коде, попробовать починить баги из трекера.

И далее чинить интерфесы, чинить стуркутру производства.

И главное добавить эпичности. Без нее очень быстро надоедает бревна в плашки переделывать…

Но посмотрим как и куда оно двинется…

Пока в ближайших планах выпустить релиз, который бы собирался на современных системах, и дальше по правилу «release often по всем фрондат добавлять по фиче и релизиться»

shaplov ★★ ()