Discuss Scratch

vode123
Scratcher
74 posts

A more powerful Scratch?

SCRATCH IS NOT POWERFUL ENOUGH by @vode123

To the Scratch Team

Knowledge is increasing.

People are getting smarter.

They know how to code more.

They are making more complex projects.

Scratch isn't getting power updates.

Those complex projects won't work fast enough.

People can't create more complex…

…more advanced…

…projects.

WHAT IS THE USE OF SCRATCH THEN?

It needs to be more powerful.

Faster.

So that those complex projects will work properly.

And people can keep on imagining.

Creating.

Sharing.

Thank you.

by @vode123

when green flag clicked
forever
if <(fps) < [10]> then
say [Come on guys, we really need to speed up!]
venyanwarrior
Scratcher
1000+ posts

A more powerful Scratch?

vode123 wrote:

WHAT IS THE USE OF SCRATCH THEN?



The role of scratch is an introduction to programming. That's just it, an introduction. Sure, scratchers like griffpatch may make extremely complex games like Paper Minecraft in scratch, but that's not really what scratch is designed for. If you want a more powerful language, try something like python or some other programming language.

So I don't think the ST will make scratch more powerful. It's meant as an introduction to programming, and more complex projects are better suited for other languages.
AFNNetworkK12
Scratcher
1000+ posts

A more powerful Scratch?

venyanwarrior wrote:

vode123 wrote:

WHAT IS THE USE OF SCRATCH THEN?



The role of scratch is an introduction to programming. That's just it, an introduction. Sure, scratchers like griffpatch may make extremely complex games like Paper Minecraft in scratch, but that's not really what scratch is designed for. If you want a more powerful language, try something like python or some other programming language.

So I don't think the ST will make scratch more powerful. It's meant as an introduction to programming, and more complex projects are better suited for other languages.
Support for the reasons listed above.
cheesyfriedeggs
Scratcher
1000+ posts

A more powerful Scratch?

venyanwarrior wrote:

vode123 wrote:

WHAT IS THE USE OF SCRATCH THEN?



The role of scratch is an introduction to programming. That's just it, an introduction. Sure, scratchers like griffpatch may make extremely complex games like Paper Minecraft in scratch, but that's not really what scratch is designed for. If you want a more powerful language, try something like python or some other programming language.

So I don't think the ST will make scratch more powerful. It's meant as an introduction to programming, and more complex projects are better suited for other languages.
He's suggesting that they make Scratch faster, not more complex.
Starstriker3000
Scratcher
1000+ posts

A more powerful Scratch?

Semi-support.
One of my games that I'm making takes a long time to load, and it's not even halfway done yet.
However, making a website faster requires $$$$$ and might cause Scratch not to be free anymore so that the ST can pay for the increased website speed.
--Explosion--
Scratcher
1000+ posts

A more powerful Scratch?

I thunk that instead of makign the whole of scratch faster, the ST could get in contact with whoever made forkphorus and have a “run with forkphorus” checkbox on the project page for slow projects.
smartguy88
Scratcher
4 posts

A more powerful Scratch?

venyanwarrior wrote:

vode123 wrote:

WHAT IS THE USE OF SCRATCH THEN?
The role of scratch is an introduction to programming.


venyanwarrior is right, scratch is not designed with complex projects as its aim, Scratch is designed to teach the basics of programming logic to (usually) younger children. If you want speed, try C, java/JS, or Python. With python you can do many of the computational tasks of scratch much easier and faster, as well as n-dimensional lists (see https://scratch.mit.edu/projects/355078327 for scratch) and advanced string operators.

Scratch, however, does not require you to set up canvases or iframes to display graphical objects or for you to every debug your code for syntax errors. However, Scratch is not an object oriented language in the sense that you can define classes, but is not a functional language either in the sense that it is one script running from top to bottom. This is (I hope) designed in this way purposefully to help younger children understand basic programming logic.

Note: Cloning is a curious exception to basic programming logic, as many other languages' version of cloning is much more subtle. For example: the assignment of a variable is actually cloning.
45afc4td
Scratcher
100+ posts

A more powerful Scratch?

So, you mean returning Scratch to Flash as of the next major version?
CatsUnited
Scratcher
1000+ posts

A more powerful Scratch?

45afc4td wrote:

So, you mean returning Scratch to Flash as of the next major version?
They never mentioned Flash Player in their response, and I'm pretty sure going back to Flash would be detrimental to performance of complex projects since I believe Flash is only a single threaded program, while modern web browsers are able to run JS and other code in multiple threads.
-CodePro-
Scratcher
100+ posts

A more powerful Scratch?

I'm sure if Scratch could magically be much faster the Scratch Team would've done so already.

Scratch 3 was an improvement to speed and things like stamps are far faster. Stamps are also about to be updated to be about 4 times faster than they already are. (according to my tests)
Even after this they will still be low resolution and over 5 times slower than standard JS drawImage() on a HTML canvas. (also from my testing)

The ST is still busy working on Scratch, but performance is not their priority, they are more focused on compatibility and making sure Scratch works properly. If you want to make more complex things you'll just have to use a faster language.

Although with technology that may come within decades your computer could run thousands and millions of times faster and then you would be able to make whatever you like with Scratch.
45afc4td
Scratcher
100+ posts

A more powerful Scratch?

CatsUnited wrote:

45afc4td wrote:

So, you mean returning Scratch to Flash as of the next major version?
They never mentioned Flash Player in their response, and I'm pretty sure going back to Flash would be detrimental to performance of complex projects since I believe Flash is only a single threaded program, while modern web browsers are able to run JS and other code in multiple threads.
Scratch 2.0 is faster on anything but the most recent hardware (which most people don't have).
-CodePro-
Scratcher
100+ posts

A more powerful Scratch?

45afc4td wrote:

CatsUnited wrote:

45afc4td wrote:

So, you mean returning Scratch to Flash as of the next major version?
They never mentioned Flash Player in their response, and I'm pretty sure going back to Flash would be detrimental to performance of complex projects since I believe Flash is only a single threaded program, while modern web browsers are able to run JS and other code in multiple threads.
Scratch 2.0 is faster on anything but the most recent hardware (which most people don't have).
My browser / operating system: Windows 7, Chrome 79.0.3945.88, No Flash version detected
Does this sound like the most recent hardware? (I don't think so)
Intel Core i3-4130 CPU @ 3.40GHz 4GB RAM
because Scratch 3 runs faster for me on this, especially for stamping.
The only performance regression I see at them moment is memory usage.
stack_overflowII
Scratcher
46 posts

A more powerful Scratch?

Scratch is like an old nerf gun you have around but never play with anymore, when compared to other coding languages, and I presume it’s intended to stay that way. Either way, I guess they could make a better, more powered versioni
Nambaseking01
Scratcher
1000+ posts

A more powerful Scratch?

First of all, this is a big trouble for the Scratch Team. More fast systems means more complex website coding, and the Scratch repository on Github is already so complicated. Just because they managed to come this far doesn't mean they are fantastic in coding. Plus, they would have to make an upgrade with their servers to make Scratch run more faster and a server costs money (not just buying money, servers cost rent). The Scratch Team is already saying they have low resources and are only managing to run Scratch due to the vast amount of donations and fund coming. Just because there are a lot of donations doesn't mean they can cover more than the current expenses.

Second of all, this topic is pretty vague. By a more “powerful” Scratch, do you mean better features, or just an overall improvement with things like the FPS? Scratch is already pretty fast and I don't experience any lag with any projects - the only one that crashed my computer was the Scratch Saga 3.0, but that was a big release that gave as much hype as Endgame so it's normal. I don't understand how and why we can improvise and be better than we currently are. Also, just because Scratch becomes faster doesn't mean complex projects are going to run better. At the speed Scratch complexity is moving any speed doesn't matter.

Third of all, you mentioned in the Scratchblocks at the end of your post that the Scratch FPS is slower than 10. It actually runs at an average of 30 FPS, which is way faster than you expected. You have to know things before assuming, or at least ask questions. Then I won't bother, but assumption is equal to not learning (no offense, this is just something I've personally thought about). And even if this gets implemented, here are some questions:

  • Just because you and a couple of other Scratchers are making complex projects and becoming smarter doesn't mean New Scratchers kow every complexity of IT - how will Scratch catch up with that if it was more “powerful” and had better features?
  • Current Scratch projects already run at a stable FPS and also run fast no matter how complex they are - how will we improve on that?
  • Just because Scratch gives you the ability to make complex projects doesn't mean people are going to use that option a lot - the few people making complex projects might enjoy this, the few people. Scratch is designed for children that are 8-16 years old (older/younger people are allowed though), how can you be so sure they'll all take advantage of this?

There are many confusions in this suggestion, so please clarify them. I don't really know why this needs to get implemented.
45afc4td
Scratcher
100+ posts

A more powerful Scratch?

Nambaseking01 wrote:

Third of all, you mentioned in the Scratchblocks at the end of your post that the Scratch FPS is slower than 10. It actually runs at an average of 30 FPS, which is way faster than you expected. You have to know things before assuming, or at least ask questions. Then I won't bother, but assumption is equal to not learning (no offense, this is just something I've personally thought about).

30fps is the hard limit of time precision. There's no way to do timing more precise than 1÷30 of a second. It's the Planck time of Scratch 2.0 and Scratch 3.0.
The less than 10FPS figure is what HTML5 actually runs as on older systems which most Scratchers have. It has nothing to do with the theoretical limit of 30fps, but rather hardware and software limitations.

Take for example this project: https://tetrisreturn.netlify.com/tetris2019.sb2.html . It counts its own frames to give the actual framerate. On my PC in the Scratch 2.0 offline editor it doesn't really achieve a full 30fps. Let alone Scratch 3.0 (I don't remember the exact results). And think about it, actual Tetris games are 60fps, but Scratch has the time precision limit. That's why some people instead like to use languages that compile to native x86 code (for example C and C++, I think) to run everything as fast as possible. So, the suggestion in the topic is, uh, C, or C++, or etc. which already exists but of course not in Scratch.

Edit: The project mentioned, by itself fails to load onto Scratch 3.0, as it makes use of jsonhacks to put high quality sounds onto an sb2. Saving it with Scratch 2.0 allows the file to be uploaded to Scratch 3.0, but when this is done the project loses the sound quality.

Last edited by 45afc4td (Dec. 20, 2019 06:18:12)

vode123
Scratcher
74 posts

A more powerful Scratch?

OK…
That was a lot more answers than I expected.
I'll respond to your messages:

Nambaseking01 wrote:

By a more “powerful” Scratch, do you mean better features, or just an overall improvement with things like the FPS?
Answer: The latter one!

Nambaseking01 wrote:

Third of all, you mentioned in the Scratchblocks at the end of your post that the Scratch FPS is slower than 10. It actually runs at an average of 30 FPS, which is way faster than you expected.
I once played Race World: The Chase with the FPS counter on. Now, I don't know wether (sorry for the wrong spelling) it was because Turbo Mode was on or it was because of the power of Scratch itself, but the FPS seemed to go down and up and down and up and down and up and so on. You'll have to ask @ducky_inc about that.

]Nambaseking01 wrote:

Current Scratch projects already run at a stable FPS and also run fast no matter how complex they are - how will we improve on that?
I HAVE tried a 3D platformer, but it ran VVVVVVVVVVVVEEEEEEEEEEEEEEERRRRRRRRRRRRRRRRRYYYYYYYYYYYYYYY slowly. Ok, so I'm exaggerating a bit (or a LOT), but… there comes the statement that 3D platformers are very rare. To be honest, there needs to be a “duplicate” of Scratch… and the most obvious way of doing that is making Snap! like Scratch. So, it is like Scratch's social media side. That way, people can move to Snap! and still get the “Share” bit that Scratch has.

I need to do something just now. I'll answer to the rest of you later.

vode123
Scratcher
74 posts

A more powerful Scratch?

--Explosion-- wrote:

I thunk that instead of makign the whole of scratch faster, the ST could get in contact with whoever made forkphorus and have a “run with forkphorus” checkbox on the project page for slow projects.
YEAH! That's a very smart idea, -Explosion- !

45afc4td wrote:

So, you mean returning Scratch to Flash as of the next major version?
I NEVER SAID THAT SCRATCH SHOULD RETURN TO FLASH PLAYER!

-CodePro- wrote:

I'm sure if Scratch could magically be much faster the Scratch Team would've done so already.

Scratch 3 was an improvement to speed and things like stamps are far faster. Stamps are also about to be updated to be about 4 times faster than they already are. (according to my tests)
Even after this they will still be low resolution and over 5 times slower than standard JS drawImage() on a HTML canvas. (also from my testing)

The ST is still busy working on Scratch, but performance is not their priority, they are more focused on compatibility and making sure Scratch works properly. If you want to make more complex things you'll just have to use a faster language.

Although with technology that may come within decades your computer could run thousands and millions of times faster and then you would be able to make whatever you like with Scratch.
Hmmm… you may be right!
45afc4td
Scratcher
100+ posts

A more powerful Scratch?

vode123 wrote:

45afc4td wrote:

So, you mean returning Scratch to Flash as of the next major version?
I NEVER SAID THAT SCRATCH SHOULD RETURN TO FLASH PLAYER!

So, uh, you mean compiling Scratch files to native x86 code with optimizations involved?
PlayerXS
Scratcher
80 posts

A more powerful Scratch?

0 Support. Scratch is a website made for YOUNG children, yes, I said YOUNG, and is a different way to code. If you want more power and speed, learn new programming languages like Javascript, Python, C#, E.T.C.
ShinyRowlet_23
Scratcher
9 posts

A more powerful Scratch?

People seem to forget that Scratch is a children’s coding website and not a super complex coding software.

Scratch is for kids to learn how to start coding. Not for people who have had tons of coding experience and want to make a detailed indie game.

Powered by DjangoBB