Cross-version savegames - a question to end all questions

Started by Rui 'Trovatore' Pires, Fri 18/01/2008 11:39:18

Previous topic - Next topic

Rui 'Trovatore' Pires

I'd like to know, because I've just been guessing around and now I got caught up on a *fixed* bug that made me restart a game, how loading savegames across different versions of a game works.

Ok, so when with different resolutions are at stake no go. Got that.

When the global script is changed, no go. Got that too.

But what are the circunstances in which I can load a game saved with a previous version and have it run normally... and under what circunstances will the saved game seemingly play like the previous version? How does the whole thing work?
Reach for the moon. Even if you miss, you'll land among the stars.

Kneel. Now.

Never throw chicken at a Leprechaun.

Gilbert

The saved game includes states of room that you had visited, so as long as the modified room hasn't been visited yet the savegame file may still work, minus the cases (modified game settings and global script, etc.).

Also, it probably won't work if other global things, like adding/deleting sprites, changing settings of inventory items, views, etc. for obvious reasons.

Rui 'Trovatore' Pires

Hmmm, the room where the bug occurred was a room I hadn't visited yet in the old version when I had saved the game. Hence, I supposed, your italicized may.

So a new version should always invalidate old saved games, basically, is that right?
Reach for the moon. Even if you miss, you'll land among the stars.

Kneel. Now.

Never throw chicken at a Leprechaun.

Gilbert

Even if the game starts you can't be sure anyway, especially if more of the "global" stuff are changed, so expect strange things or crashes.

That's why games are supposed to be well tested before releasing to the end players.

SSH

You could always write your own bit of script to write out all your relevant variables to a file and read it back. And make sure that all room state can be saved into global variables. It would be a lot of work, though!
12

Snake

I'm curious about one of the mentioned problems.

I get the fact that you can't load a saved game after the game has been worked on again. This is very obvious.

But why on earth can't a saved game run fine with a different resolution? I'm very curious - I've been wondering this for years and I'm glad this topic has come up.

What does the resolution have to do with the game itself?


--Snake
Grim: "You're making me want to quit smoking... stop it!;)"
miguel: "I second Grim, stop this nonsense! I love my cigarettes!"

Pumaman

Quote from: Snake on Fri 18/01/2008 17:35:27
But why on earth can't a saved game run fine with a different resolution? I'm very curious - I've been wondering this for years and I'm glad this topic has come up.

What does the resolution have to do with the game itself?

The save game includes various graphics such as current overlays, dynamic sprites, etc which are all at the current resolution.

It would be possible of course to have AGS resize these when you loaded the game back if appropriate, but so far it hasn't been a priority.

Rui 'Trovatore' Pires

Well, it hasn't been a priority because people have grown used to it and generally don't change the resolution back and forth - however, if it is possible to change it, it would be very nice and friendly and make a lot of sense.

Only been an issue when lately I want to play a game while multi-tasking and have to increase the res to play it in windowed mode, and then when I want to play it fullscreen I have to keep the new res.
Reach for the moon. Even if you miss, you'll land among the stars.

Kneel. Now.

Never throw chicken at a Leprechaun.

Shane 'ProgZmax' Stevens

QuoteThe save game includes various graphics such as current overlays, dynamic sprites, etc which are all at the current resolution.

I'm not sure I understand this explanation.  Do savegames actually need to store any graphics at all?  I realize that there are bound to be some differences in x/y plotting of room elements due to resolution changes...is that what you're talking about?

Snarky

If I remember correctly, even changing the graphics filter option makes it impossible to load an old save game, and that seems a bit unnecessary to me.

I can't tell you how many times  I've got burned by this and had to restart from the beginning because my saved games were in some stupid resolution. (OK, maybe four or five times, counting only games long enough for it to matter.)

Snake

QuoteThe save game includes various graphics such as current overlays, dynamic sprites, etc which are all at the current resolution.
Hmm. I never thought saved games kept graphics properties and such in it's file.
I thought it was just a bunch of variables and such letting the game know next time it's loaded that the character should be at such n' such a place with x,y & z in his/her inventory and etc... That would make a lot more sence.

I agree with Rui. The only reason I never mentioned it before is because I just delt with it and forgot about it until now.

It would be a lot more conveniant for players outside the AGS community who don't know this and for people such as Rui - for whatever reasons they need to constantly change the resolution.

And the graphics filter thing, I didn't know that was like that too (my monitor doesn't support these filters for some odd-ball reason). I would think that these filters were just, well, filters that change the outputted graphics and really have nothing to do with the game itself.

Chris, would it be a big mess to change this? You know what you're talking about and really shouldn't bother yourself anyway if it is, when you can be adding new features for the game programmers. It would be more for conveniance purposes anyway.


--Snake
Grim: "You're making me want to quit smoking... stop it!;)"
miguel: "I second Grim, stop this nonsense! I love my cigarettes!"

Galen

I can't see any reason why x/y coordinates should come into this, I'd assume it's calculating on an unscaled level.

FSi++

But what if you changed between 640x480 and 800x600?..

Oh, wait, you can't do that. And even if you manage to then you'd be pretty much screwed anyway.

Pumaman

QuoteI'm not sure I understand this explanation.  Do savegames actually need to store any graphics at all?

Yes -- if you create a dynamic sprite and then draw things onto it, that data has to be saved in the savegame because it won't be kept anywhere else...

QuoteIf I remember correctly, even changing the graphics filter option makes it impossible to load an old save game, and that seems a bit unnecessary to me.

That shouldn't be the case. You should definitely be able to load games that were saved with a different graphics filter.

QuoteChris, would it be a big mess to change this? You know what you're talking about and really shouldn't bother yourself anyway if it is, when you can be adding new features for the game programmers. It would be more for conveniance purposes anyway.

Well, as I say, I can look into it. Do you guys see it as a big enough problem to warrant spending time on changing?

Rui 'Trovatore' Pires

Well, here's a quote from the game thread of the game in which I had the problem:

Quote
QuoteBut I loaded a savegame from the old version.

I thought it was impossible... I mean, it can't even load a game saved with a different screen resolution.. I hope this thing is fixed in RC5.
Reach for the moon. Even if you miss, you'll land among the stars.

Kneel. Now.

Never throw chicken at a Leprechaun.

Shane 'ProgZmax' Stevens

I think it would be nice to be able to switch resolutions in the same way it would be nice to be able to switch between fullscreen/windowed modes.  It's just one of those things that becomes handy in certain situations.

Rui 'Trovatore' Pires

Quote
QuoteI remember correctly, even changing the graphics filter option makes it impossible to load an old save game, and that seems a bit unnecessary to me.

That shouldn't be the case. You should definitely be able to load games that were saved with a different graphics filter.

BTW, I've just experienced this, when saving the game of a 320x200 game using a 2x-nearest-thing filter (which made it a 640x400 game) - I can't load the game on it's original, unfiltered 320x200.
Reach for the moon. Even if you miss, you'll land among the stars.

Kneel. Now.

Never throw chicken at a Leprechaun.

Khris

I tried this with two different games; I could load the savegame perfectly fine in both cases.

Snarky

It could be that my problem was between fullscreen and windowed modes, like ProgZmax mentions.

Pumaman

Quote from: Rui "Trovatore" Pires on Sun 20/01/2008 12:43:51
BTW, I've just experienced this, when saving the game of a 320x200 game using a 2x-nearest-thing filter (which made it a 640x400 game) - I can't load the game on it's original, unfiltered 320x200.

Can you press Ctrl+V in-game to confirm that it is actually running at 320x200 unfiltered. It could be that your montior doesn't support 320x200 so AGS has automatically run at 640x400 instead.

SMF spam blocked by CleanTalk