Long running RTS game multiplayer considerations

2020-06-19 03:12发布

问题:

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.

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.

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.

回答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".

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!

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)

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.

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.

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.

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.

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



回答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



回答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.

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