From 6db08851c995dd0aa11c149066e91d444d28cd3e Mon Sep 17 00:00:00 2001 From: Alexander Date: Wed, 28 Oct 2026 19:33:41 +0100 Subject: [PATCH] =?UTF-8?q?README=20=D0=BC=D0=BE=D0=B4=D1=83=D0=BB=D0=B5?= =?UTF-8?q?=D0=B9:=20=D1=81=D1=85=D0=B5=D0=BC=D0=B0=20=D0=B8=D0=B7=20?= =?UTF-8?q?=D0=B4=D0=B5=D1=81=D1=8F=D1=82=D0=B8=20=D0=BC=D0=BE=D0=B4=D1=83?= =?UTF-8?q?=D0=BB=D0=B5=D0=B9=20(=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=BE=20=D0=9D=D0=B0=D1=81=D0=B5=D0=BB=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5),=20=C2=AB=D0=BD=D0=B5=20=D0=BF=D1=83=D1=82=D0=B0?= =?UTF-8?q?=D1=82=D1=8C=C2=BB,=20=D0=BA=D1=82=D0=BE=20=D0=B7=D0=B0=20?= =?UTF-8?q?=D1=87=D1=82=D0=BE=20=D0=BE=D1=82=D0=B2=D0=B5=D1=87=D0=B0=D0=B5?= =?UTF-8?q?=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 --- Docs/Modules/README.md | 64 +++++++++++++++++++++++++++++++++++------- 1 file changed, 54 insertions(+), 10 deletions(-) diff --git a/Docs/Modules/README.md b/Docs/Modules/README.md index d524704..917f9ce 100644 --- a/Docs/Modules/README.md +++ b/Docs/Modules/README.md @@ -1,19 +1,62 @@ # Модульная система «Богатырей» -Игра собрана из девяти модулей вокруг общего **Игрового ядра**. Модули общаются только через контракты и события ядра и не управляют внутренним кодом друг друга. Это правило проверяет сам Unity: каждый модуль — отдельная сборка (`.asmdef`), которая видит только ядро, поэтому прямое обращение к соседнему модулю не скомпилируется. +Игра собрана из десяти модулей вокруг общего **Игрового ядра**. Модули общаются только через контракты и события ядра и не управляют внутренним кодом друг друга. Это правило проверяет сам Unity: каждый модуль — отдельная сборка (`.asmdef`), которая видит только ядро, поэтому прямое обращение к соседнему модулю не скомпилируется. ``` - Игровое ядро (Bogatyri.Core) - контракты (IEconomy, IArmy...) · события (EventBus) · реестр (GameServices) - ┌───────────┬────────────┬───────────┬──────────────┬───────────────┬────────────┬──────────┬──────────┐ - Экономика Поселение Армия Глобальный мир Боевая система Сохранения Чат Круг - ресурсы, здания, войска, карта, урон, потери, игровое мир и объединение - производство развитие характеристики перемещения исход состояние Круг игроков - ▲ - App/GameModules — точка сборки: регистрирует модули и соединяет их события - со старыми системами (GameProgress, Казармы, панели UI) + ┌─────────────────────────────────────────┐ + │ ОБЩЕЕ ИГРОВОЕ ЯДРО (Core) │ + │ контракты · события · реестр · время игры │ + └─────────────────────────────────────────┘ + все модули видят только ядро, друг друга — нет + +┌──────────────────────┐ ┌──────────────────────┐ +│ ЭКОНОМИКА │ │ ПОСЕЛЕНИЕ │ +│ ресурсы, склады, │ │ здания, Ратуша, │ +│ лимиты, добыча │ │ участки, стройка │ +│ рабочими │ │ │ +└──────────────────────┘ └──────────────────────┘ +┌──────────────────────┐ ┌──────────────────────┐ +│ НАСЕЛЕНИЕ │ │ АРМИЯ │ +│ люди, рабочие, еда, │ │ воины по типам: дома,│ +│ голод, прирост, │ │ в гарнизоне, │ +│ жильё │ │ в походе │ +└──────────────────────┘ └──────────────────────┘ +┌──────────────────────┐ ┌──────────────────────┐ +│ ГЛОБАЛЬНЫЙ МИР │ │ БОЕВАЯ СИСТЕМА │ +│ карта, походы, замок,│ │ сила, контры, стены, │ +│ соседи, лагеря │ │ удача ±5%, голод, │ +│ разбойников │ │ прогноз │ +└──────────────────────┘ └──────────────────────┘ +┌──────────────────────┐ ┌──────────────────────┐ +│ КРУГ │ │ ЧАТ │ +│ объединение игроков, │ │ общий мир и чат │ +│ роли │ │ Круга │ +└──────────────────────┘ └──────────────────────┘ +┌──────────────────────┐ +│ СОХРАНЕНИЯ │ +│ save.json, у каждого │ +│ модуля своя секция │ +└──────────────────────┘ + +App/GameModules — точка сборки: регистрирует модули и соединяет их события +со старыми системами (GameProgress, Казармы, панели UI) ``` +**Не путать:** + +- **Поселение** — это **здания**: что построено и какого уровня. **Население** — это **люди**: сколько их, кто работает, сколько едят. Связь: уровень Ратуши (Поселение) задаёт предел жилья (Население). +- **Армия** хранит, где стоит каждый воин. **Боевая система** только считает бой: кто победил и кто погиб. +- **Глобальный мир** решает, куда и когда идёт войско; бой он просит у Боевой системы. +- **Производство** (`Bogatyri.Economy.Rules`) — не отдельный модуль, а часть Экономики без Unity: добыча через рабочих. + +**Кто отвечает** (договорённость команды от 27.10.2026): + +| Кто | Модули | +| --- | --- | +| Валдемар (экономика) | Экономика, Население | +| Саша (война и карта) | Армия, Боевая система, Глобальный мир, Круг, Чат | +| Общее | Ядро, Поселение, Сохранения | + | Модуль | Сборка | Папка | Документ | | --- | --- | --- | --- | | Игровое ядро | `Bogatyri.Core` (без Unity), `Bogatyri.Core.Unity` | `Assets/Scripts/Modules/Core`, `Core.Unity` | [Core.md](Core.md) | @@ -61,6 +104,7 @@ EditMode-тесты: `Assets/Scripts/Modules/Tests/ModuleTests.cs`. Запуск | Дата | Кто | Что | | --- | --- | --- | +| 28.10.2026 | Claude | Схема модулей обновлена: десять модулей (добавлено Население), «Не путать» (Поселение и Население, Армия и Боевая система), кто за что отвечает. | | 28.10.2026 | Claude | Голод в бою (−50%) и правило усталости (−20%, вместе 40%). Обновлены Battle, World, Core. | | 28.10.2026 | Claude | Этап 2 плана, начало: таблица баланса боя `BattleConfig`, случайность ±5%, прогноз риска, полный итог боя для обеих сторон. Обновлены Battle, World, Core. | | 28.10.2026 | Claude | Исправления по ревью 27.10.2026 (п. 2.1, 2.2, 2.4): воины не появляются из неизвестных и повторных походов, отправка с откатом, тесты крайних случаев боя. Обновлены Army, World, Battle, Core. |