villsim/docs/design/village-tz.md

7.2 KiB
Raw Blame History

Симуляция экономики деревни

Краткое описание

Идея заключается в том, чтобы проверить как образуется экономика при разных заданных условиях. Первая версия симуляции будет довольно простой с упрощениями. Есть некоторое количество агентов, у которых есть следующие индикаторы: энергия, голод, жажда, тепло. Любые действия агентов тратят энергию. Она восстанавливается отдыхом, сном и едой (ночью все обязательно спят). Голод со временем усиливается, поэтому агенты должны добыть еду. Они могут охотиться (тратит больше энергии) или заниматься собирательством (мясо и растительность в разной степени утоляют голод). Для утоления жажды нужно достать воду (одно действие). Для поддержания тепла нужно дерево (сначала срубить его, затем использовать для прогревания (а-ля костер) - 2 действия), или шкура (охотимся и затем из шкуры получаем одежду). Если какой-либо из индикаторов дойдет до нуля агент умирает. У каждого агента также есть некоторое “хранилище” в которое они могут складывать добытые ресурсы (но количество слотов ограничено). Когда агент понимает, что у него есть незакрытая потребность, но при этом у него, например, нет возможности самому сделать необходимые действия агент может произвести торговлю. Из хранилища товары можно покупать/продавать. Стоимость равна затраченной энергии. Например, если охотник потратил 10 единиц энергии и добыл 5 кусков мяса, то стоимость 1 куска = 10 / 5 = 2 у.е.. При этом другой охотник мог потратить 30 единиц энергии и при этом добыть только 1 кусок мяса (неудачная охота), и тогда у него стоимость одного куска будет = 30 / 1 = 30 у.е.. При торговле агенты как-то должны выбирать хотят или не хотят они торговаться с определенными агентами (пока опускаем наценку, торг, кредиты - это добавим позже). Ну и в целом, наверное, желание торговаться должно чем-то регулироваться (не быть рандомным или слишком топорным). Как было описано ранее, для закрывания некоторых потребностей нужно совершить несколько действий (напр. чтобы согреться), но с помощью торговли можно сократить количество действий (т.е. потратить меньше энергии). Например, купить у другого агента шкуру (вместо того, чтобы охотиться), и потом самому уже из него сделать одежду.

Симуляция

  1. Симуляция происходит пошагово
  2. Симуляция имеет цикл день-ночь
  3. Ночь длится один шаг
  4. Ночью все агенты спят (восполняют энергию)
  5. В течение шага житель может совершить одно действие
  6. Шаги всех жителей происходят одновременно
  7. Шаг заканчивается, когда все жители сообщили о конце хода
  8. У жителей есть три потребности:
    1. Голод
      1. Голод увеличивается каждый шаг
      2. Голод восстанавливается путем потребления пищи
    2. Жажда
      1. Жажда увеличивается каждый шаг
      2. Жажда восстанавливается путем потребления воды
    3. Тепло
      1. Тепло уменьшается каждый шаг
      2. Потеря тепла уменьшается при носке одежды
      3. Тепло восстанавливается при нахождении у костра
  9. В симуляции есть следующие ресурсы:
    1. Дерево
    2. Вода
    3. Мясо
    4. Шкура
  10. Есть следующие виды деятельности:
    1. Охота
    2. Собирательство
    3. Добыча воды
    4. Рубка дерева
    5. Ткачество
    6. Разведение костра
  11. Работа:
    1. Работа тратит энергию
    2. Работа приносит соответствующий ресурс согласно распределению
  12. У каждого жителя есть энергия:
    1. Энергия тратится на каждом ходе с работой
    2. Энергия восстанавливается во время отдыха и во время ночного сна
  13. В симуляции следующие цепочки производства:
    1. Охота -> Мясо + Шкура
    2. Мясо -> (-) Голод
    3. Шкура -> Ткачество -> Одежда
    4. Одежда -> (модификация на расход) Тепло
    5. Добыча воды -> Вода
    6. Вода -> (-) Жажда
    7. Рубка дерева -> Дерево
    8. Дерево -> Разведение костра -> (+) Тепло
  14. Порча:
    1. Еда портится через несколько шагов
    2. Одежда портится через несколько шагов
  15. Инвентарь:
    1. Все ресурсы занимают определенное место в инвентаре
    2. Ресурсы из инвентаря можно выкидывать
  16. Торговля:
    1. Торговля может происходить на любом шаге, кроме ночи
    2. Цена товара вычисляется напрямую из затраченной энергии согласно формуле