Автор Тема: Вопросница  (Прочитано 2246002 раз)

0 Пользователей и 3 Гостей просматривают эту тему.

Оффлайн Kirilius83

  • Постоялец
  • ***
  • Сообщений: 126
    • Просмотр профиля
Re: Вопросница
« Ответ #12510 : 20 Февраля 2015, 22:56:23 »
вот жеж, а я думал что ща наклепаю сапог побольше, тогда найдут нужное и наденут (((
но простые ботинки одевают....

Оффлайн LegendaryClother

  • Ветеран
  • *****
  • Сообщений: 1313
  • JS
    • Просмотр профиля
Re: Вопросница
« Ответ #12511 : 20 Февраля 2015, 23:18:15 »
вот жеж, а я думал что ща наклепаю сапог побольше, тогда найдут нужное и наденут (((
но простые ботинки одевают....
А двух сапогов в униформе указал?
Или новый баг?

Оффлайн Lux_Lumen

  • Пользователь
  • **
  • Сообщений: 58
    • Просмотр профиля
Re: Вопросница
« Ответ #12512 : 21 Февраля 2015, 01:55:03 »
Или новый баг?

Новый баг.
А что по поводу Hight Boots? Что-то я не могу найти их в кузнице

Оффлайн LegendaryClother

  • Ветеран
  • *****
  • Сообщений: 1313
  • JS
    • Просмотр профиля
Re: Вопросница
« Ответ #12513 : 21 Февраля 2015, 12:34:06 »
Или новый баг?

Новый баг.
А что по поводу Hight Boots? Что-то я не могу найти их в кузнице
Иногда генератор мира обделяет дварфов этим рецептом.
Цитировать
так они носить их могут? раньше вроде только низкие, согласно вики?
Могут.
« Последнее редактирование: 21 Февраля 2015, 13:54:30 от LegendaryClother »

Оффлайн Kirilius83

  • Постоялец
  • ***
  • Сообщений: 126
    • Просмотр профиля
Re: Вопросница
« Ответ #12514 : 21 Февраля 2015, 12:58:24 »
так они носить их могут? раньше вроде только низкие, согласно вики?

Оффлайн Lahudra

  • Постоялец
  • ***
  • Сообщений: 100
    • Просмотр профиля
Re: Вопросница
« Ответ #12515 : 22 Февраля 2015, 12:52:25 »
Тоади в курсе, что такое сопромат?

Меня несколько удивляет здания, которые можно построить. Например можно сделать стену в 10 этажей (ширина=1 клетка), а на верхнем этаже приделать пол в длину хоть 100 клеток, и на другом конце этого пола построить пирамиду хиопса.

Понятное дело, что в реальности такая хре-на-тень повалилась бы на бок. Но в ДФ ничего, может ни одну 1000 лет простоять.
Тоади не собирался вводить правила построек, которые ну хоть как-нибудь отсекали абсолютно абсурдные постройки?

Оффлайн Holkin

  • Постоялец
  • ***
  • Сообщений: 172
    • Просмотр профиля
Re: Вопросница
« Ответ #12516 : 22 Февраля 2015, 13:08:35 »
Вы удивительно грамотно пишите.  :)
Мне интересно, как вы себе представляете такую проверку.
Технически это конечно реализуемо, но на выходите рискуете получить 0.1 fps производительность.

Оффлайн Lahudra

  • Постоялец
  • ***
  • Сообщений: 100
    • Просмотр профиля
Re: Вопросница
« Ответ #12517 : 22 Февраля 2015, 13:45:35 »
Цитировать
Вы удивительно грамотно пишите.
Мне это по жизни не мешает.

Технически как это сделать? Ну не обязательно делать проверку каждый фрейм. Даже 1 раз в 5-10 игровых дней вполне достаточно.

Я бы предложил сделать так: Первым делом определять те постройки (стена и пол), которые являются несущими. Это собственно те, которые имеют под собой в радиусе 1 другую несущую клетку.
Т.е. опора(или стена) делает несущими сразу 5 клеток этажем выше (1 точно над собой и ещё 4 крестиком). Далее, клетку, которая граничит с несущей с боку, но не является несущей сама, назовем "средней". Клетка, которая не является ни средней, ни несущей, но граничит со "средней" назовем крайней.

К крайней клетке уже не получится что-то иное прицепить, за исключением дверей, решеток, прутьев.
На средней клетке можно строить тоже самое, но и ещё любые конструкции-здания.
Если крайняя клетка граничит с 2-мя средними с двух противоположных сторон, то сама становится несущей. (это что-то типа середины арки, которая с 2-х сторон опирается на  опоры).

Мосты придется крепить так:
1) Подъемный мост должен полностью с одной стороны опираться на несущие клетки.
2) Складной мост должен опираться хотя бы на средние клетки.
3) Ну а приделать любой мост к крайним клеткам никак не получится.

Может быть в зависимости от длины моста требовать, чтобы мост с другой стороны тоже на что-нибудь опирался.
Такой алгоритм достаточно прост для вычислений. Намного проще движения воды.

Оффлайн Plumbum

  • Старожил
  • ****
  • Сообщений: 301
  • На личные сообщения не отвечаю.
    • Просмотр профиля
Re: Вопросница
« Ответ #12518 : 22 Февраля 2015, 15:59:58 »
Реализма такая система не сильно добавит.
Добавить сложности: у всех групп материалов разная прочность (допустим, у дерева - 3 (можно построить конструкцию с внутренним объемом 3х3), у твердого (гранита) - 7, у стали - 5, у меди - 3, у мягкого камня от 5 до 3 ect.)? Будут слишком сложно.
И вообще:
Спойлер
ИГРОВЫЕ УСЛОВНОСТИ!!!
[свернуть]
http://forum.dfwk.ru/index.php/topic,10807.msg63656.html - мой возрожденный мод.

Dwarf Fortress - лапидарный космос!
SemonX, FearOfTheLight

Оффлайн Holkin

  • Постоялец
  • ***
  • Сообщений: 172
    • Просмотр профиля
Re: Вопросница
« Ответ #12519 : 22 Февраля 2015, 18:34:22 »
Ну, во-первых, по таймеру делать проверки это не очень разумно. Только при выполнении действий, которые могут как-то повлиять на ситуацию. И мне помнится, в игре есть такая штука с обвалами (сам не натыкался пока).
Во-вторых, ваша идея упирает в обнаружение несущих клеток. Допустим у вас есть карта 100х100х100. Миллион проверок вы делать не будете, допустим вы проверяете только разведанные клетки. Но это внезапно минимум 10 тыс. проверок. Причем, алгоритм ваш скорее уйдет в рекурсию. Вот именно поэтому вы потеряете производительность.
В-третьих, на одной несущей клетке вы можете построить перевернутую пирамиду, причем не обязательно симметричную.
В-четвертых, дварфы видимо про горизонтальные балки не слышали.

Насчет "пишите". С буквой "и" это будет совет, с буквой "е" - ирония. Ну это если по грамматике. :) Кому она нужна, ведь казнить нельзя помиловать.

Оффлайн Lahudra

  • Постоялец
  • ***
  • Сообщений: 100
    • Просмотр профиля
Re: Вопросница
« Ответ #12520 : 22 Февраля 2015, 18:49:10 »
Таймер - это всего лишь вариант. Можно и при строительстве - разрушении делать.

В рекурсию не уйдет. Есть стандартные методы обхода графа без рекурсий. 100*100*100 - это не так уж и много.
Алгоритм на проверку связности (тот который определяет обрушения сейчас) вынужден будет проверить все эти же 100*100*100 клеток. И ничего, вы даже это и не чувствуете.

Более того, любое передвижение дварфа (каждого) вызывает перерасчет видимых им клеток (те, что за препятствиями - не видны), и ладно бы все было только в 2д, а нет, нужно всю сферу проверить. И это для каждого дварфа при каждом движении. А ещё есть 3д - пастфайтинг, тоже не очень быстрая штука.

Среди этого всего разовая проверка будет как капля в море.

Перевернутую пирамиду построить могу. Но это хотя бы гарантирует, что она будет расти в ширину не быстрее высоты.
Как вы себе представляете горизонтальные балки из кирпичей? Я хочу на это посмотреть. Если вы посмотрите как делается из кирпича верхняя часть окон или дверных проемов, то увидите, что там ложится перемычка (цельный кусок). Как вы хотите сделать цельную перемычку длиной хотя бы в 3 клетки из кирпичей, или камня (который сам в длину 1 клетку) мне не понятно. Из дерева и железа ещё могу придумать, а вот как это сделать из кирпичей?
Более того, меня вводит в недоумение, каким макаром можно одну стеклянную стены (клетку) соединить с боку с другой такой же стеклянной стеной.

Цитировать
Ну это если по грамматике. :) Кому она нужна, ведь казнить нельзя помиловать.
Вот кто в камере сидит, пусть того это и волнует. Я - не зЭк.
« Последнее редактирование: 22 Февраля 2015, 18:57:12 от Lahudra »

FearOfTheLight

  • Гость
Re: Вопросница
« Ответ #12521 : 22 Февраля 2015, 19:35:15 »
это к тому что в игре нет таких балок которые имеют длину 3 или еще сколько тайлов. всё в безразмерных кирпичах, где 6 кирпичей может хватить на мост 8х8 или еще сколько а так-же из каждого кирпича делается замечательная стена.
если кирпич будет кирпичём, ко-во предметов возрастёт по экспоненте ибо строить будут много и почти все. это такая условность с которой надо мирится, или оптимизировать ВСЁ по самое "нимагу", что тоади будет делать далеко не скоро, или не так маштабно

Оффлайн ilsi

  • Постоялец
  • ***
  • Сообщений: 236
    • Просмотр профиля
Re: Вопросница
« Ответ #12522 : 22 Февраля 2015, 20:24:17 »
Я, конечно, извиняюсь, но радетелей законов физики и сопромата не смущает, что в реальной жизни дварфов вообще не существует? Как и гоблинов, троллей и всяких забытых тварей. А где есть дварфы, там может быть все, что угодно.
Что я хотела сказать? Если игра нравится, то играйте и наслаждайтесь :) Если смущает Вас дварфийский сопромат, то играйте в соответствие со своим, т.е. не стройте противоречащих ему сооружений (ну отыгрыш такой у Вас будет). А если считаете, что нужно написать игру по-другому, то кто ж Вам мешает? Пишите лучше Тоади :) Кто ж не дает?
Midas, FearOfTheLight, Shaman, JackCL, Hammerdwarf

Оффлайн Midas

  • Ветеран
  • *****
  • Сообщений: 1498
    • Просмотр профиля
Re: Вопросница
« Ответ #12523 : 22 Февраля 2015, 21:03:19 »
Цитировать
Если смущает Вас дварфийский сопромат, то играйте в соответствие со своим, т.е. не стройте противоречащих ему сооружений (ну отыгрыш такой у Вас будет
Вот это вот поддержу. Тут на форуме был челлендж про насильный учет здравого смысла. Если хочется - почему бы не использовать, у всех наверняка есть маленькие пунктики.
Я вот просто не строю пирамид на мыльной спичке и все такое (плюс еще пара ограничений), и мне это нисколечки не мешает.

Оффлайн Kirilius83

  • Постоялец
  • ***
  • Сообщений: 126
    • Просмотр профиля
Re: Вопросница
« Ответ #12524 : 23 Февраля 2015, 14:45:23 »
Ух какой интересный вопрос))) Сам давно о нем задумывался, сопромат боле-менее знаю..

Считать можно в момент изменения конструкций - построился тайл стены, пересчиталось. Убрали кусок пола - пересчиталось. Оно и так делается, когда копаем - постоянно же проверяется рухнет кусок пола, обкопанный со всех сторон или нет. Тут проблемы вообще нет.
Сам расчет простой:
типовые схемы - берется формула М из таблицы http://doctorlom.com/item173.html
Подставляется в  формулу ?=M/W, само W вообще тоже считается (http://doctorlom.com/item160.html), но у нас два варианта - пол или стена, два значения. Считаем ?, оно должно быть меньше допустимого для материала, если больше - то ломается.

Основная тонкость в автоматическом выборе формулы, по которой считается М, и места, в котором считать напряжения (сигму). В принципе, в сопромате всеравно для более сложных балок формулы выводят каждый раз, алгоритм отработан: просто берем и начинаем считать от свободного конца балки, в каждом тайле, нагрузка будет все суммироватся, но и сечение тоже должно суммироваться с прилегающими тайлами. Ну в двух направлениях считать придется.
Зато сразу будут восстребованы блоки из стали - они на изгиб прочнее всего, камень хрупкий. Так же считать в вертикальной плоскости, на сжатие - там проще, не момент а просто вес вышележащего всего и вся, приходящийся на один блок. Если больше допустимого - то блок крошится в порошок. Можно делать ловушки на тяжелых монстров, и вообще пол под тварями может проламливатся  >:(