我在播放录制的游戏重播时遇到问题。重放数据由用户输入时的时间戳和输入本身的元组组成。
在播放回放的每一帧中,我都试图在回放数据中找到匹配的用户输入。但是,由于每帧中的时间大多与回放数据中的时间戳不完全匹配,我只能从回放数据中获取最接近的时间戳,该时间戳与当前帧时间平均相差约0.01秒。这使得回放非常不精确。
我有什么可能对这种差异做出反应?
自己找到独奏:
如果你想只使用用户输入录制演示,必须满足的两个标准
- 有固定的游戏更新率,不取决于FPS
- 物理学必须是确定性的
因为这两点都不容易实现,所以我决定使用帧快照来保存演示。这样可以保存更多的数据,但更容易开发。