【问题标题】:Is phaser capable of large multiplayer games?Phaser 能玩大型多人游戏吗?
【发布时间】:2017-01-05 09:54:06
【问题描述】:

这里是新手。我正在使用移相器,特别是使用等距插件。

我想知道是否可以在类似于agar.io 的移相器中创建游戏,在处理实时多连接方面,生成一个包含大约 300 名玩家的巨大地图,所有这些都不需要太多影响游戏性能。我真的不知道如何处理多人游戏部分(可能是套接字,node.js)让它工作得很好。至于生成一个非常大的地图我也很空白。

  • 是否有可能在移相器中创建一个等距类型的游戏来处理当用户到达可见“地图”的边缘时生成的多个实时多人游戏和巨大的地图?如何?
  • 如果不是,我应该选择什么(js 和其他应用程序中的游戏引擎)来实现我想要的?

【问题讨论】:

  • 你确定你的意思是“JavaScript”标签,而不是“Java”?
  • 是的,我的意思是 javascript...好吧,在过去的 10 天里,我一直在 javascript 中使用移相器库...哦,这意味着这个移相器 phaser.io/docs/2.4.4/Phaser.Game.html 已更正

标签: javascript phaser-framework isometric


【解决方案1】:

你没有问对问题,但你已经接近了!

你的第一个猜测是正确的。你不会使用 Phaser 来处理多人游戏,你会使用 web sockets、nodejs 或其他一些后端。因此,Phaser 并没有真正限制您在多人游戏方面可以创建的内容,因为没有任何网络代码与 Phaser 有任何关系。

处理大型地图的想法还取决于您如何优化图形,无论您使用什么平台或框架。例如,如果您有巨大或无限的地图,您可以始终只显示屏幕上或屏幕边缘周围的内容,并使用对象池在玩家移动时显示地图的其余部分。

对于 Nodejs 中的多人游戏,请查看 Socket.io。它真的很容易使用。我已经使用它here 建立了一个准系统示例。如果您觉得它有帮助,here's 是我在 Phaser 中为 Ludum Dare 制作的一款开源游戏,带有网络(这只是 p2p,所以它只用于处理 2 个相互连接的玩家,但就像我说的,这只是我使用的多人游戏框架的限制,在本例中为 peerjs.com,与 Phaser 本身无关,它可以照顾你所有的渲染和游戏逻辑需求。)

希望这有助于回答您的一些问题!

【讨论】:

  • 哇,太好了! :) 我会检查一下,你的游戏看起来也很酷!非常感谢!
  • @PhasedEvolution 我建议您尝试firebase 进行网络处理。我们将它用于聊天应用程序的生产,我对它的同步速度感到惊讶。试试看!
  • @RahulGupta 看起来不错 :p 我还没有进入网络阶段,但我向你保证,firebase 将是它的开始
【解决方案2】:

Phaser(至少在其 2.0 版本中)不是实施实时游戏网络 as explained here 的理想选择。

如果您正在寻找 Javascript 多人游戏引擎,您应该查看专门为此目的编写的 Lance。然后,您可以选择您选择的渲染器(例如 Pixi.js,如果您的目标是实现 Agar.io 之类的东西。它与 Renderer Phaser 使用的相同)

关于 PhasedEvolution 上面的评论 - 如果您正在做回合制游戏,Firebase 是一个不错的工具。它不符合实时游戏开发的标准,因为它不允许对任何可减少延迟的游戏关键功能进行低级别访问,例如客户端大小预测、弯曲、插值和外推。

正确披露:我是 Lance 的共同创造者之一 :)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-07
    • 2017-01-12
    • 1970-01-01
    相关资源
    最近更新 更多