我该如何处理游戏开发中的延迟?

Rad*_*Hex 4 python pygame latency

我正在开发一个由多人网络浏览器游戏组成的爱好项目.这是我的第一次,我偶然发现了延迟问题.

我试图让用户控制尽可能顺利,并且延迟正在阻碍.

我认为平均延迟可能在80-200ms左右,而对于几乎平滑的控制,命令动作延迟需要小于100ms.

我有几个问题:

  • 在需要之前100毫秒尝试发送用户操作是不错的做法?例如,用户按住" - >"箭头键,我需要在行动需要提交给服务器之前100ms提交右箭头键动作.

  • 开发人员如何在在线服务器和客户端之间保持一致/同步?

  • 任何提示或建议?


谢谢你们,非常感谢帮助.:)

cor*_*iKa 5

问题1)是的,但是如果你正在做这样的实时运动,我会考虑在本地渲染它(使用碰撞检测,什么不是)然后在服务器上进行验证以确保它们没有欺骗它(即更新位置每秒在服务器上,并确保他们可以在一秒内从A到B,等等)

问题2)每隔一段时间(四分之一,一半,全秒)你发送一个数据包,其中包含其他玩家做过的环境更新以及npcs做了什么等等.

问题3)开发然后简介.按照您希望的逻辑方式进行操作.然后,如果您发现可玩性太滞后,请继续优化界面和网络层.你可能会发现它很好!