Currently, when you load a tape (with F2), the game has to play the whole tape. Sometimes, like in a dangerous situation where you load the game ten times in a minute, this can be quite disturbing. (Also, it takes *ages* on large maps, even if there aren't much moving objects.)
I suggest that the game will store its data and variables in a tape, and when the player uses Quick load (F2), it just loads the tape and voila! it takes less than a second.
There may be a problem with currect screen image to show. Is it possible to "calculate" it from the game data? It shouldn't be stored in the tape, because 1. it would be too big, 2. it would cause problems if the tape would be played on different custom artwork than the one when it was recorded.
Random numbers generator may cause another problem. It may be needed to store number of generated random numbers in the tape too.
Tapes that are solved would not be loadable, just replayable.
Remembering game state in a tape
Moderators: Flumminator, Zomis
I believe that Holger has been thinking about this already, and hopefully it is already on his todo-list.
And about storing the image shown, yes it is possible to redraw this picture based on the game values.
Random numbers has already been handled well with the tape system, RND saves the "randseed" when saving the tape and loads the randseed when loading the tape, that way all random numbers gives the same result.
I'm not 100% sure about this, correct me if I'm wrong Holger. And pleeeease say what you think about this idea and what the progress (if any) is.
And about storing the image shown, yes it is possible to redraw this picture based on the game values.
Random numbers has already been handled well with the tape system, RND saves the "randseed" when saving the tape and loads the randseed when loading the tape, that way all random numbers gives the same result.
I'm not 100% sure about this, correct me if I'm wrong Holger. And pleeeease say what you think about this idea and what the progress (if any) is.
-
- Posts: 362
- Joined: Sun Sep 25, 2005 4:41 pm
- Location: Germany
Hi,
just test tape loading with "rndTest16", available here.
http://www.zomis.net/rnd/download.php?id=477
Should be a little be faster.
I cant check this with a real big tape (have only one with 12 min).
*edit*
But I think you dont mean the loading time, but the time for "warp forward".
Dont forget here that you can "pause" at every time.
just test tape loading with "rndTest16", available here.
http://www.zomis.net/rnd/download.php?id=477
Should be a little be faster.
I cant check this with a real big tape (have only one with 12 min).
*edit*
But I think you dont mean the loading time, but the time for "warp forward".
Dont forget here that you can "pause" at every time.
And the answer is ... 42 !
I didn't mean the time for "warp forward", but for loading. Believe me, in some levels (e.g. Snake Bite final level) it really takes almost one second to load one real second of a tape! When you have played for two minutes, that's two minutes every time you load a tape, and if you make a mistake every few steps (as I often do), you're doomed.
Please Holger, try to implement this one soon... 3.3.0 or so, maybe?
Please Holger, try to implement this one soon... 3.3.0 or so, maybe?
I think you're speaking about the same thing, since "warp forward" is the play-function used when loading a tape.Tomi wrote:I didn't mean the time for "warp forward", but for loading. Believe me, in some levels (e.g. Snake Bite final level) it really takes almost one second to load one real second of a tape! When you have played for two minutes, that's two minutes every time you load a tape, and if you make a mistake every few steps (as I often do), you're doomed.
Please Holger, try to implement this one soon... 3.3.0 or so, maybe?
Herz-Aus-Gold rndtest16 sounds interesting, I will defintely check this out when possible...
-
- Posts: 362
- Joined: Sun Sep 25, 2005 4:41 pm
- Location: Germany
The loading of the tape is done in millisecs!
Then after a quickload (F2) the tape are autoplayed with "warp forward".
This takes some time - I dont take a look to this code up to now.
In "rndTest16" I only check if it is possible to handle the tape like a "zip" file (with no compression) - and it works. Unfortunalty dont improve the "quick loading" time.
Then after a quickload (F2) the tape are autoplayed with "warp forward".
This takes some time - I dont take a look to this code up to now.
In "rndTest16" I only check if it is possible to handle the tape like a "zip" file (with no compression) - and it works. Unfortunalty dont improve the "quick loading" time.
And the answer is ... 42 !
> in some levels (e.g. Snake Bite final level) it really takes almost one
> second to load one real second of a tape
This can happen, yes. The "quick load game" function just skips the delay between game frames usually used for synchronisation to 50 frames/s. It cannot get faster than that (in the current implementation), so it might get real slow on computers that need the whole 1/50 s to calculate one game frame.
It should be possible to create a better "quick load" that saves the complete game state with each and every internal value, but it could be harder than expected. Haven't tried this yet.
> Please Holger, try to implement this one soon... 3.3.0 or so, maybe?
I'll try my best... Can't promise anything, though... ;-)
> second to load one real second of a tape
This can happen, yes. The "quick load game" function just skips the delay between game frames usually used for synchronisation to 50 frames/s. It cannot get faster than that (in the current implementation), so it might get real slow on computers that need the whole 1/50 s to calculate one game frame.
It should be possible to create a better "quick load" that saves the complete game state with each and every internal value, but it could be harder than expected. Haven't tried this yet.
> Please Holger, try to implement this one soon... 3.3.0 or so, maybe?
I'll try my best... Can't promise anything, though... ;-)