<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>确定性 on PlumePHP</title><link>https://plumephp.com/tags/%E7%A1%AE%E5%AE%9A%E6%80%A7/</link><description>Recent content in 确定性 on PlumePHP</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Mon, 20 Sep 2021 20:16:00 +0800</lastBuildDate><atom:link href="https://plumephp.com/tags/%E7%A1%AE%E5%AE%9A%E6%80%A7/index.xml" rel="self" type="application/rss+xml"/><item><title>战斗回放确定性架构：为什么同一局不能每次重放都不一样</title><link>https://plumephp.com/game-server-battle-replay-determinism-architecture/</link><pubDate>Mon, 20 Sep 2021 20:16:00 +0800</pubDate><guid>https://plumephp.com/game-server-battle-replay-determinism-architecture/</guid><description>&lt;h2 id="背景问题通常不是突然出现的"&gt;背景：问题通常不是突然出现的&lt;/h2&gt;
&lt;p&gt;战斗回放看起来只是“把当时的操作再播一遍”，实际却是服务端架构里很考验细节的系统。同一局战斗在测试服重放，第一次 Boss 剩 3% 血，第二次 Boss 死了；线上争议回放到关键一击时，伤害随机数和当时不一致。玩家看到的是不可信，研发看到的是排障线索断裂。确定性架构的目标，是让同样的初始状态和输入流，在同一个逻辑版本下得到同样的结果。&lt;/p&gt;</description></item></channel></rss>