From 5760c6dd28e0e77b08eb3aa780b0db95ead389dc Mon Sep 17 00:00:00 2001 From: Konstantin Dyachenko Date: Thu, 9 Apr 2026 09:54:19 +0700 Subject: [PATCH] [Add] Base gdd --- ProjectSettings/ProjectSettings.asset | 1 + docs/gameplay/attribute-system-gdd.md | 301 ++++++++++++++++++++++++++ 2 files changed, 302 insertions(+) create mode 100644 docs/gameplay/attribute-system-gdd.md diff --git a/ProjectSettings/ProjectSettings.asset b/ProjectSettings/ProjectSettings.asset index 16edc703..b7ca0b92 100644 --- a/ProjectSettings/ProjectSettings.asset +++ b/ProjectSettings/ProjectSettings.asset @@ -682,6 +682,7 @@ PlayerSettings: webEnableSubmoduleStrippingCompatibility: 0 scriptingDefineSymbols: Standalone: FISHNET;FISHNET_V4 + WebGL: FISHNET;FISHNET_V4 additionalCompilerArguments: {} platformArchitecture: {} scriptingBackend: diff --git a/docs/gameplay/attribute-system-gdd.md b/docs/gameplay/attribute-system-gdd.md new file mode 100644 index 00000000..4cd4ecaf --- /dev/null +++ b/docs/gameplay/attribute-system-gdd.md @@ -0,0 +1,301 @@ +# Attribute System GDD + +## Purpose + +Этот документ фиксирует канонический дизайн системы атрибутов для боевого ядра, классов, оружия и навыков. Система должна давать игроку понятные и ощущаемые боевые эффекты от прокачки, но при этом не схлопываться в 1-2 обязательных суперстата. + +## Design Goals + +- каждый атрибут должен конвертироваться в понятный gameplay-эффект, который игрок чувствует в бою +- один атрибут должен влиять сразу на несколько связанных боевых показателей, а не быть узкой +1 характеристикой +- урон и живучесть не должны быть слиты в один лучший стат +- система должна одинаково хорошо поддерживать Воина, Лучника, Мага и будущие классы +- рост параметров должен быть контролируемым, чтобы малые бонусы оставались значимыми на протяжении всей игры +- у билдов должен быть отдельный слой идентичности, а не только линейный рост raw stats + +## Design Principles + +Система вдохновляется не буквальной схемой `STR/AGI/INT`, а принципом, при котором атрибуты сразу переводятся в боевые последствия. Игрок должен понимать, зачем он вкладывается в стат, без необходимости читать сложные формулы. + +Ключевой принцип баланса: offensive pressure и defensive survivability разведены по разным атрибутам. Если один и тот же стат одновременно дает лучший урон и лучшую выживаемость, то он становится доминирующей инвестицией и ломает разнообразие билдов. + +Третий принцип - bounded scaling. Атрибуты должны усиливать персонажа заметно, но в контролируемых пределах. Система не должна быстро приходить к состоянию, где старые бонусы теряют смысл, а различия между сборками превращаются в чисто математический отрыв. + +## Attribute Summary + +| Атрибут | Роль | Основные эффекты | Кому важен | +| --- | --- | --- | --- | +| Мощь | давление и силовой урон | melee damage, heavy projectile scaling, armor penetration, shield/block power | Воин, heavy Лучник | +| Ловкость | скорость и контроль оружия | attack speed, projectile handling, crit quality, move speed in soft cap | Лучник, mobile Воин | +| Фокус | магическая сила и контроль ресурса | spell power, cast resource, resource regen, status power, limited magic resistance | Маг, hybrid классы | +| Стойкость | живучесть и удержание темпа боя | HP, HP regen, debuff resistance, stagger resistance, small general mitigation | Воин, defensive сборки | +| Мастерство | качество билда и class-specific scaling | weapon/skill specialization, class mechanic efficiency, application quality | все классы | + +## Why Five Attributes + +Пять атрибутов закрывают базовые боевые потребности без перегруза системы. + +- `Мощь` отвечает за силовое давление и пробивание защиты. +- `Ловкость` отвечает за скорость, контроль и отзывчивость оружия. +- `Фокус` отвечает за магию, ресурс и статусное давление. +- `Стойкость` отвечает за выживание и стабильность в бою. +- `Мастерство` отвечает за качество применения архетипа, оружия и умений. + +Первые четыре атрибута закрывают фундаментальные боевые оси. Пятый нужен для того, чтобы билды различались не только величиной урона, скорости или здоровья, но и стилем применения инструментов персонажа. + +## Attribute Details + +### Мощь + +`Мощь` - это атрибут силы удара и продавливания защиты. + +Что усиливает: + +- урон ближнего боя +- часть урона тяжелых projectile-атак и тяжелых weapon skills +- пробивание брони или физического сопротивления +- силу щитов, блоков и силовых defensive interactions у воина + +Почему атрибут нужен: + +- каждая инвестиция должна делать силовой билд ощутимо опаснее +- Воин должен чувствовать, что стат усиливает давление, а не просто увеличивает запас здоровья +- Лучник с тяжелым арбалетом или другим медленным силовым ranged archetype может частично использовать этот стат + +Классовый приоритет: + +- Воин: основной +- Лучник: вторичный для heavy build +- Маг: почти не нужен + +Дизайн-ограничение: + +`Мощь` не должна быть источником большого запаса HP. Иначе силовые билды автоматически получают и лучший урон, и лучшую танковость за одну и ту же инвестицию. + +### Ловкость + +`Ловкость` - это атрибут скорости, точности и контроля оружия или снаряда. + +Что усиливает: + +- скорость атаки +- скорость натяжения, выпуска или перезарядки projectile-оружия +- шанс крита, точность крита или общее качество критических попаданий +- скорость перемещения в мягком капе +- скорость projectile и контроль полета +- очень малый объем уклонения, анти-замедления или recovery от slow-эффектов + +Почему атрибут нужен: + +- это основной stat fantasy для лучника и мобильных билдов +- в top-down 3D скорость и отзывчивость особенно хорошо ощущаются руками +- стат должен давать чувство живости, а не быть абстрактной прибавкой к защите + +Классовый приоритет: + +- Лучник: основной +- Воин: вторичный +- Маг: ситуативный для battle-mage и мобильных гибридов + +Дизайн-ограничение: + +`Ловкость` не должна повторять классическую схему, где один стат одновременно дает много скорости, много защиты и высокую эффективность без trade-off. Defensive бонусы здесь должны оставаться малыми. + +### Фокус + +`Фокус` - это атрибут магической силы, контроля заклинания и ресурса. + +Что усиливает: + +- силу заклинаний +- максимальную ману, энергию каста или другой кастерский ресурс +- реген кастерского ресурса +- силу или размер AOE-навыков, если это уместно для конкретного skill archetype +- шанс наложить статус, силу статуса или надежность применения status effects +- небольшой объем сопротивления магии + +Почему не `Интеллект`: + +- этот стат не про ум персонажа, а про контроль магии и концентрацию +- название лучше подходит для action RPG без упора на диалоговую ролевую фантазию +- оно одинаково естественно звучит для мага, паладина, шамана, некроманта и других гибридов + +Классовый приоритет: + +- Маг: основной +- Воин: нужен только гибридным классам +- Лучник: почти не нужен + +Дизайн-ограничение: + +`Фокус` не должен превращаться в универсальный магический суперстат, который одновременно дает лучший урон, бесконечный ресурс и слишком сильную защиту от магии. + +### Стойкость + +`Стойкость` - это атрибут живучести и удержания темпа боя. + +Что усиливает: + +- HP +- реген HP +- сопротивление контролю +- снижение длительности дебаффов +- устойчивость к stagger, interrupt и срывам действия +- немного брони или общего damage reduction + +Почему атрибут критичен: + +- живучесть должна иметь собственную цену в билде +- вынесение HP из `Мощи` убирает очевидный перекос в пользу силовых персонажей +- defensive investment должна быть осознанным выбором, а не бесплатным бонусом к offensive stat + +Классовый приоритет: + +- Воин: основной или второй основной +- Маг: нужен для выживания +- Лучник: нужен как defensive stat + +Дизайн-ограничение: + +`Стойкость` должна усиливать survivability и стабильность, но не делать персонажа пассивно неуязвимым. Главная цель - дать возможность держать бой, а не отключить угрозу от вражеских действий. + +### Мастерство + +`Мастерство` - это ключевой уникальный атрибут системы. Он не заменяет базовые offensive или defensive характеристики, а усиливает качество применения class-specific инструментов. + +Что усиливает: + +- эффективность классовой механики +- качество применения оружия или навыка +- точность и надежность archetype-specific взаимодействий +- специализацию билда без превращения ее в еще один raw damage stat + +Примеры по классам: + +- Воин: радиус взмаха, cleave, шанс вызвать bleed, сила stagger +- Маг: скорость каста, сила статусов, bonus radius, spell penetration, снижение friendly fire там, где это поддерживается дизайном +- Лучник: pierce, weak spot damage, скорость reload, projectile control, бонус к precision/headshot логике + +Почему атрибут нужен: + +- четыре базовых стата закрывают фундамент, но не дают достаточно места для выразительной специализации +- `Мастерство` позволяет собирать не просто более сильного персонажа, а более характерный билд +- через этот атрибут проще добавлять будущие классы, не ломая базовый каркас атрибутов + +Классовый приоритет: + +- важен для всех классов +- масштабируется по-разному в зависимости от archetype +- является главным stat identity для билда + +Дизайн-ограничение: + +`Мастерство` не должно полностью заменять основной стат класса. Оно усиливает стиль и специализацию, но не должно превращаться в обязательный лучший выбор для любого персонажа вне контекста конкретной сборки. + +## Class Priorities + +### Воин + +- основные атрибуты: `Мощь`, `Стойкость` +- важный специализационный атрибут: `Мастерство` +- вторичные варианты: `Ловкость` для более живого melee-профиля, `Фокус` только для гибридов + +Воин должен ощущаться как класс силового давления, который вкладывается в урон и выживание по разным осям. Это поддерживает выбор между bruiser, tankier frontline и weapon-specialist сборками. + +### Лучник + +- основные атрибуты: `Ловкость`, `Мастерство` +- вторичный атрибут: `Мощь` для heavy ranged build +- defensive fallback: `Стойкость` + +Лучник должен чувствоваться быстрым, точным и техническим. Его билды должны различаться между мобильным pressure-профилем, тяжелым projectile-профилем и precision-специализацией. + +### Маг + +- основные атрибуты: `Фокус`, `Мастерство` +- defensive fallback: `Стойкость` +- ситуативный атрибут: `Ловкость` для battle-mage или кастера с мобильным ритмом + +Маг должен строиться вокруг контроля ресурса, силы заклинаний и качества применения эффектов, а не вокруг прямого аналога `интеллект = все полезное для мага`. + +## Derived Combat Directions + +Атрибуты должны маппиться в производные боевые параметры, которые используются combat core, оружием и навыками. Канонический набор направлений на данном этапе такой: + +- `Мощь`: melee damage, heavy projectile scaling, armor penetration, block/shield power +- `Ловкость`: attack speed, reload/draw speed, crit quality, projectile speed, limited move speed bonus +- `Фокус`: spell power, resource pool, resource regen, status application, limited magic resistance +- `Стойкость`: max HP, HP regen, control resistance, debuff duration reduction, stagger resistance, small mitigation +- `Мастерство`: class mechanic efficiency, weapon/skill specialization, archetype-specific bonuses + +Этот документ фиксирует направления скейлинга, но не фиксирует окончательные формулы. Конкретные коэффициенты, soft caps и конверсии должны быть утверждены вместе с combat core и progression formulas. + +## Balance Rules + +- offensive и defensive ценность должны требовать разных инвестиций +- один атрибут не должен одновременно давать лучшую survivability и лучший damage throughput +- secondary defensive бонусы на `Ловкости` и `Фокусе` должны быть малыми и служить flavor/utility, а не заменой `Стойкости` +- `Мастерство` должно усиливать специализацию, а не быть универсальным глобальным damage multiplier для всех +- классовая эффективность должна строиться на сочетании core stat + optional specialization, а не на одном обязательном стате +- новый класс должен встраиваться в те же пять атрибутов без создания отдельного шестого stat-пула + +## Scaling Philosophy + +Система должна следовать bounded scaling-подходу. + +- небольшие бонусы должны оставаться значимыми на протяжении игры +- soft caps предпочтительнее жестких капов там, где речь идет о скорости, мобильности и spam-sensitive показателях +- прирост эффективности должен быть читаемым, но не взрывным +- ранние инвестиции должны ощущаться особенно хорошо, а поздние не должны полностью ломать PvE-баланс + +Это особенно важно для top-down action RPG, где игрок чувствует руками скорость атаки, скорость движения, время каста и контроль персонажа. Статы должны менять поведение персонажа не только на листе характеристик, но и в непосредственном управлении. + +## Example Build Directions + +### Warrior Bruiser + +Опирается на `Мощь` + `Стойкость`, а `Мастерство` добирает cleave, bleed или stagger-oriented механику. + +### Heavy Crossbow Archer + +Опирается на `Ловкость` для handling и cadence, но заметно использует `Мощь` для тяжелого projectile-профиля. `Мастерство` усиливает pierce и precision windows. + +### Control Mage + +Опирается на `Фокус` как главный источник силы заклинаний и статусов, а `Мастерство` усиливает надежность контроля, radius tuning и penetration. + +### Battle Mage + +Опирается на `Фокус` как основу, но может частично забирать `Ловкость` ради ритма боя и `Стойкость` ради безопасного ведения ближне-средней дистанции. + +## Integration Notes + +Этот документ является каноническим design intent для следующих систем: + +- базовые характеристики и derived stats в combat core +- стартовые и приоритетные статы классов +- scaling оружия и weapon archetypes +- skill scaling и class-specific specialization hooks + +Связанные документы и задачи: + +- `docs/tasks/items/TASK-0007.md` +- `docs/tasks/items/TASK-0009.md` +- `docs/tasks/items/TASK-0010.md` +- `docs/tasks/items/TASK-0011.md` + +Если в будущем runtime-формулы потребуют уточнений, этот GDD должен оставаться источником смысла и направлений, а не заменяться низкоуровневыми числовыми таблицами. + +## Open Questions + +- какие именно derived stats нужны в MVP UI и какие можно оставить внутренними runtime-параметрами +- как именно считать crit: через chance, crit quality, weak spot logic или их комбинацию +- какие soft caps нужны для move speed, attack speed и cast speed +- в каком виде `Мастерство` задается в коде: единый stat с archetype-specific conversion rules или набор class-owned scaling hooks +- нужно ли различать mana и energy на уровне ресурсов или `Фокус` должен работать с единым кастерским ресурсом в MVP + +## Final Position + +Система атрибутов строится вокруг пяти осей: давление, скорость, магия, живучесть и мастерство применения. Ее уникальность не в переименовании классических статов, а в четком разделении боевых ролей и наличии `Мастерства` как отдельного инструмента билдовой идентичности. + +Это позволяет сохранить читаемость, избежать доминирующего суперстата и подготовить фундамент для расширения классовой системы без переработки базовой модели персонажа.