Discuss Scratch

_nix
Scratcher
1000+ posts

Scrap, a Scratch 2.0 mod dedicated to making Scratch projects



Too lazy to read the whole post? Try it online now!
There's a logo. Nobody spam me with logo suggestions pls kthx?


Scrap
A Scratch 2.0 mod dedicated to making Scratch projects.

Have you ever thought of making a cool big Scratch project before? If you have, you've probably tried to do it – and gotten stuck. Scratch is not very good at making big projects, especially if all your scripts for (one part of) your game's engine are stored in one sprite (that way it's easiest for the scripts to talk to each other – no need for broadcast lag..).

This mod is an attempt at making Scratch a bit more bearable – and powerful – so that you really can use it to make that big idea you had in mind.

Scrap is compatible with Scratch, both backwards and forwards. That means you can open a Scrap project in Scratch and have it work exactly like it would in Scrap, then you can modify the project in Scratch, and open it in Scrap, and switch between editors whenever you want, while keeping the project behaving the same way everywhere.

Features

Biggest features first! Scrap adds a new part to the Scratch interface called the Script Browser:



As you can see, it's positioned right below the scripting area.

The point of the Script Browser is to give you a quick and easy way to access all of your scripts, one at a time. When you click on a script inside the Script Browser, it'll make your script editor focus on that script – and that script only. It makes the whole Scratch interface (and stage!) lags a whole lot less, makes it easier to navigate your project, and makes it simple to focus on one chunk of your project at a time.


Another significant and often wanted tool is Custom Block Libraries:



Custom block libraries are little packages of custom blocks. They're portable; you can save libraries in plain-text JSON files, and send the file to another computer or an online download or even just to another sprite in your project.


Other cool features:
  • The save/load project menu actually works! That took a while to figure out. If you're another modder who would like to find out more, you can read about that here.
  • Variable/list menus are properly sorted. Local and global (stage) variables are also split, with local variables on the top since those are the ones you'll probably be using most – both in menus and palettes! Screenshot (and another).
  • The custom block palette is also sorted too, of course.
  • A preview mode, which basically “locks” the stage, making it so that it behaves as if you're in the project player rather than the editor.
  • Broadcast-specific variables.
  • Hacked blocks can be made, now, but you can also just type in menu inputs. No more “switch costume to (join (previous ) (costume))”!
  • You can use variable, list, and just about any other menu in custom blocks, as well as color inputs.
  • ..And quite a number of other things you can find on the releases page.

Run Scrap online!
This (official) site always contains the most recent release of Scrap, and it's definitely the easiest way to get going with the mod.

Download
v007 – you can find all the releases here.

The source code is open source blah blah license fork of LLK/scratch-flash something something, you can find it here.

Keep in mind to load projects you'll need to have the SWF file on a server. Just make a folder on your desktop, but the SWF in that, cd into it through whatever terminal app you have, and then run “python -m SimpleHTTPServer” (or “python3 -m http.server”), and navigate to the URL you're given in your web browser to get started!

Last edited by _nix (Aug. 18, 2017 13:32:36)

birdoftheday
Scratcher
500+ posts

Scrap, a Scratch 2.0 mod dedicated to making Scratch projects

First post!!!!!!!!!!!!!!!!!!!!!!
birdoftheday
Scratcher
500+ posts

Scrap, a Scratch 2.0 mod dedicated to making Scratch projects

Suggestion: macros
kvackkvack
Scratcher
500+ posts

Scrap, a Scratch 2.0 mod dedicated to making Scratch projects

Can't remember if this is something a previous mod of yours had, if it was something you planned back then, or if it was something I've seen discussed elsewhere, but also colouring global and private variables differently (I'd say by making private vars a bit browner) and allowing you to choose how to sort custom blocks/variables (e.g by name (alphabetical order), by creation date, by last edit date, etc.) would be very nice. Also, maybe you've already implemented this, but making the variables under the Data tab and the ones in dropdowns be sorted the same way isn't too major but would be a nice addition.
Script browser looks amazing though. Good job implementing that one. I think this is the first mod I might actually use more than once.
_nix
Scratcher
1000+ posts

Scrap, a Scratch 2.0 mod dedicated to making Scratch projects

kvackkvack wrote:

Can't remember if this is something a previous mod of yours had, if it was something you planned back then, or if it was something I've seen discussed elsewhere, but also colouring global and private variables differently (I'd say by making private vars a bit browner) and allowing you to choose how to sort custom blocks/variables (e.g by name (alphabetical order), by creation date, by last edit date, etc.) would be very nice. Also, maybe you've already implemented this, but making the variables under the Data tab and the ones in dropdowns be sorted the same way isn't too major but would be a nice addition.
Script browser looks amazing though. Good job implementing that one. I think this is the first mod I might actually use more than once.
Thanks!

I do have the two menus sorted the same way, I think
hiccup01
Scratcher
100+ posts

Scrap, a Scratch 2.0 mod dedicated to making Scratch projects

This looks really useful! Thanks for sharing.
PullJosh
Scratcher
1000+ posts

Scrap, a Scratch 2.0 mod dedicated to making Scratch projects

This looks awesome! Could we maybe get an online hosted version though? Seems easy enough to do with Github Pages…
_nix
Scratcher
1000+ posts

Scrap, a Scratch 2.0 mod dedicated to making Scratch projects

PullJosh wrote:

This looks awesome! Could we maybe get an online hosted version though? Seems easy enough to do with Github Pages…
figures out
_nix
Scratcher
1000+ posts

Scrap, a Scratch 2.0 mod dedicated to making Scratch projects

_nix wrote:

PullJosh wrote:

This looks awesome! Could we maybe get an online hosted version though? Seems easy enough to do with Github Pages…
figures out
Okay, done!

http://liam4.github.io/scrap-mod/

Last edited by _nix (Dec. 10, 2016 02:12:14)

PullJosh
Scratcher
1000+ posts

Scrap, a Scratch 2.0 mod dedicated to making Scratch projects

_nix wrote:

_nix wrote:

PullJosh wrote:

This looks awesome! Could we maybe get an online hosted version though? Seems easy enough to do with Github Pages…
figures out
Okay, done!

http://liam4.github.io/scrap-mod/
Fantastic! The mod is looking great as well!
_nix
Scratcher
1000+ posts

Scrap, a Scratch 2.0 mod dedicated to making Scratch projects

PullJosh wrote:

_nix wrote:

_nix wrote:

PullJosh wrote:

This looks awesome! Could we maybe get an online hosted version though? Seems easy enough to do with Github Pages…
figures out
Okay, done!

http://liam4.github.io/scrap-mod/
Fantastic! The mod is looking great as well!
Thanks!

I was using this a little (wait, a mod maker using their own mod!?) and it does feel like I'm making a class-based project as I define custom blocks and message listeners and local vars and stuff
SimpleScratch
Scratcher
500+ posts

Scrap, a Scratch 2.0 mod dedicated to making Scratch projects

Great idea but (embarrassingly so) I can't get any little scripts to appear in the bottom pane!
Could you just describe how to get something simple going?

Last edited by SimpleScratch (Dec. 10, 2016 18:32:05)

SimpleScratch
Scratcher
500+ posts

Scrap, a Scratch 2.0 mod dedicated to making Scratch projects

Well - I loaded in a project and it did it all nicely but still struggling to get it do its magic starting from a new project!
_nix
Scratcher
1000+ posts

Scrap, a Scratch 2.0 mod dedicated to making Scratch projects

SimpleScratch wrote:

Well - I loaded in a project and it did it all nicely but still struggling to get it do its magic starting from a new project!
That's strange. You should be able to just drag in a block from the palette into the scripting area and have a block magically appear in the script browser.
-stache-
Scratcher
500+ posts

Scrap, a Scratch 2.0 mod dedicated to making Scratch projects

_nix wrote:

SimpleScratch wrote:

Well - I loaded in a project and it did it all nicely but still struggling to get it do its magic starting from a new project!
That's strange. You should be able to just drag in a block from the palette into the scripting area and have a block magically appear in the script browser.
Same. I can only get one hat//block in the pane together, even when they are actually stacked. I have chrome on mac fyi.

like
when green flag clicked
say [hi]

[]// in the bottom pane:
when green flag clicked

Last edited by -stache- (Dec. 10, 2016 23:29:45)

Jonathan50
Scratcher
1000+ posts

Scrap, a Scratch 2.0 mod dedicated to making Scratch projects

This is super cool great job!!! Maybe this will help me stop procrastinating with my bigger projects.

Last edited by Jonathan50 (Dec. 11, 2016 08:03:32)

MartinBraendli2
Scratcher
100+ posts

Scrap, a Scratch 2.0 mod dedicated to making Scratch projects

This is great! Scratch really needs an editor for big/advanced projects (Tosh unfortunately doesn't emulate Scratch 1:1).

Here are some ideas for features I (and probably others) really could use:

- ability to rename lists

- filtering variables/ lists ( when you have 50+ variables, it really is a pain to find the one you need in the dropdown menu). Of course, sorting the variables is already a great improvement.

- option to lock the stage, so that can't select/ move objects on the stage anymore. Currently, if you program something like drag&drop and want to test it, you have to leave the editor to avoid moving the object.

- option to allow creating “hacked” blocks, like
set (join [my] [Var]) to []
Currently I have to keep the hacked blocks I use in the backpack and get them from there. This can get very annoying.

- a way of finding every script that uses a certain variable/ list/ custom block

- an option to sort costumes alpha-numerically

Anyway, the current features are great and help a lot. Thank you.
_nix
Scratcher
1000+ posts

Scrap, a Scratch 2.0 mod dedicated to making Scratch projects

-stache- wrote:

_nix wrote:

SimpleScratch wrote:

Well - I loaded in a project and it did it all nicely but still struggling to get it do its magic starting from a new project!
That's strange. You should be able to just drag in a block from the palette into the scripting area and have a block magically appear in the script browser.
Same. I can only get one hat//block in the pane together, even when they are actually stacked. I have chrome on mac fyi.

like
when green flag clicked
say [hi]

[]// in the bottom pane:
when green flag clicked
Yeah, that's how it's supposed to work? Otherwise the script browser would become way too full, and it's already not very tall (to keep space for actual scripts in the scripting area).

On the other hand, if you do this:

when flag clicked
initialize

when I receive [update v]
update

define update
go to x: (x) y: (y)

define initialize
set [x v] to [0]
set [y v] to [0]

..the script browser will look (something) like this:

define initialize
define update
when flag clicked
when I receive [update v]

If I were to do it as you'd suggest (i.e. – the script viewer would look like the first [scratchblocks] in my post), it would be pretty much the same as a slightly better “clean up”

However, I'd like to be able to label blocks in the future, so that they can kind of have a description attached that you can see in the script browser.
_nix
Scratcher
1000+ posts

Scrap, a Scratch 2.0 mod dedicated to making Scratch projects

Jonathan50 wrote:

This is super cool great job!!! Maybe this will help me stop procrastinating with my bigger projects.
Thanks! But there's still a couple blocks that kinda make it less usable than you'd hope right now – see the issues page.

EDIT: Never mind

MartinBraendli2 wrote:

This is great! Scratch really needs an editor for big/advanced projects (Tosh unfortunately doesn't emulate Scratch 1:1).

Here are some ideas for features I (and probably others) really could use:

Thanks. Yeah, I haven't used tosh much because it's still a bit tough to use (e.g. no jump-to-definition, I think) and it's phosphorus.

MartinBraendli2 wrote:

- ability to rename lists

Of course

MartinBraendli2 wrote:

- filtering variables/ lists ( when you have 50+ variables, it really is a pain to find the one you need in the dropdown menu). Of course, sorting the variables is already a great improvement.

Good idea. Filtering items from every menu (that is, part of the menu UI) would be nice, too (for example – quick selecting of a costume).

MartinBraendli2 wrote:

- option to lock the stage, so that can't select/ move objects on the stage anymore. Currently, if you program something like drag&drop and want to test it, you have to leave the editor to avoid moving the object.

That's a good idea. As it is now you actually need to open it in normal Scratch if you want to test it properly (you can use full screen, but that's already a bit buggy and weird.)

MartinBraendli2 wrote:

- option to allow creating “hacked” blocks, like
set (join [my] [Var]) to []
Currently I have to keep the hacked blocks I use in the backpack and get them from there. This can get very annoying.

Perhaps an option – I made another much smaller mod that did that at one point (“drop anywhere”).

MartinBraendli2 wrote:

- a way of finding every script that uses a certain variable/ list/ custom block

TheLogFather also suggested that actually – he made an implementation of that a while ago. I could probably use it (or base it off of that [which he suggested]) but it'd need a little modification, I think, to work with how the scripting area has been changed a bit.

MartinBraendli2 wrote:

- an option to sort costumes alpha-numerically

Great idea, that's easy to do. I guess it would be important to keep the list indexes in the top left corner of the costume thumbnail so that it's easier to figure out how they can be used with “switch costume to (N)”.

Last edited by _nix (Dec. 11, 2016 12:52:02)

card100
Scratcher
1000+ posts

Scrap, a Scratch 2.0 mod dedicated to making Scratch projects

It crashed my windows explore…

Last edited by card100 (Dec. 11, 2016 15:03:21)

Powered by DjangoBB