打钩
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/tick-zh。
技能介绍
要解决什么问题
很多游戏在原型阶段能跑,但一旦加上物理、存档或联机,就会出现「帧率一变逻辑就飘」「重放对不上」「卡顿后物理爆炸」这类问题。根因往往是:把渲染帧和游戏模拟绑在一起,或在需要确定性时仍使用未播种的 RNG、无序的系统更新。
打钩(Tick)面向运行时架构与系统实现:在固定时间步上跑模拟,用插值做渲染;把游戏逻辑从具体引擎里拆出来,便于无头测试与移植。
核心能力与工作方式
技能按 FRAME → DESIGN → IMPLEMENT → INTEGRATE → VERIFY 推进,并在动手前批量确认关键分叉:
- 游戏循环:固定/可变时间步、
delta time钳位、累加器追赶上限,避免死亡螺旋 - 实体架构:按实体规模在 ECS(稀疏集/原型)与 OOP/组件对象之间选型,而不是默认上 ECS
- 游戏状态:场景/屏幕堆栈(暂停覆盖、返回),与玩家 FSM 区分;复杂状态机可对接 Weave
- 物理与碰撞:宽相 + 窄相;物理步进落在
simulate()的固定步内 - 存档:模式带
version与向前迁移;序列化模拟状态,而非引擎渲染对象 - 联机基础:先选权威模型(客户端-服务器 / 确定性锁步 / 回滚),再写同步——锁步与回滚要求确定性核心
交付物会明确写出时间步结构(代码或表)、系统更新顺序、确定性声明与帧预算说明;深度帧分析交给 Bolt,确定性/系统测试交给 Radar,资产挂钩交给 Dot。
适用边界
- GDD、数值平衡、经济曲线属于 Quest:Tick 只实现设计给出的系统,不重新「调平衡」
- 一次性小改循环片段可当普通编辑;需要架构级设计与多系统落地时再调用本技能
- 非游戏业务 API、一般 SaaS 逻辑应路由到 Builder;像素/精灵生产交给 Dot
使用场景
- 独立项目已能游玩,但加入 Box2D 后低帧率时物体穿透,需要把物理步进迁到固定时间步累加器循环里。
- Quest 交付了经济与进度 GDD,要在运行时实现资源产出与消耗系统,且不擅自改动平衡表里的数值。
- Forge 交来的 Unity 原型把 Update 里混了逻辑与渲染,需要拆成可无头运行的模拟层并补上存档版本字段。
- 多人 RTS 在写同步代码前,需要先选定确定性锁步权威模型,并约定 RNG 播种与系统更新顺序。
适合人员
- 用 Godot/Unity 做 2D 动作游戏、准备在固定帧预算内接碰撞与存档的独立开发者
- 收到策划 GDD 后负责把状态机与场景流落地为代码、且需与 Weave 转换表对齐的客户端工程师
- 负责把可玩 demo 升级为可重放、可联机测试的确定性模拟核心的多人游戏程序员
- 需要在 60fps 帧预算下评估各系统耗时、并把热点交给性能专项分析的引擎向技术负责人