我正在开发一个实时太空战略游戏克隆,当时它没有任何多人游戏选项。我想添加多人游戏。
游戏本身相对较长:完成游戏需要大约10-15小时的游戏时间。这是非常长的,我不想强迫玩家不间断地玩,或者由于崩溃/停电而失去游戏状态。
类似游戏如何解决这类问题?像单人游戏一样保存多人游戏?
在单人游戏模式下,玩家可以暂停并加速模拟时间(在暂停模式下,玩家仍然可以发出命令,在行星上构建等)。
如何将此功能转换为多人游戏模式?
让我们假设有超过2名玩家(额外的AI或人类玩家)和一名玩家攻击另一名玩家将游戏切换为太空/地面战斗。这些战斗也可以暂停发布命令。
其他非参与球员应该怎么办?他们应该等吗?他们应该被迫只在自己的王国中运作吗?
更新:关于游戏的一些细节。
我正在克隆this游戏。克隆作为开源发布,因此,可能会有人创建作弊版本。这是一个问题,但现在并不重要。我认为我通过在玩家之间移动游戏状态和控制来解决它:首先它在第一个玩家的机器上运行,然后移动到第二个等等。
我想更加强调上面的第三个问题:
其他玩家在参与战斗时应该怎么做?
随着王国管理层的筛选,战斗在不同的屏幕上进行。在单人游戏模式中,战斗会自动停止游戏世界,玩家和AI都无法在战斗中管理其王国。
答案 0 :(得分:5)
历史表明,任何允许玩家在元级别进行互动的功能都会被滥用,超出可能的服务范围。
也许有可能让球员事先就“比赛计划”达成一致,例如“连续4天4小时”或“周三3小时5小时”。
问题似乎与WoW Raids基本相同:让X玩家一起做一些实时的事情,比一天的典型游戏时间长,一周内有多个会话。这当然涉及领导角色,热门席位,攒钱等等。这很难做到,所有这些人都在一起工作!
如果有人在前3个小时看到他们开局不好,你怎么能指望他们再回来再多受12个小时的伤害呢?好吧,让你失去了?这意味着勾结,你为我赢了一个,我为你赢了一个。 (2名球员在6小时内分别赢得一名 - 比通过比赛更好)
所有这一切都经过了彻底的尝试。如果有办法通过作弊来打破游戏,那么人们就会这样做。特别是当它是PvP时。
成功的多人游戏要么有足够短的时间(少于一个晚上),要么明显可以中断(达到阶段),或者不是实时的。可悲的是,我认为这种疾病无法解决。
长话短说:我认为15小时PvP RTS甚至没有意义。对于单个玩家来说,这意味着比固定质量的计算机对手更好。你尝试,你学习,你最终击败它。 PvP,这意味着如果你在前5分钟内效率低1%,对于同样熟练的对手,你肯定会在最后输掉。
游戏价值以每小时的乐趣来衡量。
答案 1 :(得分:2)
暂停游戏玩法。在游戏开始时给每个玩家一个暂停,然后强制他们以游戏货币购买暂停。
限制连续暂停的次数,一名玩家的暂停会阻止其他玩家暂停10分钟,除非其他玩家以惩罚价格支付费用。
还限制每次暂停的时间长度,并允许其他玩家付钱以撤消暂停。
答案 2 :(得分:1)
我认为你不能这样做。
你不能拥有允许发布订单的暂停的多人rts。 玩家会暂停,发出命令,等待其他玩家做什么,一旦想要改变任何东西并发出新订单,就会立即再次暂停。
这不是RTS,它将是CST(Chaotic Turnbased Stategy)游戏。
答案 3 :(得分:1)
我从没见过游戏解决这个问题。您可能允许玩家投票推迟游戏并在以后恢复(即保存功能),这可能会使长游戏会议变得可以忍受,但我不认为暂停将在多人游戏中起作用。
答案 4 :(得分:1)
Civ VI基于回合制,虽然在多人游戏中实时播放(每回合可获得一定的分钟/秒数)。所以它面临同样的挑战 - 4 +玩家做一场永远持续的比赛。它通过允许玩家保存游戏然后再回到它来解决问题。当您创建服务器时,您可以选择启动新游戏或从您的某个存储开始。如果你从一个豁免开始,那么每个玩家都会选择他们之前拥有的文明,并且在他们离开之前就会收拾东西
答案 5 :(得分:0)
您可能需要考虑“基于阶段”的系统。每个阶段可以被视为单个暂停。允许玩家在每个阶段发出指令,然后执行指令。第一阶段发布的指令仅在第二阶段由单位执行。
答案 6 :(得分:0)
您可能会考虑让不在键盘上的玩家能够对某些情况做出反应。由于这些是预设的反应,它们不会像待机时的实际玩家一样好,但它也允许游戏继续而没有玩家可用。
我正在制作一款游戏,允许你为角色编程反应,这样如果你在游戏中吸引其他玩家而你没有可用,那么你的角色仍会回应。
我正在使用简单的宏来帮助玩家绘制他们的角色反应。我正在制作一些非常通用的,而另一些非常复杂......例如
If [player1]
Is [attacked]
And Health [<30%]
Action [DefensiveStance]
这样 - 即使并非所有玩家都可用,游戏也可以继续运行。相反,根据玩家在他的“AFK”脚本中投入多少精力,他的团队表现越好。
当然,它仍然在进行中 - 我们稍后会看到它的结果如何:)