返回项目列表
Vox Dungeon
概要
这是一款面向手机平台、适合竖屏单手操作的 Roguelike 卡组构筑游戏。我个人负责设计并实现核心循环,在借鉴 Slay the Spire 等作品卡牌策略感的同时,也强调短时游玩的节奏。项目基于 Unity 6,集成了自研的 TFramework。目前已实现 CSV/Excel 主数据自动生成管线、多敌人战斗、Shop/Event/Reward 经济体系、RunSave 进度存档、Status/Buff 效果系统等核心功能。当前 UI 为开发用临时素材,后续将替换为精美成品资源。
担当内容
我负责整个开发流程:
- 游戏设计,包括卡牌、遗物、地图与经济系统规则
- 以 TFramework 的 FSM 模块与 R3 事件流为基础的架构设计
- 战斗系统、UI、场景切换、对象池等客户端实现
- 数据管线:通过 TFramework generator 实现 CSV/Excel 主数据自动生成,完成从 ScriptableObject 模拟的全面迁移
- 借助 Codex 辅助需求推敲、实现加速与调试整理
课题
- FSM 与异步处理的一致性: 回合制战斗中动画、效果结算与状态切换并行发生,FSM 的状态管理必须与 UniTask 的异步生命周期保持一致,防止战斗循环跑在效果之前或状态过渡中被插入新操作。
- 多系统之间的相互影响: 能量、手牌限制、敌人意图、被动效果插入等系统都会围绕出牌产生连锁反应,保证各系统执行顺序与通知时机的可预测性是一项核心挑战。
- 个人开发中的范围与质量平衡: 单人同时推进设计、架构与实现,过度设计拖慢进度与临时方案累积技术债之间的持续权衡。
对应内容
- 将 TFramework 直接投入实战: 利用框架承载战斗流程、场景切换、Page 栈式 UI 管理以及 Addressables 资源加载,并在实战中持续验证与修正。
- 严格的 FSM 状态设计: 将 BattleStart → TurnStart → PlayerAction → CardResolve → EnemyIntent → EnemyAction → TurnEnd → Victory/Defeat 建模为明确状态,在 Enter/Exit 中处理异步启动与完成。
- 基于 R3 的事件驱动架构: 将出牌、伤害、回复、能量变化、敌人行动等都以 Observable 形式暴露,让 UI、动画和状态切换逻辑保持解耦。
- CSV/Excel 主数据自动生成: 将卡牌、敌人、地图、商店、事件、奖励表的全部参数以 CSV/Excel 管理,通过 TFramework generator 自动生成 C# 代码。已从早期 ScriptableObject 模拟全面迁移,实现无需改动代码即可进行平衡调整的数据驱动基盘。
- View/Presenter 职责分离与 Service 拆分: 基于 TFramework 的 Page/Dialog 流程完成 UI 职责拆分。进一步将 BattleSceneFlowService 拆分为 BattleRewardService、BattleShopService、BattleEventService、BattleSnapshotFactory 和 BattleDisplayTextService,遵循单一职责原则。
- 多敌人战斗与高级敌人 AI: 从单体敌人扩展到复数敌人编队,实现每个敌人独立的 HP/Block/Intent/Status/Buff 管理,以及 OpeningOnly/RepeatAfterOpening/AfterOpeningRandom/Random/Cycle 五种行动模式。
成果
目前已实现的主要功能:
- 基于 FSM 的 9 状态严格回合制战斗流程(BattleStart → TurnStart → PlayerAction → CardResolve → EnemyIntent → EnemyAction → TurnEnd → Victory/Defeat)
- CSV/Excel 主数据自动生成管线(通过 TFramework generator,覆盖卡牌、敌人、地图、商店、事件、奖励表)
- 多敌人编队战斗(每个敌人独立的 HP/Block/Intent/Status/Buff 管理,TargetSide.AllEnemies 支持)
- 五种敌人 AI 行动模式:OpeningOnly / RepeatAfterOpening / AfterOpeningRandom / Random / Cycle
- View/Presenter 职责分离与 Service 拆分(BattleRewardService / BattleShopService / BattleEventService / BattleSnapshotFactory / BattleDisplayTextService)
- RunSave 进度保存与恢复(Map/RestShop 自动存档、Save & Quit 流程)
- 商店系统(卡牌购买、删除、售罄显示、主数据驱动的价格计算)
- 事件系统(分支选择、随机事件抽取、本地化支持)
- 奖励系统(Card / Gold / Potion / Relic 多种奖励类型,动态生成)
- Status 效果(Weak / Vulnerable / Slimed)与 Buff 效果(Strength / Ritual / Enrage)
- 战斗抽牌堆与弃牌堆的可视化
- 全场景和预制体的 Addressables 异步加载
开发中:Relic(神器)被动效果系统。 剩余工作:UI 全面重设计(当前为灰度开发 mock)、动画与演出全般、OutGame 场景(TitleScene / MainScene)、地图自动生成、补给功能(休息回血与卡牌强化)。
※图片仅为示意。