Scratch Team, no more single-stepping, please! It is so annoying to have to go to edit and set single stepping to turbo speed. Also, online, it is such a hassle to have to shift-click the green flag every time a project says USE TURBO SPEED. It would be annoying enough if it was useful, but because it is useless, it is even more infuriating. Programming languages should run programs as fast as a computer can run it. Scratch is probably the only programming language that slows down the program for no apparent reason. I understand that Scratch is a programming language for beginners, but even for beginners, it would be a hazard for single stepping to exist. Imagine a beginner programmer that relies on single stepping, not even knowing that it exists, to program a game and after some time, moves on to another programming language and is confused why the speed is weird. Beginners should learn how to use wait blocks to slow the speed down if they need to, not rely on single stepping, possibly not even knowing it exists. The first time I used scratch, I was confused why the program ran so slow (I started programming in NXT-G for Lego NXT, a programming language that DOES NOT HAVE SINGLE STEPPING). It took me an hour to find the change single stepping button under the edit heading. If you are not going to remove single stepping, at least set turbo speed to default and let the user change the single stepping if need be. (don't remove flash blocks, though, that is a vital process in program troubleshooting).
Anyway, that is just my opinion, everyone else, please speak out your mind
Offline
I would rather have a block that could enable/disable turbo speed.
Either make it a container:
+-- Turbo speed ---
|
| (blocks you want to go fast)
|
+-------------------------
or something global (that accepts a variable input):
[ Turbo mode [ Enable v] ]
and a reporter
<turbo mode?>
As it is today, I need my Tower Defense game requires turbo mode. So, I had to make a turbo mode detector for it.
Last edited by BoltBait (2011-07-22 18:58:06)
Offline
Turbo speed, as you may find after using it for a while, is not necessarily simply letting Scratch run at maximum potential. I don't know exactly how it works, but it tends to result in less precise movement and bugs that wouldn't occur in a project running at regular speed.
You should also remember that some languages that are slower than others. Scratch, being a visual language on top of a high-level language and running in a virtual machine is inherently slow.
However, it is known that there is a slight delay built into loop blocks to make movement of sprites easier. It has been requested there be an option to remove this feature when scripting things that are only slowed down by this, which is an idea I support.
Offline
it is slow deliberately to help new scratchers time their projects
Offline
what? WHAT?! So because you are angry at something, you want everybody else's way changed to fit yours? Dude, just click an extra button.
...Not that hard...
Offline
cygene wrote:
It took me an hour to find the change single stepping button under the edit heading. (don't remove flash blocks, though, that is a vital process in program troubleshooting).
It took me ten minutes after downloading Scratch, and even if you couldn't find it, you could ask people on the forums. And if they're going to remove everything else, then they should remove single stepping. I happen to like turbo mode, but a lot of games still run better without it.
Offline
Rexpup wrote:
cygene wrote:
It took me an hour to find the change single stepping button under the edit heading. (don't remove flash blocks, though, that is a vital process in program troubleshooting).
It took me ten minutes after downloading Scratch, and even if you couldn't find it, you could ask people on the forums. And if they're going to remove everything else, then they should remove single stepping. I happen to like turbo mode, but a lot of games still run better without it.
As for your comment on many games running better without it, programmer should program with wait blocks to slow it down. If Scratch trully is a programming language to teach people how to program, then it should teach GOOD programming. I just think not using wait blocks is lazy and bad programming.
Offline
Actually single-stepping isn't the default setting in Scratch - you need to click on the "Edit" option in the menu bar and select the option from the drop-down menu to start single-stepping. Otherwise, projects will run at normal speed.
Single-stepping is in Scratch as a means to try and catch programming bugs in projects, which is why the slowest setting is used by default. Other programming language interfaces have similar functions to single-step through code as a way of debugging (Visual Studio for building C++ is a good example), perhaps that is where the inspiration for the single-step function comes from. I've used single-stepping to debug through my Scratch projects at times. Whether or not the Scratch developers want to set turbo speed single-stepping as the default speed that is their decision, but I think the benefits for single-stepping outweighs taking it out completely.
Offline
cygene wrote:
As for your comment on many games running better without it, programmer should program with wait blocks to slow it down. If Scratch trully is a programming language to teach people how to program, then it should teach GOOD programming. I just think not using wait blocks is lazy and bad programming.
Seems like this thread started out with some confusion about "single-stepping" and has turned into a discussion of "turbo". Carrying on with that:
Given that the vast majority of Scratch projects run just fine in the default mode and don't need turbo, it wouldn't make sense to make turbo the default (and require new programmers to add wait statements). In fact, you could make a good argument that getting projects to run well in Scratch (with the default delays in loops) encourages good (efficient) programming.
What would be nice, for projects that need more speed, would be a way to dial up the speed from the default loop delay (dial down the delay). Imagine a project like eventexception's slot-car project, where you might use a color sensing sprite to follow a line; You can't move the sprite very far without going right over the line, so moves must be small - but turbo mode would (perhaps) be too fast. A "setting" that could be changed (like setting a variable) would be ideal to "dial in" the desired speed.
Offline
Single stepping (slow) is for debugging, turbo speed is for evaluating difficult code, etc.
I disagree.
Offline
scimonster wrote:
Single stepping (slow) is for debugging, turbo speed is for evaluating difficult code, etc.
I disagree.
I stated that I do not want the normal speed scratch is in. I wish that normal speed would be turbo speed. I also said that I did not want to remove flash blocks as that is for debugging.
Offline
I'm not sure what single stepping is, but I'm just going to assume you're thinking what I am.
There's an easy fix:
So, let's say you want a sprite to glide from here to there, and at the same time switch its costumes. you can do this:
When Flag Clicked
Go to here
Broadcast multitask
When I recieve multitask
Glide _ seconds to there
When I recieve multitask
Repeat _ times
Next costume.
I don't know how this relates to turbo though ^^;
But in my experience, turbo only works on pen projects.
Offline
pokemongardevoir wrote:
I'm not sure what single stepping is, but I'm just going to assume you're thinking what I am.
There's an easy fix:
So, let's say you want a sprite to glide from here to there, and at the same time switch its costumes. you can do this:
When Flag Clicked
Go to here
Broadcast multitask
When I recieve multitask
Glide _ seconds to there
When I recieve multitask
Repeat _ times
Next costume.
I don't know how this relates to turbo though ^^;
But in my experience, turbo only works on pen projects.
That's not what we were talking about. We were talking about scratch's speed being so slow, and how normal speed should be turbo speed already
Offline
But think about an animation. It would almost be not viewable on turbo.
Offline
Running everything at turbo-speed would stuff up any computer
Offline
scimonster wrote:
But think about an animation. It would almost be not viewable on turbo.
unless you time it with wait blocks. Anything can be made to run perfectly in turbo speed! Why would all other programming languages run really fast if there was a reason not to?
Offline
jji7skyline wrote:
Running everything at turbo-speed would stuff up any computer
![]()
Not really, all programs have a maximum amount of RAM they could use, I think. Also, you think the programming itself isn't using much processing power? It probably uses more than running the game, animation, etc. itself, since it is a virtual machine, not a true programming language.
Offline
cygene wrote:
scimonster wrote:
But think about an animation. It would almost be not viewable on turbo.
unless you time it with wait blocks. Anything can be made to run perfectly in turbo speed! Why would all other programming languages run really fast if there was a reason not to?
Then people would have to change all their animations without that...
Offline
kayybee wrote:
cygene wrote:
scimonster wrote:
But think about an animation. It would almost be not viewable on turbo.
unless you time it with wait blocks. Anything can be made to run perfectly in turbo speed! Why would all other programming languages run really fast if there was a reason not to?
Then people would have to change all their animations without that...
Well, you could make Scratch's current normal speed as a selectable option, and turbo speed would be dafault
Offline
You're suggesting this now? There are almost 2 million projects built to run in normal speed. If the Scratch Team took up your suggestion, most of them would be unplayable unless everyone manually changed all their projects to run in turbo mode.
Besides, just using the wait block could be considered "bad programming", because many languages don't even have that, and you must set up your own timers instead. As long as the wait block stays, so should normal speed.
Offline
scratch should have single stepping but not for its default mode
Offline