Discuss Scratch
- reallysoftuser
-
1000+ posts
Frame Manipulation Extension
Rewind is a feature found in many modern emulators. It continuously stores your game’s state in RAM. This way, it creates the equivalent of a recording of the X past seconds.I think this feature would be useful for creating checkpoints in games, but I think this feature should be disabled for heavy/big projects, as it could cause issues in those. Also, the extension could only go back in time for a certain amount of frames.
⏺ save current state to slot [50 v] :: events // 1-50
⏺ load restore point slot [1 v] :: :: events
⏸ pause :: events
▶ resume :: events
⏯ pause/play toggle :: events
◀ go back () frames :: events
⏪ rewind () frames for () seconds :: events
⏮ start rewind :: events
⏹️ stop playback :: events
go forward 1 frame :: events // when paused
override [sprite1 v] :: events // sprite won't be affected by rewind or pause
stop override [sprite2 v] :: events
when restore point slot [39 v] loaded :: events hat
when restore point slot [any v] loaded :: events hat
Last edited by reallysoftuser (May 3, 2022 15:40:12)
- Geotale
-
100+ posts
Frame Manipulation Extension
“Many modern emulators” for incredibly old hardware lol
Doing this would make essentially any computer die when running, say, Chirpy Reverie, as you mentioned. “Large projects” isn't well-defined, but at the very least, this could very easily crash the webpage when the user doesn't intend to.
Adding to this, think about how many frames you'd need to save – A rewind that only lasts 1.67 seconds (50 frames) isn't very appealing, is it?
Of course, that will just add to the ginormous amount of memory and processing this would take, and for what?
Everything you mention here can be done far cheaper, and far better (i.e. you can add special effects to it easily) if you implement it yourself. As this clearly isn't meant for New Scratchers, and because it can't be implemented in large projects which will be able to use it best due to the massive overhead, I don't really see the point.
Doing this would make essentially any computer die when running, say, Chirpy Reverie, as you mentioned. “Large projects” isn't well-defined, but at the very least, this could very easily crash the webpage when the user doesn't intend to.
Adding to this, think about how many frames you'd need to save – A rewind that only lasts 1.67 seconds (50 frames) isn't very appealing, is it?
Of course, that will just add to the ginormous amount of memory and processing this would take, and for what?
Everything you mention here can be done far cheaper, and far better (i.e. you can add special effects to it easily) if you implement it yourself. As this clearly isn't meant for New Scratchers, and because it can't be implemented in large projects which will be able to use it best due to the massive overhead, I don't really see the point.
- reallysoftuser
-
1000+ posts
Frame Manipulation Extension
I said you could only save 50 restore points, not fifty frames. Adding to this, think about how many frames you'd need to save – A rewind that only lasts 1.67 seconds (50 frames) isn't very appealing, is it?
Also, I'd imagine smaller Scratch projects are about as complex as older games.
- Geotale
-
100+ posts
Frame Manipulation Extension
Yes, I was using 50 frames as an example (after I actually did have confusion on this), though I could have made it more clear.I said you could only save 50 restore points, not fifty frames. Adding to this, think about how many frames you'd need to save – A rewind that only lasts 1.67 seconds (50 frames) isn't very appealing, is it?
Also, I'd imagine smaller Scratch projects are about as complex as older games.
The issue is – “Smaller Scratch games” aren't going to be using this I wouldn't imagine. Combine multiples images with the already large amount of data it has to save for variables and every single setting, and you're up for a huge amount of space for anything that would use this, especially if you're going to allow for more than 50 frames of rewind.
- k0d3rrr
-
1000+ posts
Frame Manipulation Extension
Bumped, second paged.
(I now understand that!
)
(I now understand that!

- Heccit
-
500+ posts
Frame Manipulation Extension
What exactly qualifies as a “big” project? I think this feature would be useful for creating checkpoints in games, but I think this feature should be disabled for big projects, as it could cause issues in those.
- reallysoftuser
-
1000+ posts
Frame Manipulation Extension
Large in file size, or the program could detect when the project is using more performance than usual, and could temporarily disable the blocks then.What exactly qualifies as a “big” project? I think this feature would be useful for creating checkpoints in games, but I think this feature should be disabled for big projects, as it could cause issues in those.
- IndexErrorException
-
500+ posts
Frame Manipulation Extension
Major support. This could make scratch more like processing. Allowing users to make actual images and videos from scratch. Just next thing would be a custom size view port.
- k0d3rrr
-
1000+ posts
Frame Manipulation Extension
Would these also be blocks? Or are they too complicated for this extension?
▶ when restore point [1-50 v] resumed:: events hat
|| when restore point [1-50 v] paused:: events hat
■ when restore point [1-50 v] stopped:: events hat
- reallysoftuser
-
1000+ posts
Frame Manipulation Extension
I don't think it would be that big of an issue, but I've stated in an earlier post that this extension would be disabled for performance heavy scratch projects. How would this work with framerate drops?
Last edited by reallysoftuser (March 27, 2022 03:26:36)
- RL1123
-
1000+ posts
Frame Manipulation Extension
File size doesn't directly influence how laggy a project can be. Paper Minecraft by griffpatch has a file size of 3.7MB and isn't laggy, but a script of 10 blocks can easily crash a project.I don't think it would be that big of an issue, but I've stated in an earlier post that this extension would be disabled for performance heavy scratch projects. How would this work with framerate drops?
- reallysoftuser
-
1000+ posts
Frame Manipulation Extension
File size and performance would have 2 separate detectors. If Scratch detects the project is heavier than usual through performance, the blocks would be temporarily, and in the event scratch loads a big project, it will disable the blocks until a lighter project is loaded.
Last edited by reallysoftuser (March 27, 2022 03:53:06)
- Crow_Boy08
-
1000+ posts
Frame Manipulation Extension
BIG SUPPORT
i think these two blocks are very useful for pause screens
i think these two blocks are very useful for pause screens
⏸ pause :: events
▶ resume :: events
- reallysoftuser
-
1000+ posts
Frame Manipulation Extension
Brought my topic back up to the first page, as it has reached the second.
Bumped.