大约一年半前,我开始构建多人射击系统,因为我想知道它们实际上是如何工作的。

当时像延迟补偿、杀死摄像头、回放系统、客户端预测、库存和游戏模式这样的东西,感觉像是在大型游戏中存在的“魔法”系统,但很少被解释。

所以我开始一个一个地实现它们。

有些系统确实像我预期的那样困难。

其他一些系统一旦我理解了潜在问题,就变得比我想象的简单得多。

随着时间的推移,项目逐渐发展成一个完整的多人射击框架,适用于UE5。

几个更大的系统:

  • 历史重放的延迟补偿系统
  • 杀死摄像头回放系统
  • 客户端预测库存和设备
  • 实时观察
  • 使用客户端预测的弹道模拟
  • 持久存储的抽取模式
  • 16个示例游戏模式

我学到的最重要的一点是,大多数复杂性并不在于个别特性。

是让它们一起工作而不使项目变成一个巨大的混乱。

我终于在本周发布了它,制作宣传片使我意识到在多年中,工作量是如何静悄悄积累的。

如果有人想看看它在行动中是如何工作的,可以看看宣传片:

欢迎提问关于项目或背后系统的任何问题。