Swift实时多人在线游戏

时间:2017-07-05 18:25:26

标签: ios swift swift3 real-time multiplayer

大家好!

我正在制作实时多人游戏。想象一下两个玩家的城堡游戏,每个玩家都有一座城堡可以防守。这个想法是每个玩家都拥有自己的iPad,可以支持防御,派出士兵,并使用他们自己的设备射击弹丸。

显然,这些变化应该同时反映在两个设备上(例如,如果玩家1射击一个射弹,它的动作应该同时在两个屏幕上动画)。

我的问题是,实现这一目标的最佳方法是什么?假设我精通使用SpriteKit在Swift中制作单人应用程序,但对多人在线编程一无所知。非常感谢你的时间!

P.S。学习服务器端swift是否有用?

P.P.S。我过去一周一直在研究这个话题,并且找不到我需要的东西。任何帮助,将不胜感激!在网上提出问题的每个人似乎都已经知道我不知道的某些事情。

1 个答案:

答案 0 :(得分:3)

在您开始制作自己的游戏之前,您有很多关于多人游戏的知识

我们的想法是,您拥有一台服务器,托管在您拥有的计算机或某些Web服务(如AWS)上

在该服务器中,您有某种类型的数据库,以及在端口上运行的某种游戏服务器。

有两种类型的传输协议,TCP和UDP。您可以查看这些内容,但对于您提议的游戏,TCP似乎就像您需要的那样

您快速将应用程序连接到服务器并发送所有数据,以了解播放器的功能。服务器发送一个响应当前状态的响应。

服务器模拟所有游戏逻辑。把它想象成你实际编写的代码,让游戏在单人游戏中运行,除了在服务器上,这样玩家就无法攻击客户并作弊

将客户端视为一个哑终端,只需向服务器发送按钮点击并接收有关游戏状态的更新。除了渲染和预测流动性之外,它不应该处理任何游戏逻辑

访问游戏开发堆栈交换以获取更多信息,或者只是在多人视频游戏编程上进行谷歌搜索

Swift可能不是您服务器的最佳选择。我个人使用Java中的Netty作为我的服务器端游戏代码。