我对如何使用精灵套件创建真正的多人游戏非常困惑。我的意思是“真正的多人游戏”是玩家连接到服务器而不是共享相同的游戏画面(如RPG)。
问题是,我找不到任何关于此的教程,每个教程都适用于像糖果粉碎这样的游戏,它与服务器有连接,但游戏在设备上运行。该服务器仅用于访问数据,或保存/更新游戏进度。
我的问题是:我如何让一些服务器为游戏提供“世界”,玩家可以连接并且每个人都拥有自己的相机,并执行各自的任务。这是多人游戏的工作原理,还是我忽略了这一点?
如果我没有忽略这一点,我是否必须使用特定类型的服务器? (换句话说,既然游戏是使用sprite-kit编写的,那些可以与sprite-kit通信的东西?)或任何服务器(如节点)都可以工作?
答案 0 :(得分:1)
我认为你正在谈论像游戏Destiny这样的事情。如果是这种情况,您将不得不设计自己的类。简而言之,你可能不得不使用与LOD类似的原理(图形的细节级别)。含义仅在用户的特定范围内的其他玩家中绘制。我冒昧地猜测这可以做到,但很多将取决于网络连接,来回传递的信息和iOS处理器的速度。
GameKit框架中包含的标准功能是:
Game Center提供集中的游戏服务,将玩家彼此联系起来。 Game Center实现了许多不同的功能:
朋友允许玩家创建匿名在线角色。用户连接到游戏中心并通过别名与其他玩家互动。玩家可以设置状态消息以及将其他玩家标记为朋友。
多人游戏允许您的游戏创建通过游戏中心连接玩家的网络匹配。玩家可以邀请他们的朋友或与匿名玩家联系。最重要的是,即使您的游戏没有运行,玩家也可以收到加入比赛的邀请。您的游戏正在每台设备上运行,并且您的游戏实例会相互交换匹配和语音数据。
基于回合制的游戏提供存储转发网络匹配基础设施,其中匹配通过一系列离散转弯进行。这种比赛可以在不要求所有玩家同时连接到游戏中心的情况下进行。
排行榜允许您的游戏存储并从游戏中心获取玩家分数。
成就提供了跟踪玩家在游戏中取得的成就的能力。
挑战允许玩家挑战其他玩家完成成就或击败排行榜得分。