views:

603

answers:

7

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  A: 

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.

Nifle
Right. I think a stop-the-world pause would be still possible which could be issued by the game host only. This would not allow any game state change from the peers.
kd304
+1  A: 

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.

Chuck
The pause feature would be more like an annoyance, as the players could issue orders and change things around but have to wait the events to unfold until the unpause.
kd304
+4  A: 

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.

posipiet
Maybe I should shorten the possible gameplay time by reducing the number of planets, starting the players from a higher tech level and decreasing the build/research times. The game I'm cloning had a sequel with multiplayer - which I never played. Maybe its properties could help.
kd304
The sequel had similar problems unfortunately. I think we will use the "pleasure per hour" approach to design the multiplayer. Thank you.
kd304
+2  A: 

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.

Jourkey
Interesting idea.
kd304
A: 

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.

sybreon
A: 

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 :)

Hugoware
I once saw a presentation about how AI can replace a real but lagging player for a sort period of time in a Quake match to ensure continuity. My game is more like an issue command - wait for completion style.
kd304
I think a game based on issuing commands would work perfectly, you simply need to provide a list of events (under attack, out of resources, etc) and then a list of responses (move 10% of units to defend, harvest more resources). You want to keep the logic short (not like reactions for a first person shooter which would be much more complex.)
Hugoware
+1  A: 

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

Thanks. Unfortunately, I still have lots of things to do before I even get to the Multiplayer part.
kd304
Where's this civ 6?
RCIX