我有点好奇在游戏中如何实现重播。
最初,我认为应该只有一个命令列表,列出游戏中每个玩家/人工智能所采取的行动,然后重新玩游戏,让引擎像往常一样渲染。然而,我观察了 FPS/RTS 游戏中的回放,经过仔细检查,甚至像粒子和图形/听觉故障这样的东西都是一致的(这些故障通常是 进去一致的)。
怎么会这样。在固定摄像角度的游戏中,我认为它可能只是把整个场景的每一帧都写到一个存储的流中,然后只是回放流,但是对于允许你暂停和移动摄像机的游戏来说,这似乎还不够。你必须在任何时间点存储场景中所有东西的位置(不?).因此,对于粒子这样的东西,需要推送大量的数据,这似乎是游戏性能的一个重要因素。