Savegames for multiplayer --- In RTS never done before! Why?

Discussion in 'Planetary Annihilation General Discussion' started by nestar2, September 27, 2012.

?

Do you want to save a Multiplayer game at any time?

  1. Yes

    44 vote(s)
    83.0%
  2. No

    9 vote(s)
    17.0%
  1. nestar2

    nestar2 Member

    Messages:
    39
    Likes Received:
    11
    Savegames in SP is something everybody uses to test strategies and does not have to start from scratch or is just tired and wants to finish the game another time.

    So why do not integrate this really awesome feature in multiplayer games. Sure it is not as easy as in SP but I think it will boost the fun factor enormous.
    Just think of the possibilities to rematch a game at a certain state with all players who were involved or just a part of them and an AI takes over or the army is totally controlled by an other player, to shift alliances afterwoods and see what happens. Or another friend takes over and shows you a different strategy.

    I think this would be like the game realllllllllllly AWESOME
  2. PKC

    PKC New Member

    Messages:
    411
    Likes Received:
    0
    Re: Savegames for multiplayer --- In RTS never done before!

    The primary reason for this (apart from the apparent technical hurdles) is that if you’re playing a big MP game online, what are the chances that all those players will become available at the same time again? Pretty slim.
  3. Causeless

    Causeless Member

    Messages:
    241
    Likes Received:
    1
    Re: Savegames for multiplayer --- In RTS never done before!

    Not when you get large tournaments. This would be extremely handy for long games on massive play fields.
  4. PKC

    PKC New Member

    Messages:
    411
    Likes Received:
    0
    Re: Savegames for multiplayer --- In RTS never done before!

    yeah i get that there are exceptions but whether it is feasible on a limited budget is something uber will have to answer.
  5. elexis

    elexis Member

    Messages:
    463
    Likes Received:
    1
    Re: Savegames for multiplayer --- In RTS never done before!

    Sins of a Solar Empire could do it, but a sins game could last ~12 hours.
  6. lirpakkaa

    lirpakkaa New Member

    Messages:
    60
    Likes Received:
    0
    Re: Savegames for multiplayer --- In RTS never done before!

    IIRC it was already possible in Age of Empires 2.
  7. oteph

    oteph New Member

    Messages:
    1
    Likes Received:
    0
    Re: Savegames for multiplayer --- In RTS never done before!

    Warcraft 3 had it too. Nice feature if for example the host was laging u could just rehost using the savegame. The Problem that is see lays within the Clients Server architecture of this game. All the games mentioned before are p2p. In p2p every client has all of the data, thus if u copy this data form the ram to ur hdd u created a save. Yet this allows for the simple and hardly detectable (map)hacks . For client server net-code, the client does not have all the data. All he has is what is required to display the player what he (his units) can see. Changing this so that the client can ask for ALL the data seems unwise as this can be abused for hacks. The only way i see to make sure this cant be abused is the following: If a client asks for a save, the server creates it, but only transmits it to the client as soon as the game has ended, thus avoiding any risks of hack to begin with. Shouldn't be to hard to implement, even thought other more basic stuff should have priority (i guess ^^)
  8. neutrino

    neutrino low mass particle Uber Employee

    Messages:
    3,123
    Likes Received:
    2,687
    Re: Savegames for multiplayer --- In RTS never done before!

    This is the original reason I hadn't prioritized this feature. It's actually quite a high cost feature to do properly because it means you have to be able to serialize all of your run time data structures.

    Reconstructing the runtime state itself for a game like this can be a bit tricky because of how much state there is and how it's intertwined. In practice not all of the state gets saved (for example most engines wouldn't preserve graphic fluff as it's not considered important).

    Replays and save games are actually fairly related. If you think about it a replay is similar to a sequence of save games played back over time (at least conceptually). One thing I've been considering (and it may not be practical) is basically making a replay and savegame the exact same file. So pick anywhere in the game and then continue on from that point could be possible. If you want to just continue from the end ("a normal save") then you can do that as well.

    This could be used to setup scenarios for people to play out like in chess. Or you could make bets and replay famous battles with different choices. Sounds cool to me anyway.

    Then add on the fact that the games can be spread over more than one server. :roll:

    Anyway both robust replays and multiplayer save are both currently technical design goals.
  9. KNight

    KNight Post Master General

    Messages:
    7,681
    Likes Received:
    3,268
    Re: Savegames for multiplayer --- In RTS never done before!

    Oh please god, Neutrino don't make me come around to "convince you" about how awesome this would be if implemented.

    Mike
  10. Plzbanme

    Plzbanme New Member

    Messages:
    3
    Likes Received:
    0
    Re: Savegames for multiplayer --- In RTS never done before!

    Not that I don't like the idea but it has been done before, warcraft 3 and one of the age of games did.
  11. zachb

    zachb Member

    Messages:
    256
    Likes Received:
    3
    Re: Savegames for multiplayer --- In RTS never done before!

    I also remember saving in a Civ 5 lan party, (not really an RTS though)

    And yes while saving and loading in the wilderness of the internet is kind of a moot point, it's great for lan games. Or when you know you will only play vs your buddies.

    I imagine with a server architecture it won't be as much of a problem as it used to be. Granted that is one huge state you are saving.
  12. asgo

    asgo Member

    Messages:
    457
    Likes Received:
    21
    Re: Savegames for multiplayer --- In RTS never done before!

    If player slots would be separate from players itself, you could reassign any player slot when continuing the game, even replacing some of the players with AIs if not all/enough human players are available.

    As for multiple servers running one game session, I would probably use a strategy with two save game "formats". One distributed, where each participating server stores its own part of the session, and one unified for export and use with other server setups (might require quite a bit of post-processing to unify the data, not to mention the redistribution on a different server configuration ;) ) . The separation would shorten the save process in run and would reserve the more costly combination of data for just a selection of stored save games in a post game post processing step.
    (Naturally, that would all depend on the relations between size of the game data, data handling, server structure, communication type between servers etc :) )
  13. Gabberkooij

    Gabberkooij New Member

    Messages:
    20
    Likes Received:
    0
    Re: Savegames for multiplayer --- In RTS never done before!

    Another nice thing would be to create campaigns this way:

    - start a game with 3 players. Keep 1 player idle
    - build your start position with 2 players and save the result.
    - now start the savegame with the idle position and put 2 defensive AI's in 2 other players positions.

    - maybe add AI players which will play defensive in the start and become more agressive in time

    This way you can create all kind of different situations. The strenght of the Ai armies and the speed it becomes more agressive will define the difficulty of the map. And even create some kind of campaign when linked together.
  14. thefirstfish

    thefirstfish New Member

    Messages:
    296
    Likes Received:
    0
    Re: Savegames for multiplayer --- In RTS never done before!

    As far as I understand it, the Zero K mid game player rejoin / spectator join features are based around the replay files. Downside with those is that you have to sort of fast forward through the game from the beginning at super speed to get to the current gamestate. Depending on computer power and the length/complexity of the game so far this can take a while.
  15. vorentorgh

    vorentorgh New Member

    Messages:
    5
    Likes Received:
    0
    Re: Savegames for multiplayer --- In RTS never done before!

    DO WANT.
  16. crazyeddie

    crazyeddie New Member

    Messages:
    5
    Likes Received:
    0
    Re: Savegames for multiplayer --- In RTS never done before!

    Here are three features missing from Spring but often-requested:

    a) saved games
    b) rewind in replays
    c) rapid rejoin of games in progress

    All of these are related, and they are all difficult to implement due to the way that Spring's replay files are structured.

    As thefirstfish mentioned, in Spring games (such as Zero-K) you can join a game that is already in progress, or rejoin if you dropped out or crashed. Which is a great feature. But it's pretty cumbersome to do so, since you have to fast-forward through the entire game so far in order to get to the current time. For a game that's started recently it's not a big deal, but for a game that's been playing for a while there's often not much point in trying to join - it could well be over by the time you catch up. It would be so much better if you could just click "join the game" and be caught up without having to wait.

    Less often requested, but still valuable, is being able to rewind in replays. As it stands now you can pause and fast forward during a replay, but if you want to go back and see something again you have to start the replay all over. Fast forward makes this somewhat tolerable, but there's a limit to how quickly you can fast forward, and it's not nearly fast enough for this to really be workable.

    These limitations are inherent in the way that Spring records its replay files. All that is saved are the player inputs, not the internal state. The internal state can be reconstructed consistently at all times but only by starting with the initial state and running the complete simulation forward.

    I don't mean to teach my grandmother to suck eggs here, but I do want to stress this: being able to rewind replays and being able to rapidly join games in progress are important features. Please take them into consideration as you design your save game / replay functionality.
  17. asgo

    asgo Member

    Messages:
    457
    Likes Received:
    21
    Re: Savegames for multiplayer --- In RTS never done before!

    similar problem to video compression, a tradeoff between size and usability when and how often to store full runtime states instead of just changes. If this is the approach, it will heavily depend on how large a single complete state is.
    also, the real time environment of a game might require short saving times to prevent too much influence on the game.
  18. doctorzuber

    doctorzuber New Member

    Messages:
    252
    Likes Received:
    0
    Re: Savegames for multiplayer --- In RTS never done before!

    The title is inaccurate, since saving has actually be done in multiplayer RTS before with Sins of a Solar Empire. Admittedly, it is a rare feature to see since most RTS focuses on the assumption that games will be short an intense, making them Real Time Tactics (RTT) games in my mind.

    That being said, Uber has clearly said they intend to make sure epic is possible here, with 40+ hour battles being fully supported, and that includes them also saying that saving during such epic battles will also be possible.

    Why exactly do we have a poll to ask for a feature that has already been officially confirmed?
  19. robinvanb

    robinvanb New Member

    Messages:
    47
    Likes Received:
    0
    Re: Savegames for multiplayer --- In RTS never done before!

    You would also have to consider the procedural generated stuff. Or would you allow the engine to recreate parts based on specific input? So the same result would be generated for the same input over and over?
  20. exterminans

    exterminans Post Master General

    Messages:
    1,881
    Likes Received:
    986
    Re: Savegames for multiplayer --- In RTS never done before!

    Sure, why shouldn't that be possible? It's as simple as just using the same random seeds for the same procedures again. There even might be a "standard set" of seeds for very nice planets shared among the community.

    There is only one point i'm unsure whether it would be possible or not:
    Point is, having full snapshots and rerunning the simulation with all inputs to recreate the state of the game at a certain point is rather "easy". But letting the simulation run backwards is a completely different task. You can't just calculate the previous state if the replay / savegame only stored the actions which led to the current state. An action based replay file is "one way" only, yet it is optimal as it provides the smallest file size and the simulation is as accurate as only possible.


    Now the question for Uber:
    Would the file format only include seeds and inputs / actions or would it also include snapshots of the whole game to enable "fast forward" in the replay? If i wanted to continue a saved game, i don't want to wait for the simulation to get at the point where i left, at least not all the way from the start.

    I know that snapshots would require you to make the whole gamestate serializable and you would also run into the good old problem of serializing an onchanging data structure without pausing the simulation (or at least keeping the pauses so short that you don't notice them, possibly by copying the whole game state in memory first before serializing...).

Share This Page