【问题标题】:sprite-kit game running on nodejs在 nodejs 上运行的 sprite-kit 游戏
【发布时间】:2015-08-29 03:01:48
【问题描述】:

我对如何使用 sprite kit 创建真正的多人游戏感到非常困惑。我所说的“真正的多人游戏”是指玩家连接到服务器而不共享同一个游戏屏幕(如 rpg)。

问题是,我找不到任何关于这方面的教程,每个教程都适用于糖果迷恋之类的游戏,其中连接到服务器,但游戏在设备上运行。服务器仅用于访问数据,或保存/更新游戏进度。

我的问题具体是:我如何让一些服务器为游戏提供“世界”,玩家可以在其中连接并且每个人都有自己的相机,并执行自己的个人任务。这是多人游戏的运作方式,还是我没有抓住重点?

如果我没有错过重点,我是否必须使用特定类型的服务器? (换句话说,由于游戏是使用 sprite-kit 编写的,所以可以与 sprite-kit 通信?)或者任何服务器(如节点)都可以工作?

【问题讨论】:

    标签: ios node.js sprite-kit


    【解决方案1】:

    我假设您正在谈论类似游戏《命运》之类的事情。如果是这种情况,您将不得不设计自己的类。简而言之,您可能必须使用与 LOD(图形细节级别)类似的原理。意思是只吸引用户一定范围内的其他玩家。我大胆猜测这是可以做到的,但很大程度上取决于网络连接、来回传递的信息以及 iOS 处理器的速度。

    GameKit 框架中包含的标准功能有:

    Game Center 提供集中式游戏服务,将玩家彼此联系起来。 Game Center 实现了许多不同的功能:

    好友允许玩家创建匿名在线角色。用户通过别名连接到 Game Center 并与其他玩家互动。玩家可以设置状态消息以及将其他玩家标记为好友。

    多人游戏允许您的游戏创建通过 Game Center 连接玩家的网络匹配。玩家可以邀请他们的朋友或连接到匿名玩家。最重要的是,即使您的游戏没有运行,玩家也可以收到加入比赛的邀请。您的游戏在每台设备上运行,并且您的游戏实例相互交换匹配和语音数据。

    Turn-Based Gaming 提供存储转发网络比赛基础设施,比赛在一系列离散的回合中进行。无需所有玩家同时连接到 Game Center 即可进行此类比赛。

    排行榜允许您的游戏从 Game Center 存储和获取玩家分数。

    成就提供了跟踪玩家在游戏中的成就的能力。

    挑战允许玩家挑战其他玩家以完成成就或击败排行榜得分。

    【讨论】:

    • 但是如果有一个服务器正在托管游戏,那么服务器可以只在他们出现的地方绘制玩家,而不是每个设备 (iPhone) 计算其他人之间的距离是正确的?
    • @AbdulAhmad- 不确定这里最好的方法是什么,我认为没有一个适合所有问题的答案。是的,服务器可以绘制,但是您必须让服务器将该内容传送到设备。如果设备绘制它真的只需要知道要绘制什么以及在哪里绘制。每种方法都有优点和缺点。我相信还有方法#3、4、5等等。无论您认为哪种方法最好,您都需要某种分界点来绘制内容,除非您的“世界”非常小。
    猜你喜欢
    • 1970-01-01
    • 2014-07-14
    • 1970-01-01
    • 2015-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-18
    • 1970-01-01
    相关资源
    最近更新 更多