【问题标题】:Implementing online connectivity and multiplayer/PVP for a newbie为新手实施在线连接和多人/PVP
【发布时间】:2018-09-09 09:18:23
【问题描述】:

背景

我是一名新手程序员,希望创建一个简单的回合制手机游戏作为副项目。我几乎已经把游戏逻辑搞定了,剩下的就是实现在线多人游戏/PVP 部分。

更具体地说,我希望实现一个系统,当玩家点击播放时,它将以 1 对 1 格式与对手匹配,没有任何大厅等。

我目前正在尝试在 android studio 中开发我的游戏(我是新手),但如果它使开发更容易,我也愿意接受 unity。(我没有使用 Unity 的经验)。

我想知道的

据我了解,我需要创建并托管自己的服务器以供多人游戏运行(即玩家与对手的匹配)。我是否还需要服务器来运行游戏本身,或者我能够将玩家连接到对手并简单地将游戏结果记录到我的服务器/数据库中?

另外,我将如何创建和运行/托管服务器?听说nodeJS是写服务器的好选择。

谁能给我一个好的资源/教程来创建和运行我自己的服务器,如果可能的话,可以免费(或便宜)托管我的服务器吗? 另外,对于我的游戏来说,unity 是否比 android studio 更好?

最终目标

我只想将我的游戏发布到应用商店、IOS 商店等。

【问题讨论】:

    标签: android unity3d multiplayer multiplatform


    【解决方案1】:

    如果您没有任何创建多人游戏的经验,我建议您研究市场上可用的几种现成解决方案之一(Unity Multiplayer 就是这样一种服务)。您基本上可以制作整个在线游戏,而无需编写服务器代码。

    编写游戏服务器的工作比您想象的要多。您首先需要制作一个工作游戏服务器,然后您需要考虑托管、数据存储、缩放、ping 等。缺点是您将获得较少的可定制性和较低的安全性(您需要处理大部分游戏客户端,这意味着您很容易通过修改客户端(在 android 世界中称为“mods”)而受到黑客攻击)。但是,如果您刚刚起步,您自己的游戏服务器可能弊大于利。

    您应该始终为手机游戏选择多平台引擎。您确实想为整个游戏编写两次代码。所以,是的,Unity 是一个不错的选择,它是当今移动设备的事实标准。如果您要制作游戏,学习 Unity 是一项值得投资的项目。

    最后,这个来自我的个人经验,没有真正的统计数据来支持它,使用节点实现游戏服务器的人通常最终发现他们的服务器无法处理负载,这导致需要将大量技术相互堆叠以扩展服务器或以某种方式挤压更多性能。从长远来看,这通常被证明是一个糟糕的选择。或者再说一遍,也许我认识的人不擅长 node。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-09-24
      • 1970-01-01
      • 2013-01-06
      • 2013-01-07
      • 1970-01-01
      • 2016-05-24
      • 1970-01-01
      相关资源
      最近更新 更多