From 0caf5d203b2d034fc58c199bd8565bfd6591a48b Mon Sep 17 00:00:00 2001 From: Konstantin Dyachenko Date: Thu, 9 Apr 2026 11:11:52 +0700 Subject: [PATCH] [Fix] Attribute balance --- docs/gameplay/attribute-reference.md | 26 +++++++++---- .../attribute-stats-visibility-mvp.md | 4 +- docs/gameplay/attribute-system-gdd.md | 39 ++++++++++++++----- docs/gameplay/combat-resolution-gdd.md | 20 ++++++++-- docs/gameplay/stat-catalog-mvp.md | 19 +++++---- 5 files changed, 78 insertions(+), 30 deletions(-) diff --git a/docs/gameplay/attribute-reference.md b/docs/gameplay/attribute-reference.md index 747f3a6e..c87e2db5 100644 --- a/docs/gameplay/attribute-reference.md +++ b/docs/gameplay/attribute-reference.md @@ -137,13 +137,14 @@ - `Mana Regen` - `Spell Power` - `Status Power` -- `Magic Resist` +- часть `Magic Resist` Вторичные эффекты: - `Cast Speed` - AOE scaling там, где это задается skill archetype - spell penetration hooks через mastery/skill layer +- часть магической защиты через совместный scaling с `Мастерством` Зависит от: @@ -155,7 +156,6 @@ Влияет на системы: -- skill resource hooks - mana-based skill resource hooks - spell damage scaling - status application @@ -179,6 +179,7 @@ - `HP` - `HP Regen` +- `Stamina` - `Armor` - `Control Resist` - `Stagger Resist` @@ -188,6 +189,7 @@ - `Debuff Duration Reduction` - small mitigation - interrupt resistance +- часть физической выносливости и recovery stability Зависит от: @@ -199,6 +201,7 @@ Влияет на системы: - max health pool +- stamina pool support - defense pass - control and stagger resolution - sustain @@ -223,6 +226,7 @@ - `Weak Spot Bonus` - `Projectile Control` - `Cast Refinement` +- часть `Magic Resist` - class-specific scaling hooks Вторичные эффекты: @@ -231,6 +235,7 @@ - bleed/stagger intensity - precision bonuses - spell shaping +- resource efficiency hooks по archetype Зависит от: @@ -246,6 +251,7 @@ - skill specialization - weak spot logic - status quality +- magic mitigation synergy - weapon-specific hooks Основные классы: @@ -259,11 +265,15 @@ - `Стойкость` -> `HP`, `HP Regen`, `Stamina Pool` - `Ловкость` -> `Stamina Regen`, tempo recovery, mobility efficiency -- `Фокус` -> `Mana`, `Mana Regen`, spell-facing resource scaling +- `Фокус` -> `Mana`, `Mana Regen`, spell-facing resource scaling, part of magic mitigation - `Мастерство` -> class-specific resource efficiency hooks +`Magic Resist` собирается не из одного источника, а из сочетания `Фокуса`, `Мастерства` и экипировки. + `HP`, `Stamina` и `Mana` являются разными ресурсными пулами. `Фокус` не является главным источником `Stamina`. +`Stamina` не должна выступать постоянным налогом на базовый loop. В MVP она ограничивает сильные физические действия, dodge/sprint и weapon-heavy commitments. + ### Upstream To Attributes - `Class Definition` задает стартовые значения и приоритеты @@ -275,16 +285,16 @@ ### Attributes To Derived Stats - `Мощь` -> physical offense bucket -- `Ловкость` -> speed/crit/projectile bucket -- `Фокус` -> caster/mana bucket -- `Стойкость` -> defense/sustain bucket -- `Мастерство` -> specialization hooks и quality modifiers +- `Ловкость` -> speed/crit/projectile bucket и stamina recovery hooks +- `Фокус` -> caster/mana bucket и part of magic mitigation +- `Стойкость` -> defense/sustain bucket и stamina pool support +- `Мастерство` -> specialization hooks, quality modifiers и part of magic mitigation ### Derived Stats To Combat Systems - offense stats -> damage build, crit resolution, penetration - caster stats -> mana checks, spell scaling, status apply -- defense stats -> mitigation, HP pool, control resistance +- defense stats -> mitigation, HP pool, stamina pool, control resistance - mastery hooks -> weak spot, proc quality, archetype-specific modifiers ## Implementation Notes diff --git a/docs/gameplay/attribute-stats-visibility-mvp.md b/docs/gameplay/attribute-stats-visibility-mvp.md index 028573e9..2e6242ca 100644 --- a/docs/gameplay/attribute-stats-visibility-mvp.md +++ b/docs/gameplay/attribute-stats-visibility-mvp.md @@ -67,7 +67,7 @@ Правила показа: - `Damage` должен быть приведен к понятной игроку форме, без раскрытия всех внутренних коэффициентов -- `Stamina` должна отображаться как физический ресурс действий и темпа +- `Stamina` должна отображаться как ресурс сильных физических действий, dodge/sprint и weapon-heavy commitments, а не как постоянный налог на базовый бой - `Mana` должна отображаться как магический ресурс каста и spell-oriented умений - `Armor` лучше показывать как единое защитное число для MVP, если отдельный breakdown еще не нужен - `Move Speed` полезен, потому что напрямую ощущается руками в top-down action RPG @@ -102,6 +102,7 @@ - `Crit Chance` и `Cast Speed` полезны только если соответствующий archetype реально на них опирается - `Magic Resist` не нужно тащить в основной экран, если магические угрозы еще не занимают большую долю MVP-боя - `Projectile Speed` и `Block Power` стоит показывать только когда игрок использует подходящее оружие или билд +- `Magic Resist` в advanced view должна читаться как итог из `Фокуса`, `Мастерства` и экипировки, а не как прямой показатель одного атрибута Почему это не main UI: @@ -168,6 +169,7 @@ - UI обновляется только если изменились отображаемые main или advanced stats - hidden runtime stats могут обновляться вместе со своим bucket, но не должны триггерить лишние UI refresh - ресурсные пулы и их автопополнение должны обновляться отдельно от offense/defense bucket, если изменение не затрагивает другие группы +- `Stamina` изменения должны отдельно обновлять pool и regen, чтобы heavy-weapon pressure или dodge-расход не вызывали лишний пересчет unrelated боевых bucket Для MVP нежелательно: diff --git a/docs/gameplay/attribute-system-gdd.md b/docs/gameplay/attribute-system-gdd.md index d593eb95..cacd6787 100644 --- a/docs/gameplay/attribute-system-gdd.md +++ b/docs/gameplay/attribute-system-gdd.md @@ -27,7 +27,7 @@ | --- | --- | --- | --- | | Мощь | давление и силовой урон | 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, mana pool, mana regen, status power, limited magic resistance | Маг, hybrid классы | +| Фокус | магическая сила и контроль маны | spell power, mana pool, mana regen, status power, part of 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 | все классы | @@ -50,7 +50,7 @@ В MVP используются три отдельные ресурсные оси: - `HP` - запас жизни, в основном зависит от `Стойкости` -- `Stamina` - ресурс физических, мобильных и weapon-heavy действий +- `Stamina` - ресурс сильных физических, мобильных и weapon-heavy действий - `Mana` - ресурс магии, каста и spell-oriented действий У каждого ресурса есть свой стат автопополнения: @@ -65,6 +65,24 @@ - `Stamina` не является магическим ресурсом и не должна жить внутри `Фокуса` - `Стойкость` отвечает за `HP` и поддерживает физическую выносливость через `Stamina Pool` - `Ловкость` поддерживает темп физических действий через `Stamina Regen` и связанные recovery-модификаторы +- базовый бой не должен часто упираться в пустую `Stamina`; этот ресурс ограничивает прежде всего сильные действия, а не core-rotation персонажа +- `Stamina Regen` должен быть быстрым, чтобы не ломать темп open world ARPG +- если `Stamina` уходит в ноль, система должна скорее ограничивать burst-опции через short exhaustion pressure, чем надолго выключать игроку базовые действия + +Рекомендуемая зона применения `Stamina` в MVP: + +- dodge +- sprint +- block/guard upkeep +- heavy melee attacks +- charged ranged shots +- weapon-heavy abilities и силовые mobility skills + +Что не должно становиться основным налогом `Stamina` в MVP: + +- базовая легкая атака +- простая core-rotation без heavy-commitment действий +- обычное перемещение вне sprint state ### Мощь @@ -133,7 +151,7 @@ - реген маны - силу или размер AOE-навыков, если это уместно для конкретного skill archetype - шанс наложить статус, силу статуса или надежность применения status effects -- небольшой объем сопротивления магии +- часть сопротивления магии вместе с `Мастерством` Почему не `Интеллект`: @@ -149,7 +167,7 @@ Дизайн-ограничение: -`Фокус` не должен превращаться в универсальный магический суперстат, который одновременно дает лучший урон, бесконечный ресурс и слишком сильную защиту от магии. +`Фокус` не должен превращаться в универсальный магический суперстат, который одновременно дает лучший урон, бесконечный ресурс и самодостаточную защиту от магии. Магическая защита должна собираться через сочетание `Фокуса`, `Мастерства` и экипировки, а не через один единственный stat. ### Стойкость @@ -245,7 +263,7 @@ - `Мощь`: 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, mana pool, mana regen, status application, limited magic resistance +- `Фокус`: spell power, mana pool, mana regen, status application, part of magic resistance - `Стойкость`: max HP, HP regen, control resistance, debuff duration reduction, stagger resistance, small mitigation - `Мастерство`: class mechanic efficiency, weapon/skill specialization, archetype-specific bonuses @@ -259,6 +277,8 @@ - `Мастерство` должно усиливать специализацию, а не быть универсальным глобальным damage multiplier для всех - классовая эффективность должна строиться на сочетании core stat + optional specialization, а не на одном обязательном стате - новый класс должен встраиваться в те же пять атрибутов без создания отдельного шестого stat-пула +- `Stamina` должна ограничивать сильные и commitment-heavy действия, но не должна постоянно отключать базовый loop немагических билдов +- `Magic Resist` не должна полностью сидеть в `Фокусе`; итоговая магическая защита должна собираться через `Фокус`, `Мастерство` и экипировку ## Scaling Philosophy @@ -289,6 +309,10 @@ Опирается на `Фокус` как основу, но может частично забирать `Ловкость` ради ритма боя и `Стойкость` ради безопасного ведения ближне-средней дистанции. +### Heavy Weapon Fighter + +Опирается на `Мощь` для давления и на `Стойкость` для `Stamina Pool`, а `Ловкость` поддерживает быстрое восстановление `Stamina` между тяжелыми commit-действиями. Такой билд должен ощущаться как серия мощных окон, а не как постоянная игра в пустую полоску выносливости. + ## Integration Notes Этот документ является каноническим design intent для следующих систем: @@ -317,11 +341,6 @@ Если в будущем runtime-формулы потребуют уточнений, этот GDD должен оставаться источником смысла и направлений, а не заменяться низкоуровневыми числовыми таблицами. -## Open Questions - -- какие soft caps нужны для move speed, attack speed и cast speed -- в каком виде `Мастерство` задается в коде: единый stat с archetype-specific conversion rules или набор class-owned scaling hooks - ## Final Position Система атрибутов строится вокруг пяти осей: давление, скорость, магия, живучесть и мастерство применения. Ее уникальность не в переименовании классических статов, а в четком разделении боевых ролей и наличии `Мастерства` как отдельного инструмента билдовой идентичности. diff --git a/docs/gameplay/combat-resolution-gdd.md b/docs/gameplay/combat-resolution-gdd.md index 5d0819c1..1a7f2847 100644 --- a/docs/gameplay/combat-resolution-gdd.md +++ b/docs/gameplay/combat-resolution-gdd.md @@ -49,6 +49,13 @@ - хватает ли нужного ресурса для старта - есть ли специальные cost modifiers от класса, оружия, навыка или `Мастерства` +Правила resource gate для MVP: + +- `Stamina` используется для dodge, sprint, block/guard upkeep, heavy attacks, charged attacks и weapon-heavy abilities +- базовая легкая атака и простой core loop не должны регулярно блокироваться отсутствием `Stamina` +- если `Stamina` исчерпана, игрок в первую очередь теряет доступ к сильным commit-действиям или получает short exhaustion pressure, а не полностью выключается из боя +- `Stamina Regen` должен быть быстрым, чтобы темп open world ARPG не разваливался даже в PvP и затяжных PvE-сценариях + На этом этапе определяются: - источник действия @@ -197,6 +204,11 @@ - `Spell Penetration`, если введен для archetype - small mitigation и другие defense modifiers +Правило источников магической защиты: + +- `Magic Resist` формируется из сочетания `Фокуса`, `Мастерства` и экипировки +- ни `Фокус`, ни `Мастерство` по отдельности не должны давать самодостаточную магическую защиту + Порядок на MVP: 1. определить тип урона @@ -303,10 +315,10 @@ PRD используется только для chance-based событий. ### Attributes To Combat - `Мощь` -> physical damage, heavy impact, penetration, block power -- `Ловкость` -> cadence, crit chance, crit quality, projectile handling -- `Фокус` -> spell power, resource, status power, magic-facing calculations -- `Стойкость` -> HP, mitigation, control resistance, stagger resistance -- `Мастерство` -> weak spot bonuses, proc quality, archetype specialization +- `Ловкость` -> cadence, crit chance, crit quality, projectile handling, stamina recovery +- `Фокус` -> spell power, mana, status power, part of magic mitigation +- `Стойкость` -> HP, stamina pool, mitigation, control resistance, stagger resistance +- `Мастерство` -> weak spot bonuses, proc quality, archetype specialization, part of magic mitigation ### Weapons To Combat diff --git a/docs/gameplay/stat-catalog-mvp.md b/docs/gameplay/stat-catalog-mvp.md index 8413d730..b60aa459 100644 --- a/docs/gameplay/stat-catalog-mvp.md +++ b/docs/gameplay/stat-catalog-mvp.md @@ -26,16 +26,16 @@ | --- | --- | --- | --- | --- | | `Мощь` | Primary Attribute | class, level, equipment, buffs | physical offense, penetration, block power | weapons, skills, combat damage, guard | | `Ловкость` | Primary Attribute | class, level, equipment, buffs | speed, crit, projectile handling | attacks, crit resolution, movement | -| `Фокус` | Primary Attribute | class, level, equipment, buffs | mana, spell power, status power | skills, casting, status system | -| `Стойкость` | Primary Attribute | class, level, equipment, buffs | HP, defense, sustain, resist | survivability, control, defense | -| `Мастерство` | Primary Attribute | class, equipment, archetype bonuses, buffs | specialization quality, weak spot, class hooks | classes, weapon archetypes, skill archetypes | +| `Фокус` | Primary Attribute | class, level, equipment, buffs | mana, spell power, status power, part of magic resist | skills, casting, status system | +| `Стойкость` | Primary Attribute | class, level, equipment, buffs | HP, stamina pool, defense, sustain, resist | survivability, control, defense | +| `Мастерство` | Primary Attribute | class, equipment, archetype bonuses, buffs | specialization quality, weak spot, class hooks, part of magic resist | classes, weapon archetypes, skill archetypes | ## Core Visible Stats | Stat | Layer | Depends On | Used By | UI | | --- | --- | --- | --- | --- | | `HP` | Core Visible | `Стойкость`, level, gear, buffs | health system, survivability | main | -| `Stamina` | Core Visible | `Стойкость`, class, gear, buffs | physical actions, mobility, weapon abilities | main | +| `Stamina` | Core Visible | `Стойкость`, class, gear, buffs | dodge, sprint, heavy actions, weapon-heavy abilities | main | | `Mana` | Core Visible | `Фокус`, class, gear, buffs | spells, casting, ability gates | main | | `Damage` | Core Visible | `Мощь`, `Фокус`, weapon, skill, mastery hooks | damage build | main | | `Attack Speed` | Core Visible | `Ловкость`, weapon cadence, buffs | attack execution | main | @@ -51,7 +51,7 @@ | `Mana Regen` | Advanced | `Фокус`, class, gear, buffs | sustain, cast flow | advanced | | `Cast Speed` | Advanced | `Фокус`, `Ловкость`, skill hooks, buffs | cast execution | advanced | | `Crit Chance` | Advanced | `Ловкость`, gear, buffs, mastery hooks | crit roll via PRD | advanced | -| `Magic Resist` | Advanced | `Фокус`, gear, buffs | magic defense pass | advanced | +| `Magic Resist` | Advanced | `Фокус`, `Мастерство`, gear, buffs | magic defense pass | advanced | | `Armor Penetration` | Advanced | `Мощь`, gear, weapon, buffs | physical penetration pass | advanced | | `Control Resist` | Advanced | `Стойкость`, gear, buffs | control duration and severity | advanced | | `Status Power` | Advanced | `Фокус`, skill hooks, mastery hooks | status apply and status strength | advanced | @@ -65,9 +65,10 @@ | --- | --- | --- | --- | --- | | `Crit Quality` | Hidden Runtime | `Ловкость`, `Мастерство`, weapon, skill | crit damage bonus | не определяет факт crit | | `Mana Cost Modifier` | Hidden Runtime | `Фокус`, gear, skill, mastery | mana spending | cost tuning | -| `Stamina Cost Modifier` | Hidden Runtime | `Ловкость`, gear, skill, mastery | stamina spending | cost tuning | +| `Stamina Cost Modifier` | Hidden Runtime | `Ловкость`, gear, skill, mastery | stamina spending | cost tuning for heavy and mobility actions | | `Mana Efficiency` | Hidden Runtime | `Фокус`, mastery, buffs | cast economy | hidden for MVP | -| `Stamina Efficiency` | Hidden Runtime | `Ловкость`, `Мастерство`, buffs | physical economy | hidden for MVP | +| `Stamina Efficiency` | Hidden Runtime | `Ловкость`, `Мастерство`, buffs | physical economy | focused on dodge/heavy/commit actions | +| `Exhaustion Pressure` | Hidden Runtime | stamina state, gear, buffs | limits heavy actions under low stamina | should not fully disable core loop | | `Resource Type Tag` | Hidden Runtime | weapon, skill, class | action gating | mana/stamina/none | | `Weak Spot Bonus` | Hidden Runtime | `Мастерство`, weapon, hit zone logic | precision damage | skill-based layer | | `Headshot Precision Bonus` | Hidden Runtime | weapon type, hit zone, mastery | ranged precision | contextual | @@ -139,6 +140,7 @@ - `Projectile Speed` - `Armor Penetration` - `Block Power` +- `Stamina` для heavy/charged/commit actions, если это задано archetype - hidden offensive/runtime modifiers ### Skill System @@ -154,6 +156,8 @@ - `Cast Speed` - `Mastery` hooks +Для MVP `Stamina` не должна быть обязательной ценой каждой базовой немагической кнопки. + ### Combat Resolution Combat pipeline использует: @@ -177,6 +181,7 @@ Combat pipeline использует: - `Mana Regen` - `Mana Cost Modifier` - `Stamina Cost Modifier` + - `Exhaustion Pressure` - `Offense Bucket` - `Damage` - `Crit Chance`