villsim/docs/design/village-tz-v2.md

92 lines
6.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Симуляция экономики деревни (Техническое задание v2)
## 1. Общие положения
Симуляция агентная, пошаговая. Основная цель — наблюдение за формированием экономических связей и выживанием популяции при заданных правилах.
### Цикл симуляции
1. **День:** Длится **10 шагов**. Агенты активны (работают, торгуют, потребляют).
2. **Ночь:** Длится **1 шаг**. Все агенты спят.
3. **Итого сутки:** 11 шагов.
4. **Синхронизация:** Все агенты делают ход одновременно. Следующий шаг наступает, когда все завершили выбор действия.
## 2. Модель Агента
### Жизненные показатели (Максимумы / Старт)
При падении любого показателя (кроме Энергии) до 0 агент умирает.
| Показатель | Макс | Старт | Расход (Пассив) | Примечание |
| :--- | :--- | :--- | :--- | :--- |
| **Энергия** | 100 | 80 | -2 / ход | Не умирает при 0, но не может совершать активные действия |
| **Голод** | 100 | 80 | -2 / ход | |
| **Жажда** | 50 | 40 | -3 / ход | Убывает быстрее голода |
| **Тепло** | 100 | 100 | -2 / ход | |
### Инвентарь
* Ограниченное количество слотов (например, 10 или по весу).
* При переполнении новые ресурсы исчезают (или не могут быть добыты).
* Стартовый капитал: **100 Монет**.
## 3. Экономическая Модель
Вводится универсальная валюта — **Монеты** (Coins), чтобы решить проблему бартера.
### Механика Рынка (Биржа)
Торговля происходит через общий реестр заявок (Order Book), доступный всем агентам мгновенно.
1. **Продажа:** Агент выставляет лот: `{Товар, Кол-во, Цена за шт.}`.
2. **Покупка:** Агент ищет самый дешевый лот нужного товара и покупает его.
3. **Видимость:** Все видят все заявки.
### Ценообразование и "Парадокс цены"
Для решения проблемы, когда неэффективный работник продает дороже, используется разделение цен:
1. **Себестоимость:** `(Потраченная Энергия * Стоимость Энергии) / Кол-во товара`.
2. **Рыночная цена:** Динамическая.
* Агент выставляет товар по *Себестоимости* (или с небольшой наценкой).
* Если товар не покупают `N` ходов -> Агент снижает цену (скидка), даже ниже себестоимости, чтобы выжить.
* Если товар купили быстро -> В следующий раз агент повышает цену.
## 4. Ресурсы и Производство
| Ресурс | Источник (Действие) | Эффект | Срок жизни | Примечание |
| :--- | :--- | :--- | :--- | :--- |
| **Мясо** | Охота | Голод +30, Энергия +5 | 5 ходов | Сытное, быстро портится |
| **Ягоды** | Собирательство | Голод +5, Жажда +2 | 20 ходов | "Консервы", мало насыщают |
| **Вода** | Добыча воды | Жажда +40 | ∞ | Не портится |
| **Дерево** | Рубка | Топливо для костра | ∞ | |
| **Шкура** | Охота (побочный) | Крафт -> Одежда | ∞ | |
| **Одежда** | Ткачество (из Шкуры) | Снижает потерю тепла на 50% | 50 ходов | Изнашивается |
| **Тепло** | Костер (из Дерева) | Тепло +10/ход (пока горит) | 1 ход | Активное действие (разжечь) |
## 5. Баланс Действий (Draft)
| Действие | Расход Энергии | Результат (Успех) | Риски/Шансы |
| :--- | :--- | :--- | :--- |
| **Сон (Ночь)** | +60 (Восст.) | - | - |
| **Отдых (Днем)** | +10 (Восст.) | - | Пропуск хода |
| **Охота** | -15 | 1-3 Мяса, 0-1 Шкуры | Шанс успеха 70% |
| **Собирательство** | -5 | 2-5 Ягод | Шанс 100% |
| **Рубка дерева** | -10 | 1-2 Дерева | Шанс 90% |
| **Добыча воды** | -5 | 1 Вода | Шанс 100% |
| **Ткачество** | -8 | 1 Одежда (нужна 1 Шкура) | |
| **Разведение костра**| -5 | +Тепло (нужно 1 Дерево) | |
| **Торговля** | -1 | Выставить/Снять лот | Не тратит ход? (обсуждаемо) |
## 6. Логика ИИ (Приоритеты)
Агенты используют систему приоритетов ("Пирамида Маслоу") для принятия решений:
1. **Критическое состояние (< 20%):**
* Если Голод/Жажда/Тепло < 20% -> **ВЫЖИВАНИЕ**.
* Потребление из инвентаря -> Покупка на рынке -> Добыча (если есть силы).
2. **Усталость:**
* Если Энергия слишком низкая для работы -> **ОТДЫХ**.
3. **Экономическая эффективность:**
* Если профильный ресурс переполняет инвентарь -> **ПРОДАЖА**.
* Если нет инструментов/сырья -> **ПОКУПКА**.
4. **Рутина:**
* Выполнение основной работы (Охота/Собирательство/Крафт).
## 7. Нерешенные вопросы / На будущее
1. **Социальное взаимодействие:** Передача ресурсов без денег?
2. **Репродукция:** Появление новых агентов?
3. **Обучение:** Повышение навыка охоты со временем (снижение затрат энергии)?