<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel>
    <title>Chancy</title>
    <link>https://chancy.dev</link>
    <description>Chancy 的个人博客：游戏开发中的网络同步、引擎架构、手感与工程实践笔记。</description>
    <language>zh-CN</language>
    <atom:link href="https://chancy.dev/rss.xml" rel="self" type="application/rss+xml"/>
    <item>
      <title>服务器说了算，然后手感就没了</title>
      <link>https://chancy.dev/posts/authoritative-server-feels-bad/</link>
      <guid isPermaLink="true">https://chancy.dev/posts/authoritative-server-feels-bad/</guid>
      <pubDate>Sun, 20 Sep 2026 09:00:00 GMT</pubDate>
      <description>权威服务器只是基线。预测、插值、延迟补偿这三层补丁是怎么叠上去的，以及它们各自的账单。</description>
    </item>
    <item>
      <title>帧同步省下的带宽，会花在你买不到的那个晚上</title>
      <link>https://chancy.dev/posts/lockstep-cheap-bandwidth-expensive-nights/</link>
      <guid isPermaLink="true">https://chancy.dev/posts/lockstep-cheap-bandwidth-expensive-nights/</guid>
      <pubDate>Mon, 14 Sep 2026 09:00:00 GMT</pubDate>
      <description>确定性锁帧只看输入，带宽与实体数量无关；代价是&quot;每个字节都必须位级相同&quot;。浮点、编译器和 late game lag 都从这里长出来。</description>
    </item>
    <item>
      <title>17.37 Mbps 是怎么被砍成能跑的</title>
      <link>https://chancy.dev/posts/snapshot-compression-numbers/</link>
      <guid isPermaLink="true">https://chancy.dev/posts/snapshot-compression-numbers/</guid>
      <pubDate>Sun, 06 Sep 2026 09:00:00 GMT</pubDate>
      <description>一次状态同步带宽优化的算术：删掉整条通道比省 2 bit 值钱得多，参考帧 delta 才是真正的数量级来源。</description>
    </item>
    <item>
      <title>格斗游戏为什么愿意为一帧付重算的钱</title>
      <link>https://chancy.dev/posts/rollback-needs-restorable-state/</link>
      <guid isPermaLink="true">https://chancy.dev/posts/rollback-needs-restorable-state/</guid>
      <pubDate>Thu, 27 Aug 2026 09:00:00 GMT</pubDate>
      <description>回滚不是网络技巧，是架构约束：它要求逻辑能从快照恢复。同一套技术在格斗是圣杯，在 VR 是一帧跑 25 次物理的黑洞。</description>
    </item>
    <item>
      <title>手感不是&quot;最后再抛光&quot;的那一层</title>
      <link>https://chancy.dev/posts/game-feel-is-a-feature-not-a-polish-pass/</link>
      <guid isPermaLink="true">https://chancy.dev/posts/game-feel-is-a-feature-not-a-polish-pass/</guid>
      <pubDate>Sat, 15 Aug 2026 09:00:00 GMT</pubDate>
      <description>把&quot;打击感&quot;拆开看：它是一堆有具体参数的功能。9 点偏移采样、0.2 像素阈值、渲染位置与物理位置之间的 20 毫秒。</description>
    </item>
    <item>
      <title>打击停顿不该用秒来计时</title>
      <link>https://chancy.dev/posts/timers-should-not-be-seconds/</link>
      <guid isPermaLink="true">https://chancy.dev/posts/timers-should-not-be-seconds/</guid>
      <pubDate>Sun, 02 Aug 2026 09:00:00 GMT</pubDate>
      <description>手感在代码层就是三件事：谁在计时、冻在哪一帧、什么排在什么之后。附一份我自己用的 hitstop 写法。</description>
    </item>
    <item>
      <title>16.6 毫秒的账是怎么亏掉的</title>
      <link>https://chancy.dev/posts/sixteen-point-six-milliseconds/</link>
      <guid isPermaLink="true">https://chancy.dev/posts/sixteen-point-six-milliseconds/</guid>
      <pubDate>Fri, 24 Jul 2026 09:00:00 GMT</pubDate>
      <description>一帧预算的四笔开销：可变 dt、每帧 1KB 分配、&quot;合批&quot;这种听着免费的优化，和一个树叶材质拖垮整场景的 overdraw。</description>
    </item>
    <item>
      <title>我的状态机不会一直只有六个状态</title>
      <link>https://chancy.dev/posts/state-machines-always-grow/</link>
      <guid isPermaLink="true">https://chancy.dev/posts/state-machines-always-grow/</guid>
      <pubDate>Fri, 10 Jul 2026 09:00:00 GMT</pubDate>
      <description>从 bool 到 enum 到并发状态机到层次状态机：Nystrom 那条演化路径其实是一笔债的四种还法。</description>
    </item>
    <item>
      <title>缓存行不关心你的继承树有多漂亮</title>
      <link>https://chancy.dev/posts/cache-lines-dont-read-your-uml/</link>
      <guid isPermaLink="true">https://chancy.dev/posts/cache-lines-dont-read-your-uml/</guid>
      <pubDate>Sun, 28 Jun 2026 09:00:00 GMT</pubDate>
      <description>组件、ECS 和面向数据是三件事。64 字节、AoS/SoA 的取舍、false sharing，以及&quot;我把两个字段从结构体里挪走之后快了三倍&quot;。</description>
    </item>
    <item>
      <title>拿方块人做试玩，你收到的反馈是假的</title>
      <link>https://chancy.dev/posts/placeholder-assets-make-bad-data/</link>
      <guid isPermaLink="true">https://chancy.dev/posts/placeholder-assets-make-bad-data/</guid>
      <pubDate>Sun, 14 Jun 2026 09:00:00 GMT</pubDate>
      <description>同一段物理代码加了震动和粒子就被评价&quot;更跟手&quot;。灰盒试玩的反馈不能进决策，除非你把占位资源拉到和实物一致。</description>
    </item>
    <item>
      <title>三个方块就够了：不要写教程关卡</title>
      <link>https://chancy.dev/posts/three-blocks-beat-eight-screens/</link>
      <guid isPermaLink="true">https://chancy.dev/posts/three-blocks-beat-eight-screens/</guid>
      <pubDate>Sat, 30 May 2026 09:00:00 GMT</pubDate>
      <description>1-1 是怎么把教学藏进关卡里的，以及为什么&quot;降低难度&quot;的改动必须先证明它没有把挑战一起删掉。</description>
    </item>
    <item>
      <title>我的工具链里为什么没有 node_modules</title>
      <link>https://chancy.dev/posts/no-node-modules/</link>
      <guid isPermaLink="true">https://chancy.dev/posts/no-node-modules/</guid>
      <pubDate>Sat, 16 May 2026 09:00:00 GMT</pubDate>
      <description>一个 400 行的 Markdown 解析器换掉了四件依赖。这笔账什么时候划算、什么时候是自虐，以及我怎么用断言让它可信。</description>
    </item>
    <item>
      <title>手工关卡是负债，不是资产</title>
      <link>https://chancy.dev/posts/handcrafted-levels-are-debt/</link>
      <guid isPermaLink="true">https://chancy.dev/posts/handcrafted-levels-are-debt/</guid>
      <pubDate>Sat, 02 May 2026 09:00:00 GMT</pubDate>
      <description>过早设计锁定&quot;是怎么发生的，以及为什么 Dead Cells 那类&quot;宏观约束 + 微观随机&quot;的管线能把密度变成参数。</description>
    </item>
    <item>
      <title>定帧是一门算术，不是一种感觉</title>
      <link>https://chancy.dev/posts/hitstop-is-arithmetic/</link>
      <guid isPermaLink="true">https://chancy.dev/posts/hitstop-is-arithmetic/</guid>
      <pubDate>Sun, 05 Apr 2026 09:00:00 GMT</pubDate>
      <description>《大乱斗》把 hitstop 写成了带钳制的整数公式；而多数项目把它写成&quot;卡一帧&quot;，然后在 time_scale 上踩坑。</description>
    </item>
    <item>
      <title>按&quot;80% 会错&quot;来排产</title>
      <link>https://chancy.dev/posts/plan-for-being-wrong/</link>
      <guid isPermaLink="true">https://chancy.dev/posts/plan-for-being-wrong/</guid>
      <pubDate>Sun, 22 Mar 2026 09:00:00 GMT</pubDate>
      <description>早期设计判断大约只有 1/5 一次成立；回本几乎等于白干两年。这两句话改变了我怎么给原型定价、什么时候砍掉一个项目。</description>
    </item>
    <item>
      <title>ECS 的账本不在迭代上</title>
      <link>https://chancy.dev/posts/ecs-ledger-is-structural-change/</link>
      <guid isPermaLink="true">https://chancy.dev/posts/ecs-ledger-is-structural-change/</guid>
      <pubDate>Sun, 08 Mar 2026 09:00:00 GMT</pubDate>
      <description>结构性变更等于数据搬家；线程被唤醒一次 30 微秒；一个 transform 传播吃掉 1 毫秒。这三笔才是我判断要不要上 ECS 的尺子。</description>
    </item>
  </channel></rss>
