快速实时多人在线游戏

问题描述 投票:0回答:1

大家!

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

显然,这些更改应同时反映在两个设备上(例如,如果玩家1发射弹丸,则应同时在两个屏幕上对它的动作进行动画处理)。

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

PS学习服务器端敏捷会有用吗?

PPS在过去的一周中,我一直在研究这个主题,但是没有找到我需要的东西。 任何帮助,将不胜感激! 每个在网上提问的人似乎已经知道某些我不了解的事情。

ios swift swift3 real-time multiplayer
1个回答
3
投票

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

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

在该服务器中,您具有某种数据库,并且某种游戏服务器在端口上运行。

传输协议有2种,TCP和UDP。 您可以查找这些内容,但对于您建议的游戏,TCP似乎是您所需要的

您迅速将应用程序连接到服务器,并发送所有有关播放器功能的数据。 服务器发送带有游戏当前状态的响应。

服务器模拟所有游戏逻辑。 可以将其视为您为使游戏可以在单人游戏中工作而实际编写的代码,除了在服务器上以外,这样玩家就无法破解客户端并作弊

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

转到游戏开发堆栈交换以获取更多信息,或者只是对多人视频游戏编程进行Google搜索

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

© www.soinside.com 2019 - 2024. All rights reserved.