背景
我是一个菜鸟程序员,希望创建一个简单的基于回合的移动游戏作为附带项目。我已经将游戏逻辑放低了,只剩下实现在线多人游戏/ PVP部分了。
更具体地说,我希望在玩家单击播放时实现一个系统,并以1对1的格式与对手进行匹配,而没有任何游说等等。
我目前正在尝试在android studio中开发游戏(我是新手),但如果它可以简化开发工作,我也愿意团结一致。(我没有Unity经验)。
我想知道的事情
据我了解,我需要创建并托管自己的服务器以运行多人游戏(即,玩家与对手的匹配)。我是否还需要服务器本身来运行游戏,还是可以将玩家连接到对手并将游戏结果记录到我的服务器/数据库中?
此外,我将如何创建和运行/托管服务器?我听说nodeJS是编写服务器的不错选择。
有人可以为我提供创建和运行自己的服务器的良好资源/教程,如果可能的话,可以为我的服务器免费(或廉价)托管吗? 另外,在我的游戏中,团结是比android studio更好的选择吗?
最终目标
我只是想将我的游戏发布到应用商店,IOS商店等上。
答案 0 :(得分:0)
如果您没有创建多人游戏的经验,建议您研究一下市场上几种现成的解决方案之一(Unity Multiplayer是其中一种服务)。您基本上可以制作整个在线游戏,而无需编写服务器代码。
编码游戏服务器比您想象的要多。首先,您需要制作一个工作游戏服务器,然后需要考虑托管,数据存储,扩展,ping等。缺点是您将获得较少的可定制性和安全性(您需要处理大部分游戏客户端,这意味着您很容易通过修改客户端(在android系统中称为“ mods”)来进行黑客攻击)。但是,如果您刚刚起步,那么自己的游戏服务器可能弊大于利。
您应该始终为手机游戏选择多平台引擎。您不不想对整个游戏进行两次编码。因此,是的,Unity是一个不错的选择,并且这是当今移动设备的实际标准。如果您要制作游戏,那么学习Unity是值得的投资。
最后,这是我的个人经验,仅提供无真实的统计数据来支持,使用节点实现游戏服务器的人常常发现他们的服务器无法处理负载,这导致需要将大量技术相互堆叠,以横向扩展服务器或以某种方式压缩更多性能。从长远来看,通常会被证明是错误的选择。再说一遍,也许我认识的人并不擅长使用节点。