游戏项目已上线
福报镖局
一款已上线 Steam 的黑色幽默武侠跑酷游戏,扮演实习镖师,在拿命赶路与保住老腰之间挣扎求生。
武侠跑酷黑色幽默多分支结局

项目简介
《福报镖局》是一款黑色幽默武侠跑酷游戏。你将扮演新入职的实习镖师,施展轻功、管理真气,穿越险恶地形,将快递准时送到各位官人手中。每一单都关系绩效,每一次失误都可能被「优化」——在亡命狂奔、升职加薪与保住老腰之间,努力享受镖局赐予你的福报。
游戏循环
早晨对话 → 白天跑镖送货 → 傍晚结算 → 进入下一天。每一单都关系绩效,每一次失误都可能被「优化」。
核心特色
横版跑镖,拿命赶路 — 控制起落、闪避障碍;真气见底,就透支生命继续跑。
白天不够,夜里接着跑 — 放弃休息接下夜镖。没有额外奖金,但你的「奋斗」镖局都看得见。
武侠镖局,职场福报 — 绩效考核、末位清退、自愿奋斗。镖局从不强迫你努力。
跑镖之外,还得活下去 — 练功、吃饭、休息、交房租,在有限的工钱与精力间做出取舍。
每个同僚,都有自己的难言之隐 — 结识形形色色的镖师,卷入他们的支线,逐渐窥见镖局不愿示人的秘密。
我的职责
负责养成系统、内容数据库框架、存档系统、Steam 接入、音频系统和对话系统的设计与开发。
养成系统
- 设计主城功能分区、模块解锁顺序和成长结构
- 设计模块依赖、资源消耗、属性变化和成长反馈
- 设计购买预览、确认窗口、Tooltip 和状态提示等交互流程
- 实现建筑交互、住宅与餐厅、藏经阁、信件、晋升任务、排名考核等模块
- 搭建主城功能与剧情、教程、每日流程和晋升考核之间的联动
框架与工具
- 自研基于 ScriptableObject 的内容数据库框架,配套 Unity Editor 表格工具
- 实现运行时数据管理与本地存档框架
- 接入 Steam 启动检测与成就同步
- 实现音乐、音效与场景音频管理
- 基于 Yarn Spinner 扩展对话系统
系统架构
玩法系统
养成系统
跑镖之外,玩家在主城安排日常生活:用有限的工钱与精力换取属性成长,逐步解锁新功能与更高职级。
养成内容包括:
- 住宅与餐厅 — 休息恢复精力、用餐维持状态,房租与伙食构成日常开销
- 练功 — 投入时间与金钱,提升轻功、真气等跑镖属性
- 藏经阁与信件 — 阅读收集内容,接收镖局通知与同僚来信,推进支线剧情
- 晋升任务与排名考核 — 完成晋升任务提升职级,在末位淘汰的考核中保住位置
养成如何运转:
- 各养成模块之间存在依赖关系,按成长结构依次解锁
- 每次养成操作消耗对应资源,带来属性变化与成长反馈
GameModule与ModuleManager管理模块状态、父子依赖与批量解锁,并在解锁时联动教程触发与自动存档ZCBuilding连接建筑表现、交互状态与功能模块状态ZCUIManager管理主城窗口、全局窗口、窗口栈、ESC 关闭与窗口路由- 购买预览、确认窗口、Tooltip 与状态提示支撑每一次养成决策
音乐与音效系统
SoundManager统一管理 BGM、SFX 与 AmbientSO_SoundAsset与SoundDatabase配置音频资源与场景关联- 实现 BGM Crossfade、场景音频自动切换与音效对象池
- 支持随机音效、随机 Pitch、循环环境音与独立音量控制
对话系统扩展
- 基于 Yarn Spinner 扩展对话功能,注册 Yarn Command 供剧情调用游戏系统
- 扩展对话队列、自动播放、跳过与对话历史记录
- 跳过对话时补偿其中的关键命令,保持剧情、教程与模块状态一致
框架与系统
项目基于 Unity 与 C# 开发,采用 ScriptableObject、Singleton、事件驱动、协程与对象池组织各系统。
内容数据库框架
- 自研基于 ScriptableObject 的通用内容数据库框架,统一管理教程、餐厅、信件、音频、成就与关卡等资源
- 泛型
SO_Database<T>管理不同类型的数据,SO_BaseAssetInDatabase提供统一的资源名称、唯一 ID 与资源引用 BaseTableTab<T>搭建通用编辑器表格,支持新增、删除、搜索、分页、修改与保存,并基于 Odin Inspector 扩展配置流程RuntimeAssetBase<T>分离静态配置数据与运行时状态,通过唯一 ID 连接存档系统
运行时数据与本地存档
SaveManager管理存档槽位、自动存档与数据恢复ISavable、SaveableBehaviour与SaveableSingleton统一可存档对象的生命周期CaptureState()与RestoreState()分离运行时对象与持久化数据- 通过资源唯一 ID、
SaveId与SaveGuid稳定关联数据库资源与运行时状态 - 基于 Easy Save 3 封装
ES3StorageProvider,支持存档目录、格式兼容、压缩与加密配置
Steam 功能接入
- 基于 Steamworks.NET 接入 Steam 成就接口
- 以客户端接口抽象平台调用,实现成就队列、批量提交、回调确认与失败重试
- 支持 Steam 未启动、离线以及重新连接后的成就同步