长时间运行RTS游戏多人游戏的考虑因素

时间:2021-12-22 11:44:42

I'm working on a real-time space strategy game clone which at its time did not have any multiplayer option. I want to add multiplayer to it.

我正在研究一个实时太空战略游戏克隆,当时它没有任何多人游戏选项。我想添加多人游戏。

The gameplay itself is relatively long: about 10-15 hours of gameplay needed for complete a playthrough. This is very long and I don't want to force the players to play it uninterrupted or lose the game state due crash/power outage.

游戏本身相对较长:完成游戏需要大约10-15小时的游戏时间。这是非常长的,我不想强​​迫玩家不间断地玩,或者由于崩溃/停电而失去游戏状态。

How do similar games solve this kind of problem? Save multiplayer game just like a singleplayer game?

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

In singleplayer mode, the player can pause and accelerate the simulation time (In pause mode, the player is still able to issue orders, build on planets, etc.).

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

How can this feature be translated into the multiplayer mode?

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

Let's assume there are more than 2 players (additional AI or human players) and one player attacks the other which switches the game into space/ground battle. These battles can be paused as well to issue orders.

让我们假设有超过2个玩家(额外的AI或人类玩家)和一个玩家攻击另一个玩家将游戏切换到太空/地面战斗。这些战斗也可以暂停发布命令。

What should happen with the other non-involved players? Should they wait? Should they be forced to operate only in their own kingdom?

其他非参与球员应该怎么办?他们应该等吗?他们应该*只在自己的王国中运作吗?

Update: Just some details about the game.

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

I'm cloning this game. The clone is released as open source, therefore, its likely someone will create a cheating version. This is an issue but not that important now. I think I solve it by moving the game state and control between the players: first it runs on the first player's machine, then moves to the second etc.

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

I would like to put more emphasis to the third question above:

我想更加强调上面的第三个问题:

What should the other players do when two are engaged in a battle?

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

Battles are fought on different screen as the kingdom management screens. In single player mode, the battles automatically stop the game world and neither the player, nor the AI is able to manage its kingdom during the battle.

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

7 个解决方案

#1


History shows that any feature that allows players to interact on the meta level will be abused beyond what possible good it might serve.

历史表明,允许玩家在元级别进行交互的任何功能都将被滥用,超出可能的服务范围。

Perhaps it is possible to have the players agree beforehand on a "game plan", like "4x 4 hours on consecutive days" or "3x 5 hours on wednesdays".

也许有可能让球员事先就“比赛计划”达成一致,比如“连续4天4小时”或“周三3小时5小时”。

The problem seems to be largely identical with WoW Raids: Get X players together to do something realtime-ish, which is longer than typical game time on one day, with multiple sessions within one week. This of course involves a leader role, hot seats, saving to a spot etc. This is hard enough to do, and all these people are working together!

这个问题似乎与WoW Raids基本相同:让X玩家一起做实时的事情,比一天的典型游戏时间更长,一周内有多个会话。这当然涉及领导角色,热门座位,节省现场等等。这很难做到,所有这些人都在一起工作!

If someone sees they´re off to a bad start on the first 3 hours, how can you expect them to come back to suffer 12 more hours? Well, have the quitter lose? This means collusion, you win one for me, I win one for you. (2 players win one each in 6 hours - much better than playing it through)

如果有人在前3个小时看到他们开局不好,你怎么能指望他们再回来再忍受12个小时呢?好吧,让你失去了?这意味着勾结,你为我赢了一个,我为你赢了一个。 (2名球员在6小时内分别赢得一名 - 比通过比赛更好)

All of this has been thoroughly tried. If there is a way to break the game by cheating, people will do that. Especially when it is PvP.

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

Successful multiplayer games either have engagements that are short enough (less than one evening), or that are clearly interruptible (stages reached), or arent realtime. Sadly, I see no way around this malady.

成功的多人游戏要么有足够短的时间(少于一个晚上),要么明显可以中断(达到阶段),或者不是实时的。可悲的是,我认为这种疾病无法解决。

Long story short: I dont think a 15hr PvP RTS even makes sense. For a single player, it means being better than a fixed quality computer opponent. You try, you learn, you beat it eventually. PvP, it means if you are 1% less efficient in the first 5 mins, against an equally skilled opponent, you will definitely lose in the end.

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

A Games value is measured in pleasure per hour.

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

#2


Work pausing into the gameplay. Give each player a pause at the beginning of the game, and then force them to buy pauses with in game currency.

工作停留在游戏中。在游戏开始时给每个玩家一个暂停,然后强制他们以游戏货币购买暂停。

Limit the number of consecutive pauses, a pause by one player would prevent pausing by another player for 10 minutes unless that other player pays for it at a penalized price.

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

Also limit the length of each pause, and allow other players to pay money to undo the pause.

还限制每个暂停的长度,并允许其他玩家付钱以撤消暂停。

#3


I dont think you can do it that way.

我不认为你可以这样做。

You cant have a multiplayer rts that allows pausing that allows issuing orders. Players would pause, issue orders, wait to see what the other players do, instantly pause again as soon as it wants to change anything and issue new orders.

你不能拥有允许发布订单的暂停的多人rts。玩家会暂停,发出命令,等待其他玩家做什么,一旦想要改变任何东西并发出新订单,立即再次暂停。

This would not be a RTS it would be a CST (Chaotic Turnbased Stategy) game.

这不是一个RTS,它将是一个CST(Chaotic Turnbased Stategy)游戏。

#4


I've never seen a game solve this problem. You might allow players to vote to postpone the game and resume it at a later time (i.e., a save feature), which could make the long game sessions bearable, but I don't think pausing will work in multiplayer.

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

#5


Civ VI is turn based although in multiplayer it plays out in real time (you get a certain number of minutes/seconds per turn). So it faces the same challenge--4+ players doing a game that lasts forever. It solves the problem by allowing players to save the game and then come back to it later. When you go to create a server you have the option of starting a new game or starting off with one of your saves. If you start with a save, then each player chooses whatever civilization they had before and things pick up where they left off

尽管在多人游戏中它实时播放(你每回合获得一定的分钟/秒数),但是文明VI是回合制的。所以它面临同样的挑战 - 4 +玩家做一场永远持续的比赛。它通过允许玩家保存游戏然后再回到它来解决问题。当您创建服务器时,您可以选择启动新游戏或从您的某个存储开始。如果你从一个豁免开始,那么每个玩家都会选择他们以前拥有的文明,并且在他们离开之前就会有所收获

#6


You may want to consider a 'phase-based' system. Each phase may be considered as a single pause. Players are allowed to issue instructions during each phase and then have the instructions carried out. Instructions that are issued in the first phase will only be executed in the second phase by the units.

您可能需要考虑“基于阶段”的系统。每个阶段可以被视为单个暂停。允许玩家在每个阶段发出指令,然后执行指令。第一阶段发布的指令仅在第二阶段由单位执行。

#7


You might consider giving players that aren't at the keyboard the ability to create reactions to certain situations. Since these are preset reactions, they won't be as good as an actual player on standby, but it also allows the game to continue without players being available.

您可能会考虑让不在键盘上的玩家能够对某些情况做出反应。由于这些是预设的反应,它们不会像待机时的实际玩家一样好,但它也允许游戏在没有玩家可用的情况下继续。

I'm working on a game right now which allows you to program reactions for your characters, so that if you engage another player in the game, without you being available, then your characters still respond.

我现在正在开发一款游戏,它允许你为你的角色编程反应,这样如果你在游戏中吸引其他玩家而你没有可用,那么你的角色仍然会回应。

I'm using simple macros to help players map out their characters reactions. I'm making some very generic and others very complex... for example

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

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

That way - even though not all players are available the game can continue to run. Conversely, depending on how much effort a player puts into his "AFK" scripting, then the better his team will perform.

这样 - 即使并非所有玩家都可用,游戏也可以继续运行。相反,根据玩家在“AFK”脚本中投入多少精力,他的团队表现得越好。

Of course, it's still in progress - we will see later on just how well it turns out :)

当然,它仍在进行中 - 我们稍后会看到它的结果如何:)

#1


History shows that any feature that allows players to interact on the meta level will be abused beyond what possible good it might serve.

历史表明,允许玩家在元级别进行交互的任何功能都将被滥用,超出可能的服务范围。

Perhaps it is possible to have the players agree beforehand on a "game plan", like "4x 4 hours on consecutive days" or "3x 5 hours on wednesdays".

也许有可能让球员事先就“比赛计划”达成一致,比如“连续4天4小时”或“周三3小时5小时”。

The problem seems to be largely identical with WoW Raids: Get X players together to do something realtime-ish, which is longer than typical game time on one day, with multiple sessions within one week. This of course involves a leader role, hot seats, saving to a spot etc. This is hard enough to do, and all these people are working together!

这个问题似乎与WoW Raids基本相同:让X玩家一起做实时的事情,比一天的典型游戏时间更长,一周内有多个会话。这当然涉及领导角色,热门座位,节省现场等等。这很难做到,所有这些人都在一起工作!

If someone sees they´re off to a bad start on the first 3 hours, how can you expect them to come back to suffer 12 more hours? Well, have the quitter lose? This means collusion, you win one for me, I win one for you. (2 players win one each in 6 hours - much better than playing it through)

如果有人在前3个小时看到他们开局不好,你怎么能指望他们再回来再忍受12个小时呢?好吧,让你失去了?这意味着勾结,你为我赢了一个,我为你赢了一个。 (2名球员在6小时内分别赢得一名 - 比通过比赛更好)

All of this has been thoroughly tried. If there is a way to break the game by cheating, people will do that. Especially when it is PvP.

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

Successful multiplayer games either have engagements that are short enough (less than one evening), or that are clearly interruptible (stages reached), or arent realtime. Sadly, I see no way around this malady.

成功的多人游戏要么有足够短的时间(少于一个晚上),要么明显可以中断(达到阶段),或者不是实时的。可悲的是,我认为这种疾病无法解决。

Long story short: I dont think a 15hr PvP RTS even makes sense. For a single player, it means being better than a fixed quality computer opponent. You try, you learn, you beat it eventually. PvP, it means if you are 1% less efficient in the first 5 mins, against an equally skilled opponent, you will definitely lose in the end.

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

A Games value is measured in pleasure per hour.

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

#2


Work pausing into the gameplay. Give each player a pause at the beginning of the game, and then force them to buy pauses with in game currency.

工作停留在游戏中。在游戏开始时给每个玩家一个暂停,然后强制他们以游戏货币购买暂停。

Limit the number of consecutive pauses, a pause by one player would prevent pausing by another player for 10 minutes unless that other player pays for it at a penalized price.

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

Also limit the length of each pause, and allow other players to pay money to undo the pause.

还限制每个暂停的长度,并允许其他玩家付钱以撤消暂停。

#3


I dont think you can do it that way.

我不认为你可以这样做。

You cant have a multiplayer rts that allows pausing that allows issuing orders. Players would pause, issue orders, wait to see what the other players do, instantly pause again as soon as it wants to change anything and issue new orders.

你不能拥有允许发布订单的暂停的多人rts。玩家会暂停,发出命令,等待其他玩家做什么,一旦想要改变任何东西并发出新订单,立即再次暂停。

This would not be a RTS it would be a CST (Chaotic Turnbased Stategy) game.

这不是一个RTS,它将是一个CST(Chaotic Turnbased Stategy)游戏。

#4


I've never seen a game solve this problem. You might allow players to vote to postpone the game and resume it at a later time (i.e., a save feature), which could make the long game sessions bearable, but I don't think pausing will work in multiplayer.

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

#5


Civ VI is turn based although in multiplayer it plays out in real time (you get a certain number of minutes/seconds per turn). So it faces the same challenge--4+ players doing a game that lasts forever. It solves the problem by allowing players to save the game and then come back to it later. When you go to create a server you have the option of starting a new game or starting off with one of your saves. If you start with a save, then each player chooses whatever civilization they had before and things pick up where they left off

尽管在多人游戏中它实时播放(你每回合获得一定的分钟/秒数),但是文明VI是回合制的。所以它面临同样的挑战 - 4 +玩家做一场永远持续的比赛。它通过允许玩家保存游戏然后再回到它来解决问题。当您创建服务器时,您可以选择启动新游戏或从您的某个存储开始。如果你从一个豁免开始,那么每个玩家都会选择他们以前拥有的文明,并且在他们离开之前就会有所收获

#6


You may want to consider a 'phase-based' system. Each phase may be considered as a single pause. Players are allowed to issue instructions during each phase and then have the instructions carried out. Instructions that are issued in the first phase will only be executed in the second phase by the units.

您可能需要考虑“基于阶段”的系统。每个阶段可以被视为单个暂停。允许玩家在每个阶段发出指令,然后执行指令。第一阶段发布的指令仅在第二阶段由单位执行。

#7


You might consider giving players that aren't at the keyboard the ability to create reactions to certain situations. Since these are preset reactions, they won't be as good as an actual player on standby, but it also allows the game to continue without players being available.

您可能会考虑让不在键盘上的玩家能够对某些情况做出反应。由于这些是预设的反应,它们不会像待机时的实际玩家一样好,但它也允许游戏在没有玩家可用的情况下继续。

I'm working on a game right now which allows you to program reactions for your characters, so that if you engage another player in the game, without you being available, then your characters still respond.

我现在正在开发一款游戏,它允许你为你的角色编程反应,这样如果你在游戏中吸引其他玩家而你没有可用,那么你的角色仍然会回应。

I'm using simple macros to help players map out their characters reactions. I'm making some very generic and others very complex... for example

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

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

That way - even though not all players are available the game can continue to run. Conversely, depending on how much effort a player puts into his "AFK" scripting, then the better his team will perform.

这样 - 即使并非所有玩家都可用,游戏也可以继续运行。相反,根据玩家在“AFK”脚本中投入多少精力,他的团队表现得越好。

Of course, it's still in progress - we will see later on just how well it turns out :)

当然,它仍在进行中 - 我们稍后会看到它的结果如何:)