Suggest: timeline for savegames

Started by RedVenom, October 18, 2012, 07:10:30 PM

Previous topic - Next topic

RedVenom

I dont know if you make Savegames for every level or for the world but I think this would work with both.
Because the big maps someone may need many savegames and maybe you have to go more savegames back as you thought.

every time you save you create a dot in the savegame overview.
if you load a savegame and save then the new savegame will be put behind that savegame, build a tree view
if on every branch the newer put over the other they will be chronological and logical sorted

here a picture how it could work:

here the game where played and six times it was saved
after that number 5 was loaded and the seventh save
now number 3 was loaded another save and 3 loaded again
and so on.


if you hover or click a savegame there could be and large overview-picture of the map or the world screen
to not use to much space on disk there are some possibilities:
1. delete every savegame before this
if you click at savegame 9 it would remove 1-8
   even if 5-7 are later in the game they come from a savegame before this
   same ich you klick at 5 it would remove 1-4 and 8-15

2. delete every savegame after this

3. delete every savegame not on this path
if you klick at 13 4-8 and 14-15 are deleted


this is maybe not useful vor everyone so a possibility to turn it off can be good.
I post this because in other games I often have trouble to find the savegame I want to load and have to compare the playtime and the time I saved it.
I would like to hear some feadback if its a good or horrible idea.

edit:
damn: now I see Creeper World 3 Suggestions Initiative sorry for not posting there I didn't noticed it before

Nemoricus

I find this idea very interesting, since it would make it easier to replay a map from various points and seeing what differences various changes in your strategies make.

lurkily

Hrm. 

I think . . . I need to consider that and post again later.

Hrm.

Wheatmidge

I honestly think this would be too complicated to implement and would not be very likely to be a feature. But I really like the idea.

I have never heard of this feature ever being used a game. Sometimes this could be extremely valuable, I know games that have an autosave function can often confuse me about which save I really want to load.

RedVenom

Quote from: Wheatmidge on October 18, 2012, 11:46:29 PM
I honestly think this would be too complicated to implement
yeah sadly
Quote from: Wheatmidge on October 18, 2012, 11:46:29 PM
I have never heard of this feature ever being used a game.
Me neither and i don't know how that come to my mind
but it seems to me much more useful that a list

lurkily

Not really.  Recording enough data to reconstruct this is a pretty simple logical exercise.  Reconstructing it into a UI is a little more complex, but the logic is still straightforward.  It can be done with hard rules that need no interpretation, so code should handle it fine.

For instance: give each savegame a numerical internal identifier of sorts.  Remember it when you save, so further savegames append their identifier to the last one saved.  When you load a savegame, load those identifiers so that further saves append to those.

So, when you save game 1-6, you will have six savegames.  The identifiers stored in them will look like this:
1
1,2
1,2,3
1,2,3,4
1,2,3,4,5,6

Then you go back to save five.  This looks like 1,2,3,4,5.  However, you're saving your seventh game, so the ID of your next save looks like this:

1,2,3,4,5,7

So on and so on.  This simple string provides the information necessary to order and arrange the saves.  Then it's just an issue of ordering and arranging them.


This might be useful for those hardcore players who want to follow more than one thread to try and get the best possible time.  On the other hand, you can also arrange this yourself, by working some sort of ID like this into the name of your save games.

4xC

If a tree concept is applied to saving games, CW3 is bound to distinguish itself from other games more than ever. Normally, there's a list of saved games that could just have specifics as depicted in the tree here, but this kind of save sounds impressively worth looking into. Although, it looks like there might be loading saves within saves.
C,C,C,C

lurkily

#7
Quote from: 4xC on October 19, 2012, 08:44:09 AM
If a tree concept is applied to saving games, CW3 is bound to distinguish itself from other games more than ever. Normally, there's a list of saved games that could just have specifics as depicted in the tree here, but this kind of save sounds impressively worth looking into. Although, it looks like there might be loading saves within saves.
No, each save is separate and stand-alone, it just carries a short identifier regarding what saves are its 'parent' saves.

You could even delete a save in the middle, and those saves before and after would have enough information to still be aware of where on the tree they should have been located.

It would stylisticly distinguish CW3, yes . . . but I'm not sure it would be helpful enough to be worth the coding.

knucracker

What is described is basically a version control system.  It's very similar to how things like SVN, CVS, VSS (etc) all work.  (Here's the first example I hit when googling, for those not familiar with the concepts:  http://www.menet.umn.edu/~tmorris/tutorials/CVS/cvs_whatis.htm )
Things like this are used commonly for source management... since source files are things saved frequently, you want a history for them, and you occasionally need to branch from an earlier revision.

Now, as for applying the concepts to save games in CW3; It seems possible.  One primary goal of CW3 is that saves are seamless.  By this I mean that you don't have to initiate a save when you exit the game or when you fly away from a world mid mission.  A save will be created for you.  This is a major game play feature and it also will match the lore.  So from that perspective, there aren't any visible 'save game' menus (not even a list).  Everything stays in the state that you leave it and there is only ever one save game in the 'save game history'.

But, people like the experiment.  Sometimes you want to try a risky strategy.  Sometimes you want to let the game run for a while to study it, then go back and play it (but not totally restart from the beginning).  And other times you have already beaten the world but would like to go back and play it again without losing you final victory state.

So, currently, I have a "snapshot" function.  It is one more save game (per world) that you can manually create and load.  It is independent of the auto-save.  The one exception is that if you load a snapshot, then leave the world... that world will overwrite the auto-save slot.

To summarize, there are currently two save games per world:  An auto-save and a snapshot.

Now to extend these concepts into a 'version control' scenario, each auto save creates a line in the tree.  If all the player ever does is visit, play, and leave worlds, then each visit and leave will create a save that is a descendant of the previous.  The revision tree looks like a straight line.  This would be the normal default mode and if a player just played the game in the most straight forward fashion this is what they would create.  They would never even see this 'tree' since saving and loading is automatic.  This is the equivalent of a "get latest version" concept in source control and it's how you deal with source most of the time.

For the crazy player, though, there could be a "temporal management" button that replaces the current "load snapshot" button.  When you press this you would see the "tree" (which would begin as a line remember).  You could click any node on that 'tree'.  When you do, you load that game and effectively create a 'branch' in source control terminology.  That branch becomes your active trunk so the auto save that happens will happen on this branch.  This creates an actual tree (not just a line).

Notes:
- The very first node in this tree likely represents the world in it's pristine state (a restart).  This isn't actually a save game, but represents the world you get when it is first loaded.
- The complexities of this system are only apparent for those that go looking for them.  Simple, casual players don't ever see it or have to see it.
- The system allows you player a world, keep a 'victory' state, then go back and play it again.  You can do this as many times as you like and not lose any previous victory states.
- The number of saves could get out of control rather quickly if a person visits and leaves a world frequently.  So some curtailing might be necessary.  This curtailing isn't as straight forward as you might think, though.  Anything that is deleted can be a problem later on. 
- The idea of "Temporal Management" will work well with the game's lore.


RedVenom

#9
Quote from: virgilw on October 19, 2012, 09:57:09 AM
- The number of saves could get out of control rather quickly if a person visits and leaves a world frequently.  So some curtailing might be necessary.  
One solution could be if you only keep the last autosave and one every maybe 15 game minutes.
so if you want to keep a state you press save and have an additional to the autosave.

I don't believe many player would leave a world if there is a funny or important situation. In that case the autosaves when you leave the
world would be not necessary and could be deleted (exept the last one obviously).

edit:
a problem could be if you hop between different savegames really fast (less than a minute) just to look or to try something it could be hard to discriminate it and could make to many savegames or an important state get lost.

lurkily

Quote from: RedVenom on October 19, 2012, 11:14:29 AM
Quote from: virgilw on October 19, 2012, 09:57:09 AM
- The number of saves could get out of control rather quickly if a person visits and leaves a world frequently.  So some curtailing might be necessary.  
One solution could be if you only keep the last autosave and one every maybe 15 game minutes.
so if you want to keep a state you press save and have an additional to the autosave.
Yeah, I think only manual snapshots and the last autosave in each branching should be retained.
QuoteI don't believe many player would leave a world if there is a funny or important situation. In that case the autosaves when you leave the
world would be not necessary and could be deleted (exept the last one obviously).
Some maps are really, really, really big, and may take hours to complete, particularly with custom maps.

RedVenom

ok but if you dont want to keep autosaves then it is irrelevant when you leave the world because it delete them anyway

lurkily

I want to save only the last autosave in each branching.  That autosave should be kept, because dumping the player's progress isn't cool.  Pouring thousands of autosaves all over a timeline wouldn't be cool, so just keep the most recent one or two on each branch.

Nemoricus

You could also give the player a hotkey for making saves, so that if there's a point in the game that they might want to explicitly come back to, they can hit that button and a snapshot will be made at the current instant. I'd also recommend tying this to a quicksave/quickload feature, since it seems like they go together quite naturally.

RedVenom

#14
Quote from: lurkily on October 19, 2012, 04:04:36 PM
I want to save only the last autosave in each branching.  That autosave should be kept, because dumping the player's progress isn't cool.  Pouring thousands of autosaves all over a timeline wouldn't be cool, so just keep the most recent one or two on each branch.
sounds even better

Quote from: Nemoricus on October 19, 2012, 05:02:00 PM
You could also give the player a hotkey for making saves
also good

i like the idea i hope virgilw like it also and its not to hard to realize