钢铁#2的星期日

欢迎观看独立游戏SkyOfSteel的钢铁新闻第二周日! 这个星期充满了行动,让我们马上开始吧!

处理客户端/服务器版本不匹配

多人游戏是复杂的野兽。 游戏的多个实例必须通过Internet保持同步。 在正常情况下,平均ping可能在20毫秒到200毫秒之间的任何地方(尤其是如果服务器托管在消费者Internet连接上或距离很远)。 当60 fps的单帧仅需要约16 ms的时间时,这很重要。 这只是构建多人游戏时必须考虑的众多变量中的一个示例。

这些更具灾难性的变量之一是客户端/服务器版本。 如果游戏被积极维护,那么该游戏自然会有很多迭代。 当播放器尝试连接到其他版本的服务器时,就会出现此问题。 服务器和客户端不仅具有不同的功能和特性,而且甚至可能彼此不理解,因为在两个版本之间发送了什么数据以及如何发送数据!

到目前为止,在SkyOfSteel的开发中,这还没有引起关注。 由于可以一方面计算玩游戏的人数,因此确保每个玩游戏的人都运行相同的版本非常简单。 但是,当我开始分发二进制文件并准备发布早期演示时,这成为一个更主要的问题。

本周,我直截了当地解决了这个问题,并提出了自己感到很满意的解决方案。

运动和空运

运动在SkyOfSteel中非常重要,因为跌倒意味着死亡。 因此,SkyOfSteel具有空袭的实现,几乎与id Tech 3和Source引擎相同。 这允许玩家在空中时进行大量控制,并且能够以更快的速度行进(通过跳动)。

将来,我希望在游戏后期解锁时增加更多的移动选项。 这些包括:

  • 跳远
  • 悬挂式滑翔机
  • 喷气背包
  • 火箭跳(我个人最爱)
  • 墙上跑步
  • 踢墙
  • 壁架攀爬
  • 滑行

请注意,这些都不是最终的,如有更改,

那就是所有的人!

谢谢阅读!

链接:

不和谐:https://www.discord.gg/Ag5Yckw
GitHub:https://github.com/ForLoveOfCats/SkyOfSteel
推特:https://twitter.com/ForLoveOfCats