在某些情况下,我正在制作一个吃豆人游戏(使用pygame),并且需要一些有关如何构建多人游戏方面(使用套接字)的指导。我有几个想法(我尝试过的第一个)
已将客户端的移动(北,东,南或西)发送到服务器。然后,让服务器随这些移动精灵,然后将每个精灵的图像发送回去,以便所有客户端都可以在屏幕上绘制它们。 (我已经尝试过此操作,但由于我认为数据发送时间过长,因此会不断出现错误。
我可以让服务器将所有传入的动作简单地中继给所有其他客户端,但是如果其中一个客户端的连接速度较慢(即不同的客户端屏幕可能与以下客户端不同步),我认为这可能会导致故障没有什么可以纠正它们,因为它们收到的只是说明。我认为这相对容易实现。
另一个选择是通过网络发送每个精灵的位置,而不是移动。这样,如果任何客户端经历了滞后,他们的屏幕将在重新连接后立即得到纠正。但是,这将是最难实现的,因为我必须编写新的Sprite类,而且我很懒。
我的问题是,这些内容有任何意义吗?为什么它们没有意义(因为我怀疑它们确实如此)?有没有更好的方法可以完全完成此任务?
在此先感谢您,我会尽量保持活跃以快速回答问题。