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

11 KiB
Raw Blame History

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
  • Feedback12+ 种命中反馈资产
  • 状态:高完成度,正在使用

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
  • NPCGuideNpc引导 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