Discuss Scratch

oxiti8
Scratcher
1000+ posts

Frame Manipulation Extension

reallysoftuser wrote:

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.
Uh oh turing problem alert

it's impossible to know algorithmically how well something will run without running it, and to disable code while something is running could be pretty bad- say something relied on that block and then suddenly scratch decided it was running too slow for it to work?
reallysoftuser
Scratcher
1000+ posts

Frame Manipulation Extension

oxiti8 wrote:

reallysoftuser wrote:

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.
It's impossible to know algorithmically how well something will run without running it,
It wouldn't “predict” how well it would run, it would just see how much resources Scratch is taking up before running any of the extension's blocks, once the project attempts to run that block.

Last edited by reallysoftuser (March 28, 2022 21:52:49)

reallyharduser
Scratcher
100+ posts

Frame Manipulation Extension

Bumping this- uh, totally not my 2nd paged topic.
hi me

Last edited by reallyharduser (March 29, 2022 03:15:48)

Heccit
Scratcher
500+ posts

Frame Manipulation Extension

Semi-support - This would be really cool, and I wouldn't mind it at all, but I'm not sure why we really need this.
However, I do think that the “Pause” and “Resume” blocks should definitely be added, as they could be very useful.
reallysoftuser
Scratcher
1000+ posts

Frame Manipulation Extension

Bumped
k0d3rrr
Scratcher
1000+ posts

Frame Manipulation Extension

Thy topic hath reached the fourth page, therefore thy topic hath been sent forth toward the front page with a bump.
In other words, bump.

Last edited by k0d3rrr (March 30, 2022 09:57:40)

DataLabGames
Scratcher
100+ posts

Frame Manipulation Extension

I don't think this would be practical. It would ruin computers with weak processing power.

Let's say we have 5 sprites, and 20 clones, which is a rather realistic representation of an average medium-sized project. To save a frame, a computer would need to store:
  • X Position
  •  Y Position
  • Size
  •  Volume
  •  Direction
  •  Drag mode
  •  Rotation style
  •  Costume #
  •  Talk Text (Say and Think blocks)
  • Talk Mode,
  •  Color effect
  •  Fisheye effect
  •  Whirl effect
  •  Pixelate effect
  •  Mosaic effect
  •  Ghost effect
  •  Pitch
  •  Pan
  •  Layer
  •  Visibility (show/hide)
  • All For This Sprite Only Variables

for 25 different objects. And then there are also the public numbers:
  • Backdrop #
  • Timer
  • For All Sprite Variables
And then store all of that 50 times. This would, needless to say, be pretty bad. It would almost definitely crash a computer if there were enough clones to hit the clone limit of 300.

Finally, I am wondering whether or not actions that take time to execute will continue from the middle.
For example, if I play a sound and save the frame before the sound ends. What would happen if I load back to that frame? Would that sound play from where it was saved?
Same thing goes for Glide, Wait, etc.

Last edited by DataLabGames (March 30, 2022 14:56:13)

UltraWarrior9000X
Scratcher
15 posts

Frame Manipulation Extension

Now all of these are really good ideas, but I can think of a few problems off the top of my head. Please correct me if I'm wrong. I didn't understand some of the stuff you guys were talking about so I may be wrong.
1. If the project can just stop blocks from working to keep performance great, without knowing which block it is, I think I don't need to explain. For example, platformers. If the movement script, which is really beefy and is the main framerate dropper in platformers, is shut down, how would it work?
2. The data could easily be extracted as it is RAM.
3. The pause and play feature is helpful. Nothing to complain about this there. I mean, Scratch Addons already has a pause button to use, but I would like to see an In-Game one as well to stop people from pulling off frame-perfect moves easily. Ya know, since it's In-Game and can be blocked in certain areas.

One thing I would think could help framerate is that when a project is saved i.e updated, scratch instantly converts it to javascript and when in editor it converts it back to blocks. This would make projects run extremely faster and is something TurboWarp already pulled off.
dertermenter
Scratcher
1000+ posts

Frame Manipulation Extension

bump
k0d3rrr
Scratcher
1000+ posts

Frame Manipulation Extension

BUMP!!!!!!!
Sorry for shouting.

Last edited by k0d3rrr (April 3, 2022 22:49:03)

reallysoftuser
Scratcher
1000+ posts

Frame Manipulation Extension

Bumped
Tunde123
Scratcher
1000+ posts

Frame Manipulation Extension

reallysoftuser wrote:

Bumped
offtopic but your on a bump streak. nice
reallysoftuser
Scratcher
1000+ posts

Frame Manipulation Extension

Bumped. Also, new blocks added to the original post.

Last edited by reallysoftuser (May 3, 2022 15:40:43)

reallysoftuser
Scratcher
1000+ posts

Frame Manipulation Extension

Bumped
k0d3rrr
Scratcher
1000+ posts

Frame Manipulation Extension

Forgotten topic bump.

But yeah, this could be used for emulator projects (ignoring copyright issues).
reallysoftuser
Scratcher
1000+ posts

Frame Manipulation Extension

Bumped
oxiti8
Scratcher
1000+ posts

Frame Manipulation Extension

k0d3rrr wrote:

Forgotten topic bump.

But yeah, this could be used for emulator projects (ignoring copyright issues).
Emulator projects can already create their own save state systems (rewind is essentially saving a bunch of states anyway) if the creator wants to do so through the existing block palette. (Implementation varies based on the system but it essentially involves saving current ram state and other various values) Also, emulators in of themselves aren't illegal or copyright infringing but that's a whole other topic.
ScratchYTMB
Scratcher
100 posts

Frame Manipulation Extension

Geotale wrote:

this clearly isn't meant for New Scratchers
Make it for when you reach Scratcher rank then

Last edited by ScratchYTMB (Aug. 14, 2022 03:13:53)

k0d3rrr
Scratcher
1000+ posts

Frame Manipulation Extension

oxiti8 wrote:

k0d3rrr wrote:

Forgotten topic bump.

But yeah, this could be used for emulator projects (ignoring copyright issues).
Emulator projects can already create their own save state systems (rewind is essentially saving a bunch of states anyway) if the creator wants to do so through the existing block palette. (Implementation varies based on the system but it essentially involves saving current ram state and other various values)
Well yeah, but this would make it simpler. You could just use lists, but that in itself would be too advanced for a beginner.
musicROCKS013
Scratcher
1000+ posts

Frame Manipulation Extension

ScratchYTMB wrote:

Geotale wrote:

this clearly isn't meant for New Scratchers
Make it for when you reach Scratcher rank then
There is no reason to do this. Things should only be limited for scratchers if they can be easily abused. For example, cloud variables can be used to lag the servers. Comments can be used to spam. This doesn't really have any threat, does it?

People need to stop assuming that new scratchers are bad coders or are lesser than scratchers, and can't handle advanced blocks.

Powered by DjangoBB