代码之家  ›  专栏  ›  技术社区  ›  akarnokd

长期运行的RTS游戏多人注意事项

  •  5
  • akarnokd  · 技术社区  · 15 年前

    我正在开发一款实时空间战略游戏克隆版,当时没有任何多人游戏选项。我想增加多人游戏。

    类似的游戏如何解决这类问题?像单人游戏一样保存多人游戏?

    在单人模式下,玩家可以暂停并加快模拟时间(在暂停模式下,玩家仍然可以发布命令、在行星上建造等)。

    如何将此功能转换为多人模式?

    让我们假设有超过2名玩家(额外的AI或人类玩家),其中一名玩家攻击另一名玩家,从而将游戏切换为空间/地面战斗。这些战斗也可以暂停以发布命令。

    其他未参与的玩家应该怎么办?他们应该等吗?他们是否应该被迫只在自己的王国内运作?

    更新: 只是一些关于游戏的细节。

    this 游戏克隆是以开源的形式发布的,因此,很可能有人会创建一个作弊版本。这是一个问题,但现在不是那么重要。我想我可以通过在玩家之间移动游戏状态和控制来解决这个问题:首先它在第一个玩家的机器上运行,然后移动到第二个玩家的机器上,等等。

    我想更强调上述第三个问题:

    当两个玩家交战时,其他玩家应该怎么做?

    战斗在不同的屏幕上进行,如王国管理屏幕。在单人模式下,战斗会自动停止游戏世界,玩家和AI都无法在战斗中管理自己的王国。

    7 回复  |  直到 13 年前
        1
  •  5
  •   posipiet    15 年前

    历史表明,任何允许玩家在元级别上进行交互的功能都将被滥用,超出其可能带来的好处。

    问题似乎与魔兽世界奇袭大致相同:让X个玩家一起做一些实时的事情,这比一天的典型游戏时间要长,一周内有多个会话。当然,这涉及到领导角色、热门席位、保存到某个位置等。这足够难做到,所有这些人都在一起工作!

    所有这些都经过了彻底的尝试。如果有办法通过作弊来打破游戏,人们就会这样做。特别是当它是PvP的时候。

    成功的多人游戏要么有足够短(少于一个晚上)的约会,要么有明显的可中断性(达到阶段),要么不是实时的。可悲的是,我看不出有办法摆脱这种疾病。

    长话短说:我认为15小时PvP RTS根本没有意义。对于单个玩家来说,这意味着比一个固定质量的计算机对手更好。你尝试,你学习,你最终战胜了它。PvP,这意味着如果你在前5分钟对一个同样熟练的对手效率降低1%,你最终肯定会输。

    游戏价值是以每小时的乐趣来衡量的。

        2
  •  2
  •   Jourkey    15 年前

    在游戏中暂停工作。在游戏开始时让每位玩家暂停,然后强迫他们用游戏币购买暂停。

    限制连续暂停的次数,一名玩家的暂停将阻止另一名玩家暂停10分钟,除非另一名玩家以惩罚价格支付。

    还可以限制每次暂停的时间,并允许其他玩家付费取消暂停。

        3
  •  1
  •   Nifle Hassan Syed    15 年前

    我认为你不能那样做。

    你不能有一个多人即时战略,允许暂停,允许发出命令。 玩家会暂停,发布命令,等待其他玩家做什么,当它想要改变任何事情并发布新命令时,立即再次暂停。

    这将不是RTS,而是CST(基于混沌的策略)游戏。

        4
  •  1
  •   Chuck    15 年前

    我从未见过一款游戏能解决这个问题。您可能允许玩家投票推迟游戏,并在稍后时间恢复游戏(即保存功能),这可能会使长时间的游戏会话变得可以忍受,但我认为暂停在多人游戏中不起作用。

        5
  •  1
  •   Carl Carl    15 年前

    Civ VI是基于回合的,尽管在多人游戏中它是实时播放的(你每回合获得一定的分/秒)。因此,它面临着同样的挑战——4名以上的玩家正在进行一场永久的游戏。它通过允许玩家保存游戏,然后稍后返回来解决问题。当你去创建一个服务器时,你可以选择开始一个新游戏或者开始一个保存。如果你从一次扑救开始,那么每个球员都会选择他们之前拥有的任何文明,事情会从他们离开的地方开始

        6
  •  0
  •   sybreon    15 年前

        7
  •  0
  •   hugoware    15 年前

    你可以考虑给那些不在键盘上的玩家创造对某些情况的反应的能力。由于这些都是预设的反应,它们不会像一个实际的待机玩家那样好,但它也允许游戏在没有玩家可用的情况下继续进行。

    我现在正在做一个游戏,它允许你为你的角色编程反应,这样如果你在没有你的情况下让另一个玩家参与游戏,那么你的角色仍然会做出反应。

    我使用简单的宏来帮助玩家绘制他们角色的反应。我正在做一些非常通用的和其他非常复杂的。。。例如

    If [player1]
    Is [attacked]
    And Health [<30%]
    Action [DefensiveStance]
    

    当然,它仍在进行中——我们将在稍后看到它的结果有多好:)