Featured
精选文章
写给自己看的架构笔记,恰好也能给别人看懂。
确定性模拟:我为什么把游戏逻辑从 MonoBehaviour 里全部抽出来
把战斗逻辑从 MonoBehaviour 搬到纯 C# Sim 层,换来的是 bug 可复现、可重放、可测试。代价是前期多写一层,以及必须放弃一些 Unity 的便利。
Projects
正在做的事
都还在进行中,包括这个站点本身。
Way Of The Warrior 3D
进行中2025年11月 — 至今
Unity 2022.3 的 Roguelike 割草 / Horde-Survival。核心是一套纯 C# 的确定性模拟层:30Hz 固定步长、表现层与逻辑层严格分离、所有战斗可重放。
Virok Digital Space
进行中2026年9月 — 至今
你正在看的这个站点。Astro 7 静态站 + Git 内容源 + Provider 抽象层,目标是十年后内容还能完整带走。
Notes
最近的笔记
30Hz 插值里那些不明显的坑
2026年9月4日插值只在表现层是前提,但光有这条规则不够——旋转插值、传送、以及 alpha 超过 1 的情况都得单独处理。
Unity asmdef 与编辑器脚本:Player 构建失败的经典原因
2026年9月3日ScriptsGameCore/Level/ 没有 asmdef 时,任何引用 UnityEditor 的脚本都会被打进 Player,导致构建报错。
D1 导出成 SQLite:备份链路怎么走通
2026年9月1日wrangler d1 export 拿到的 SQL 能直接喂给 sqlite3,这是 Cloudflare 体系里最容易迁移的一环。
只存 object key,不存 URL
2026年8月30日把 CDN 地址写进内容,等于给未来的自己埋一颗定时炸弹。这条规则简单,但破起来非常容易。
配置管线的现状:Excel 表有了,运行时还没有
2026年8月25日Excel/ 下 18 张表是空模板,ConfigTools 到 CombatCatalog 的路径还没打通。记录一下卡在哪。
Now
现在在做什么
在做《Way Of The Warrior 3D》—— 一个 Unity 2022.3 的 Roguelike 割草游戏。主力推进 M4 里程碑:波次系统、战斗 HUD 与奖励面板。
/now 页面的内容会随进度更新,这里展示的永远是"当下",不是目标。
Timeline
最近在做的事
项目、文章与关键决策,按时间排。
- 文章内容资产要握在自己手里:我怎么搭这个数字空间
一个要维护 5~10 年的个人站,真正的资产是 Git 里的 Markdown、标准 SQL 和 S3 里的对象。平台只是当前的运行环境。
- 项目开始建设个人数字空间
把散落在各处的笔记和技术文章收拢到一个自己能完全控制的站点上。第一版只做静态内容。
- 项目Virok Digital Space
你正在看的这个站点。Astro 7 静态站 + Git 内容源 + Provider 抽象层,目标是十年后内容还能完整带走。
- 文章确定性模拟:我为什么把游戏逻辑从 MonoBehaviour 里全部抽出来
把战斗逻辑从 MonoBehaviour 搬到纯 C# Sim 层,换来的是 bug 可复现、可重放、可测试。代价是前期多写一层,以及必须放弃一些 Unity 的便利。
- 思考决定把战斗逻辑从 MonoBehaviour 里全抽出来
M3 收尾时遇到一个概率三十分之一的抖动 bug,根因是 Update 和 FixedUpdate 读了不同的 deltaTime。抽层花了两周。