Discuss Scratch

zacadoole1
Scratcher
100+ posts

Script Grouping for better organization and easier understanding of others' programming

Sorry if this has already been posted before, but it seems the search function is broken (for me, at least).

Hey, I'm Zacadoole1, and I'm here to tell you about my idea for Scratch. Let's face it, we've all been there; so absorbed in a project that we don't realize how messy, cluttered, and disorganized our Scripts are. By the time it's all done you end up with something like this:
Note: this isn't the best example of a super messy project, but it's a recent project of mine that I thought would be the most clear one to show my suggestion:

Now, I don't know about you, but when there are a lot of scripts, and they are extremely disorganized, it can be very confusing and annoying coming back to work on a project after leaving it for a few days, and it can be even more confusing when you go to remix someone else's project and the scripts are just so chaotic you don't even know where to start. Well, I have a solution: Script Grouping! I know what you're thinking. “Zac, this is the best idea ever! I need to see what this would look like right now!” /s Well, I share your enthusiasm, so I'll cut the chitchat and get straight to the mockups!


New and improved right click menu


Scripts sorted into groups


Groups can be collapsed, just like comments

If this is too long, see the TL;DR below
So, the way Script Groups would work is this: You start by right clicking an empty spot on the workspace, and in the right click menu there is a new item that says “create group” (as seen above). Clicking this would prompt you for the name of the group, and then create a new group about the same size and shape as a new comment currently would be, but white/gray instead of yellow (as seen above).

To add scripts to a script group, just drag them into the group and it will automatically resize to fit the script you're adding (you could also manually resize the group and drag in the script to a spot where there's enough room to fit it). A script group would act like an embedded workspace in the existing workspace, meaning inside a script group, scripts can overlap, and do anything they can already do in the normal workspace, the difference being that script groups are collapsible, and when you move the script group by dragging the top bar all the scripts in the group move with it. Script groups are not isolated like separate sprites with their own custom blocks and whatnot, they're just an improved aesthetic way of organizing the scripts in a sprite.

You can resize and move script groups the same you can resize and move comments, but you can't resize a script group so small that it wouldn't be able to fit all the scripts inside of it (meaning, if you try to resize the script group so small that part or all of the script would be hidden, it will just snap back just big enough to fit the script (and all other scripts in the group), without moving/rearranging the scripts in the group.

Right clicking and selecting “clean up” inside the script group cleans up just the scripts within the group (automatically resizing the group to fit all the cleaned up scripts), while right clicking and selecting “clean up” in the general workspace area we have now would clean up the position all the script groups (without touching the scripts inside of them), along with any loose/ungrouped, scripts. Right clicking on the top bar of the Script Group would allow you to rename it, and maybe also allow you to change the color of the group, the same you can change the color of blocks by shift+clicking edit. I think this would be an extremely useful feature that I would use in almost all of my projects.
So, that's Script Grouping, let me know what you think about it!

TL/DR
  • Right click -> “create script group” -> prompts for name -> creates a script group with that name
  • Dragging scripts into a group auto-expands the group to fit the script
  • Script Groups are resizable and collapsable, like comments
  • Groups can't be resized so small that they would hide some of the scripts inside of them
  • Right clicking inside Script Group -> “clean up” -> only cleans up scripts in group
  • Moving a script group moves all the scripts in the group along with it

Supporters: zacadoole1, mundofinkyenglish, JoeyTheChicken, CatsUnited, stickfiregames, Nether_before, Blueinkproductions, ChocolatePi, Meese123, rollercoasterfan, Cream_E_Cookie, Deerleg, CGRises, BookOwl, iProductions, Blank1234, Econinja, Hamish752, IronBit_Studios, Chibi-Matoran, AaronCavanagh, BelleRae99, WolfCat67, -frostyiceprincess-, The4thPixel, MathlyCat, QuantumSingularity, Griffenlover

((length of (supporters ::list)) = [28]

Last edited by zacadoole1 (Dec. 13, 2016 17:38:23)

Scratchifier
Scratcher
1000+ posts

Script Grouping for better organization and easier understanding of others' programming

zacadoole1 wrote:

I know what you're thinking. “Zac, this is the best idea ever! I need to see what this would look like right now!” Well, I share your enthusiasm, so I'll cut the chitchat and get straight to the mockups.

Actually, no, that is not what I'm thinking. No support. I see no point in grouping my scripts. Just use the clean up function, and if you want to name your scripts just use the add comment feature on the top block of the target script.
mundofinkyenglish
Scratcher
100+ posts

Script Grouping for better organization and easier understanding of others' programming

support. maybe the same with sprites?
Birdlegs
Scratcher
1000+ posts

Script Grouping for better organization and easier understanding of others' programming

Complete bogus. Who would want that?




Just kidding! I love it!!! I'm having wonderful organization problems with my current project. Tiles have to have primary, secondary and tertiary function scripts, but I can never find them! They could all of grouped! Actually, I think that when you clean up the primary workspace, groups should come front and center. That'd help :3 All I can think of in negation might be that it'd be hard to make and that “real” coding doesn't have such treats… As far as I know. In fact, things like this should be everywhere. Even Google Docs.
CatsUnited
Scratcher
1000+ posts

Script Grouping for better organization and easier understanding of others' programming

Support
stickfiregames
Scratcher
1000+ posts

Script Grouping for better organization and easier understanding of others' programming

Support.

Scratchifier wrote:

zacadoole1 wrote:

I know what you're thinking. “Zac, this is the best idea ever! I need to see what this would look like right now!” Well, I share your enthusiasm, so I'll cut the chitchat and get straight to the mockups.

Actually, no, that is not what I'm thinking. No support. I see no point in grouping my scripts. Just use the clean up function, and if you want to name your scripts just use the add comment feature on the top block of the target script.
But clean up doesn't organise scripts. Unless they are already close to cleared up, it normally makes them less organised.
Birdlegs
Scratcher
1000+ posts

Script Grouping for better organization and easier understanding of others' programming

stickfiregames wrote:

Support.

Scratchifier wrote:

zacadoole1 wrote:

I know what you're thinking. “Zac, this is the best idea ever! I need to see what this would look like right now!” Well, I share your enthusiasm, so I'll cut the chitchat and get straight to the mockups.

Actually, no, that is not what I'm thinking. No support. I see no point in grouping my scripts. Just use the clean up function, and if you want to name your scripts just use the add comment feature on the top block of the target script.
But clean up doesn't organise scripts. Unless they are already close to cleared up, it normally makes them less organised.
^^This. I'm always careful about using the feature because I know where all the scripts are… Until I clean them up. Of course, some sprites have way too many scripts to go digging through.
Nether_before
Scratcher
1000+ posts

Script Grouping for better organization and easier understanding of others' programming

Support! It would make projects with lots of hats easier to read and I'd be able to find my scripts!
zacadoole1
Scratcher
100+ posts

Script Grouping for better organization and easier understanding of others' programming

Thanks everyone, I'm glad to see people like my suggestion!

Scratchifier wrote:

zacadoole1 wrote:

I know what you're thinking. “Zac, this is the best idea ever! I need to see what this would look like right now!” Well, I share your enthusiasm, so I'll cut the chitchat and get straight to the mockups.

Actually, no, that is not what I'm thinking. No support. I see no point in grouping my scripts. Just use the clean up function, and if you want to name your scripts just use the add comment feature on the top block of the target script.

Ah, I can see why you think we don't need this, because I've been looking through your projects, and it seems that you're the type of person that has very few (2-3) scripts per sprite, with a few exceptions; not that that's a bad thing, it just means that you're much more organized than the average long-term Scratcher. However, when you're working on something massive with a ton of Scripts, it can be extremely difficult to keep track of all of them and their function, especially when it's a long-term project and you have to go back to it after leaving it alone for a few days. Clean Up only makes it worse by rearranging the few important scripts that you actually have been keeping track of, and you can only make so many comments before your project becomes a horrible mess of yellow (and that is when comments actually work, half the time they won't even attach to my scripts when I want them to ). So, I appreciate your feedback, but some of us really do need this feature.

Edit: As for that quote, sorry if I came off as assertive, it was really more of a joke.

Last edited by zacadoole1 (April 26, 2015 16:46:24)

Birdlegs
Scratcher
1000+ posts

Script Grouping for better organization and easier understanding of others' programming

zacadoole1 wrote:

Thanks everyone, I'm glad to see people like my suggestion!

Scratchifier wrote:

zacadoole1 wrote:

I know what you're thinking. “Zac, this is the best idea ever! I need to see what this would look like right now!” Well, I share your enthusiasm, so I'll cut the chitchat and get straight to the mockups.

Actually, no, that is not what I'm thinking. No support. I see no point in grouping my scripts. Just use the clean up function, and if you want to name your scripts just use the add comment feature on the top block of the target script.

Ah, I can see why you think we don't need this, because I've been looking through your projects, and it seems that you're the type of person that has very few (2-3) scripts per sprite, with a few exceptions; not that that's a bad thing, it just means that you're much more organized than the average long-term Scratcher. However, when you're working on something massive with a ton of Scripts, it can be extremely difficult to keep track of all of them and their function, especially when it's a long-term project and you have to go back to it after leaving it alone for a few days. Clean Up only makes it worse by rearranging the few important scripts that you actually have been keeping track of, and you can only make so many comments before your project becomes a horrible mess of yellow (and that is when comments actually work, half the time they won't even attach to my scripts when I want them to :/). So, I appreciate your feedback, but some of us really do need this feature.

Edit: As for that quote, sorry if I came off as assertive, it was really more of a joke.

THAT!!! ^^^ I never even leave comments… more trouble than it's worth ._.
Blueinkproductions
Scratcher
1000+ posts

Script Grouping for better organization and easier understanding of others' programming

Support.
ChocolatePi
Scratcher
1000+ posts

Script Grouping for better organization and easier understanding of others' programming

SUPPORT!
Meese123
Scratcher
100+ posts

Script Grouping for better organization and easier understanding of others' programming

support.
rollercoasterfan
Scratcher
1000+ posts

Script Grouping for better organization and easier understanding of others' programming

Support. Also with grouping sprites, costumes and maybe sounds (not sure about that one)
Cream_E_Cookie
Scratcher
1000+ posts

Script Grouping for better organization and easier understanding of others' programming

Support
Deerleg
Scratcher
1000+ posts

Script Grouping for better organization and easier understanding of others' programming

Support!
CGRises
Scratcher
500+ posts

Script Grouping for better organization and easier understanding of others' programming

Support.
About the way you have supporters listed:
Please don't blockspam. It's hard to read, and fills up space.
when green flag clicked
say [This is blockspam.] for (2) secs
BookOwl
Scratcher
1000+ posts

Script Grouping for better organization and easier understanding of others' programming

SUPER MEGA SUPREME INFINITE SUPPORT!!!
iProductions
Scratcher
19 posts

Script Grouping for better organization and easier understanding of others' programming

SSSSSUUUUUPPPPPOOOOORRRRTTTTTTT!!!!!!

Looks cool.
Blank1234
Scratcher
500+ posts

Script Grouping for better organization and easier understanding of others' programming

you know how hard it would to implement this?







not hard at all. support

Last edited by Blank1234 (July 29, 2015 18:10:05)

Powered by DjangoBB