Files
Cielonos/design/gdd/game-concept.md
SoulliesOfficial 39b43680a9 爆更
2026-07-18 03:16:20 -04:00

279 lines
11 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.
# Cielonos — 游戏概念与项目总结
> 本文档是 Cielonos 项目的完整状态快照,作为所有后续设计、开发和评审工作的单一参考源。
> 最后更新2026-07-02
---
## 游戏身份
- **类型**:二次元风格 3D 第三人称 Roguelike 动作游戏
- **视觉风格**Anime / 二次元PotaToon 卡通渲染管线 + 风格化 VFX
- **世界观主题**:科幻 / 机甲("Automata" 敌人阵营、科技武器、辅助无人机 AuxiliaryDrone
- **引擎**Unity 6 (6000.3.7f1)URP 渲染管线
- **目标平台**PC + 主机PlayStation / Xbox
- **音频方案**WwiseAudiokinetic 专业音频中间件)
- **自有工具库**SLSUtilities 程序集(自研 Feedback 系统、FunctionalAnimation 系统、及其它通用工具)
---
## 核心玩法循环
1. **选择武器与装备** → 进入一局 Roguelike Run
2. **地图导航**程序化生成地图MapGenerator选择节点路线风险/收益分支)
3. **区域战斗**:进入战斗节点,完成波次清怪
4. **获取奖励**:通过 RewardTable 获取装备/升级,强化当前 Build
5. **推进或阵亡**:推进至 Boss 或阵亡结束本局
6. **Meta 进度**:(待完善)局间持久升级
### 运行系统RunManager
- 阶段流转Idle → GeneratingMap → NodeSelection → ZoneExecution → NodeCompletion → RunEnd
- 节点类型战斗房间、商店MechanicalTable / LogisticsCenter、医疗站MedicalStation、奖励台RewardTable、出口门ExitGate
- 支持运行种子(可复现)、侦查范围扩展、掉落稀有度系统
---
## 战斗系统
### 架构
- **CombatManager**:中央战斗编排器,管理回合、命中判定、反应施加
- **AttackArea 模块化系统**所有攻击由可组合子模块构成HitSubmodule、MoveSubmodule、ReactionSubmodule、ImpulseSubmodule、RaycastSubmodule 等)
- **攻击区域类型**NormalArea近战、Projectile远程、Link光束/锁链)
### FuncAnim 事件驱动战斗
动画是纯粹的时间载体,所有游戏逻辑通过 FuncAnimPayload 在关键帧触发:
- `SpawnVFX` — VFX 生成
- `PlaySoundFX` — Wwise 音频事件
- `ApplyBuff / RemoveBuff` — 状态效果
- `InvokeAnimScFunction` — 武器代码回调
- `ManualMove` — 脚本化位移
- `SetStatus / SetGravity / SetRootMotionMultipliers` — 状态切换
- `ChangeCollisionLayers` — 命中区域开关
### MusicBeatSystem节奏战斗
- CombatMusicController 管理音乐播放 + 拍子追踪
- BeatJudgement 评估命中/失误/完美
- BeatMarkerUI / BeatTimelineUI 视觉节拍指示
### 反馈系统SLSUtilities/Feedback — 自研)
- Cinemachine 震动位置、旋转、距离、轨道、FOV
- 后处理效果Bloom、色差、暗角、RGB 分裂故障、径向模糊)
- TimeScaleModifier子弹时间 / 顿帧)
- AfterImage残影生成器
- 替代了已弃用的 More Mountains Feel
---
## 武器系统
每把武器通过 Partial Class 按职责拆分主类、Functions、AnimationCallbacks、AttackAreas、Buff/Fusion 等)。
### 活跃武器Demo 核心)
#### Polychrome太刀
- **机制**激情Passion系统联动、完美格挡/弹反ParryAttackFromDodge、空中连击
- **攻击序列**AttackL0-L56 段地面连击、AttackRA/RB、AirAttack
- **防御**NormalBlock、PerfectBlock、ParryAttack
- **特殊**技能攻击Skill、终极技UltimateAttack
- **Feedback**12+ 种命中反馈资产
- **状态**:高完成度,正在使用
#### FutureWand能量法杖
- **机制**蓄力射击HoldAttack Start/Loop/End、弹丸系统、闪电生成、弹药系统
- **攻击序列**AttackL0-L56 段连击、AttackRA/RB
- **特殊**:终极旋转/释放UltimateSpin/Release
- **VFX 单元**GroundArea、NormalBolt、UltimateBeam、CubicBolt、SpinArea、Lightning、Tornado8 个 VFXData 单元)
- **状态**:高完成度,正在使用
### 待使用武器
#### DualHarmony双持
- 基础 FuncAnim 已有AttackL0/L1、AttackR0
- 双武器连击结构,暂未投入使用
### 已废弃武器(素材保留)
- **Yasha**(长柄武器)
- **Lampsis**
---
## 敌人系统
所有敌人属于 "Automata" 阵营。每种敌人拥有独立的 AttackData、AttributeData、TimerData、VFXData 资产。
### Boss
| 代号 | 类型 | 特点 |
|------|------|------|
| **C1_Axe** | Boss 级近战重击型 | 斧头挥砍,环境冲击 VFX。当前 Boss 战设计基本满意 |
### 杂兵(活跃)
| 代号 | 类型 | 特点 |
|------|------|------|
| **L1_Assault_Pawn** | 轻型突击兵 | 快速攻击,蓝色斩击/尖刺/子弹 VFX 套件5 种) |
| **L2_Assault_Stinger** | 远程突击型 | 远程攻击模式 |
> 当前杂兵战斗设计存在较多缺陷,是优先改进方向。
### 待使用敌人
| 代号 | 类型 | 特点 |
|------|------|------|
| **M1_Suppression_Centurion** | 重型坦克 | 格挡机制NormalBlock/PerfectBlock、隐身、龙卷风、剑斩11 种 VFX |
### 已废弃 / 测试用
- **NexusCrab** — 完全废弃
- **IFD1_Test** — 测试占位
### 通用敌人 VFX 库CommomVFX/
- 24 个可复用 VFX 预制体,按攻击等级分类:
- 普通攻击:斩击、方向命中、全方位命中、移动斩击/冲击、子弹/枪口闪光
- 危险攻击:更高视觉强度的对应效果
- 格挡/弹反:普通和完美格挡警示
- 攻击破坏/强制等级警告3 种视觉标识
---
## 装备系统
### 主动支援装备SupportEquipmentBase— 7 种
FusionInjector、IceCone、PerceptiveMetalPlating、Scanner、ThermalDetonator、VoidAnchor 等
### 被动装备PassiveEquipmentBase— 24 种
AdaptiveArmor、ArmorPiercingRound、Ascension、BellowsThruster、CorrosiveCoating、DecayAccelerationCoil、DecayPropagator、DetonationWarhead、FusionCatalyst、KineticFocusLens、LastStandProtocol、MemoryExoskeleton、MetabolicCatalyst、OverloadBattery、Passion、PlasmaResonator、PowerFurnace、QuantumShieldGenerator、ReactivePlating、ReflectionPrism、SpatialWarpCaliper、SupercriticalCore、SymbioticLoop、VipersFang
### 消耗品ConsumableBase— 5+ 种
AutomaticShield、EnergyReservoir、PermanentCoating、PrefabricatedComponent、RareMaterial、Salvo
---
## 角色系统
### 架构
- **CharacterBase**基类管理生命周期、属性、Buff、事件
- **Fraction 阵营系统**Player、AlliedMinion、Enemy、Neutral
### 子控制器Subcontroller — 重逻辑组合单元)
- CollisionSubcontroller — 碰撞检测与物理反应
- LandMovementSubcontroller — 地面移动 + 跳跃/闪避
- PlayerAnimationSubcontroller — 动画状态 + Override Controller 管理
- RenderSubcontroller — 视觉渲染与材质
- BodyPartsSubcontroller — 骨骼/身体部位命中区追踪
- AudioSubcontroller — Wwise 音效播放
- ReactionSubcontroller — 受击反应、击退、硬直
- FeedbackSubcontroller — 屏幕震动、泛光、VFX、后处理
### 子模块Submodule — 轻量工具组合单元)
- SelfTimeSubmodule — 独立 deltaTime支持慢动作
- AttributeSubmodule — 数值/百分比叠加属性修正
- EventSubmodule — 事件广播onAttack、onGetHit、onDie 等)
- BuffSubmodule — Buff/Debuff 堆叠与更新
- StatusSubmodule — 状态标记(眩晕、无敌等)
### 玩家特有
- PlayerInventorySubcontroller — 背包 + 装备槽管理
- PlayerInputSubcontroller — 输入轮询 + 预输入缓冲
- PlayerInteractionSubcontroller — NPC/物体交互
- PlayerFunctions — 冲刺、跳跃、闪避
---
## Buff / 状态系统
### 框架
- BuffBase → CharacterBuffBase → ProbabilityBuffBase概率触发/ ProgressBuffBase累积堆叠
### 已实现效果
- **伤害型**Burn灼烧 DoT、Decay衰败 HP 流失)
- **控制型**Freeze冻结、ElectronicParalysis电子麻痹/眩晕、Incapacitation失能
- **增益型**EnergyRecovery能量恢复、Invincible无敌帧
- **减益型**Weak虚弱/属性下降)
- **修正型**BreakthroughResistanceModification韧性减免、VerticalMoveModification
---
## 属性系统
- **AttributeGroup**定义属性池Health、Energy、Attack、Defense 等)
- **计算堆叠**:基础值 → 数值加成 → 百分比累加 → 百分比乘算
- **代码生成**StaticAttributeClassGenerationWindow 自动生成强类型访问器
---
## UI 系统
### 战斗 HUDPlayerCanvas/
- BossInfoUnit — Boss 血条/状态
- EnemyInfoUnit — 敌人信息
- DodgeFunctionIcon — 闪避能力指示
- MainWeaponFunctionIcon — 武器攻击/技能图标
- SupportEquipmentIcon — 支援装备状态
- CombatSystemsUI — 被动能力图标
- BeatMarkerUI / BeatTimelineUI — 节拍指示
### 菜单/导航MainGamePages/
- InventoryItemSelector — 背包管理
- RewardChoiceSelector — 战后奖励选择Roguelike 核心)
- MechanicalTableSelector — 装备/锻造选择
- LogisticsCenterSelector — 资源/补给中心
- MapNode — Roguelike 地图节点
- ItemDetailTextModule — 物品详情
### 对话/交互
- DialogUIPage — Yarn Spinner 对话界面
- ConfirmUIPage / InteractionUIArea — 选择/提示
---
## 叙事系统
- **Yarn Spinner** 集成git 依赖)
- **StoryDirector** 协调对话/剧情
- **触发器**AreaNarrativeTrigger区域触发、TimerNarrativeTrigger计时触发
- **回调函数**CustomFunctions、NPC_CFs、Tutorial_CFs
- **NPC**GuideNpc引导 NPC、SupportPersonnel支援人员
---
## 场景结构
| 场景 | 用途 | 内容 |
|------|------|------|
| **Menu** | 主菜单 | 开始游戏、设置、退出 |
| **Loading** | 加载界面 | 资产加载、场景过渡 |
| **CityArena** | 核心战斗场景 | Roguelike 战斗循环的主场景容器(玩家、敌人、地图 UI、CombatManager |
| **Fortress** | 据点/基地 | NPC、升级、剧情推进 |
| **CharacterTest** | 开发测试 | 角色动画/控制器测试 |
> **场地说明**:目前唯一的战斗场地是 DefaultStreet城市街道作为 CityArena 场景中的环境。当前没有环境设计能力和时间投入更多场地。
---
## 内容规模统计
| 类别 | 数量 |
|------|------|
| C# 脚本文件 | 468 |
| 动画片段 | 294+ |
| VFX 预制体(自定义) | 200+ |
| 商业 VFX 包 | 15 |
| 总预制体 | 183 |
| 场景 | 6 |
| 活跃武器 | 2 |
| Boss | 1C1_Axe |
| 杂兵敌人 | 2L1_Assault_Pawn、L2_Assault_Stinger |
| 被动装备 | 24 |
| 主动支援装备 | 7 |
---
## 技术架构模式总结
1. **Submodule/Subcontroller 组合**:避免深层继承,通过可插拔的子模块(轻量)和子控制器(重逻辑)组合能力
2. **ScriptableObject 数据驱动**AttackData、ComboData、VFXData、FunctionData 等全部为资产文件,代码与数据解耦
3. **FuncAnim 事件驱动**SLSUtilities/FunctionalAnimation — 自研):动画关键帧触发 Payload 对象执行游戏逻辑,实现动画时序与代码逻辑的干净分离
4. **EventSubmodule 观察者模式**所有角色发布事件onAttack、onGetHit、onDie系统松耦合订阅
5. **模块化战斗区域**:攻击由可组合子模块构建(命中、移动、反应、变换、射线检测等),无需子类化即可定制攻击
6. **Partial Class 职责拆分**武器和角色按功能维度拆分到多个文件主类、Functions、AnimationCallbacks、AttackAreas