Текущая реализация

Геймплей 4X AS-BUILT

Игровые системы поверх мира: города и экономика, отряды и герои, движение по карте, технологии, дипломатия, квесты. То, что реально написано в коде на сегодня.

⚠ Снимок кода, не целевой дизайн Описано фактическое поведение движка. Механики будут меняться и переписываться. Контекст раздела — на странице Обзор реализации. Проектное видение — в GDD культивации.
Архитектурная опора Систему держат две сквозные вещи: Messenger (события publish/subscribe — MoveStart, unitDeath, UPDATE_RESOURCES_LIST и т.д., слабая связанность подсистем) и SubMod-разбиение UI по доменам (City / Squads / Techs / World). Многое обновляется по событию хода (OnNextTurn).

Города, стройка и очередь производства

Развитая городская система: развитие районов (quarters), строительство зданий, производство экипировки и набор отрядов — параллельно, с очередью (приоритет, пауза, отмена). Типы построек: священные, нейтральные, логова, военные лагеря. Связь с гарнизонами, хранилищами и караванами.

Класс / файлРоль
BuildingSystem.cs, BuildingInProgress.cs, QuarterInProgress.csСтройка и производство.
UI_CityData.cs, UI_Panel_Queue.cs, UI_Panel_Storage.csUI города, очередь, склад.

рабочая Пути: Core/Scripts/GameDesign/City/, GameEngine/Scripts/SubModUICity/.

Население

Население города = сумма по зданиям, есть прирост в ход. Влияет на производство ресурсов (зависимость от занятости). Доля, мобилизуемая на войну — по умолчанию ~0.9.

рабочая PopulationSystem.cs.

Ресурсы и хранилища

По ресурсу: текущее и максимальное количество, прирост и расход в ход, тип из ResourceIDs, привязка к тайлам добычи. Учёт влияния населения.

рабочая MassResource.cs, ResourceMineToken.cs.

Стены и фортификации

Материализация/дематериализация стен по тайлам, типы стен (WallIds), поддержка башен, строительство через очередь города.

рабочая WallAreaExtension.cs.

Караваны и торговля

Маршруты между городами (From/To), кэш по фракциям и городам, разделение входящих/ исходящих/новых, визуализация на карте.

рабочая CaravanManager.cs, CaravanVisual.cs, Caravan.cs.

Гарнизоны

Структура гарнизонов города и привязка к зданиям есть, обновление по ходу. Но часть методов пока заглушки (например, удаление гарнизона реализовано неверно) — требует доработки.

заготовка CityGarrisonSystem.cs, Garrison.cs.

Отряды, формации и юниты

Юниты распределяются по слотам формации и расставляются на тайле согласно выбранной формации: Boss, Testudo, Shiltron, Circle, Phalanx и др. Слот хранит позицию, ротацию, базовые координаты; есть отслеживание смертей, удаление павших, сохранение тел под анимацию, поддержка лидера отряда. Сложная математика позиций в гексе.

Класс / файлРоль
SquadController.csКонтроллер отряда.
SquadFormation.cs, Slot.csФормации и слоты.
SquadUnitManager.cs, UnitInSquadController.csЮниты внутри отряда.

рабочая Путь: GameEngine/Scripts/Squads/.

Герои

SquadHero наследует Squad; герой может быть лидером отряда (mainhero), работает как юнит с ролью Hero. Есть UI-панели героя, его уровня и карточек характеристик.

рабочая SquadHero.cs, UI_Hero_Panel.cs, UI_HeroLevel_Panel.cs.

Экипировка

Броня и оружие по слотам, drag-and-drop надевание, производство экипировки параллельно со стройкой города, коэффициенты эффективности типов вооружения.

рабочая Equipment.cs, EquippedItem.cs, ArmorSlot.cs, HandEquip.cs.

Движение по карте и пути

Отряды перемещаются по карте с визуализацией маршрута стрелками: пути хранятся по отрядам, свои и вражеские различаются цветом (синие/зелёные), чужие стрелки автоскрываются, движение анимируется корутинами.

рабочая SquadMovementController.cs, HUD_PathController.cs, HUD_PathArrowsRender.cs, SquadPath.cs.

Поиск пути по ландшафту (вода/горы/земля) с проверкой доступности тайлов: наземная навигация LandSquadNav частично закомментирована, водная WaterSquadNav есть.

заготовка Путь: GameEngine/Scripts/Squads/Navigation/, SubModPathFinding/.

Дерево технологий

Древовидные исследования с мягкими и жёсткими зависимостями между технологиями. Визуализация связей кривыми Безье, драгуемые карточки технологий, интеграция с UI.

Класс / файлРоль
TechCore.cs, TechNode.csЯдро и узлы дерева.
TechPanelController.cs, TechListController.csUI дерева.
TechDependenceData (TechID, TechDepenceID, isOptional)Зависимости.

рабочая Пути: Core/Scripts/GameDesign/Techs/, SubModUITechs/.

Дипломатия

Отношения правителей считаются через черты характера: таблица совместимости с модификаторами (примерно от −20 до +10). Есть союзы (DipUnion), субнации, типы соглашений.

рабочая NationRelations.cs, DipUnion.cs, SubNation.cs.

Фракции, нации, религия

В Core разработаны системы наций, религии и отношений персонажей фракции. Но верхний менеджер FactionsManager закомментирован — сборка фракций целиком ещё не сведена.

заготовка FactionNationSystem.cs, FactionReligionSystem.cs, FactionCharacterRalationSystem.cs.

Квестовый движок

Самая развитая часть игровой логики. Квест — это граф из нод и переходов (слои ячеек и связей) с параметрами. Реализовано 130+ типов стадий: диалоги, действия, проверки условий, генерация объектов (дойти до тайла, сменить репутацию, двигать отряд и т.д.). Есть пакеты квестов, runtime-каталог и система событий запуска квестов в игре.

Класс / файлРоль
Quest.cs, QuestSystem.cs, QuestStage.csКвест, движок, базовая стадия.
Quests/Stages/ (130+ файлов)Конкретные типы стадий.
Quests/Modes/Квестовые события/режимы.

рабочая (очень развитая) Путь: Core/Scripts/GameDesign/Quests/.

Мировая карта: иконки и объекты

Отображение на карте: иконки священных мест (Sacred, Megalith), нейтральных зданий, логов монстров, университетов, лагерей бандитов; иконки ресурсов и квестов; система символов и цветового кодирования.

рабочая UI_MapObjectLabel.cs, UI_TileIcon.cs, UI_TileResourceIcon.cs, UI_QuestIcon.cs.

Наполнение мира (конфиги)

Расстановка контента по коалициям (бандиты, нежить, города мира) через ScriptableObject- контейнеры: конструкции, отряды, лут, экипировка, предметы, ресурсы; деление на зоны.

рабочая Пути: SubModPlantData/, SubModPlantEnv/.

Сводка по статусам

МеханикаСтатус
Города, стройка, очередьрабочая
Население · Ресурсы · Стены · Караванырабочая
Отряды, формации, юниты · Герои · Экипировкарабочая
Движение и визуализация путейрабочая
Тех-древо · Дипломатия · Мировая картарабочая
Квестовый движокрабочая
Гарнизонызаготовка
Фракции (сборка менеджера)заготовка
Поиск пути (наземный)заготовка