Discuss Scratch
- Discussion Forums
- » Advanced Topics
- » Scratch 3.0 Technical Discussion
- NitroCipher
- Scratcher
500+ posts
Scratch 3.0 Technical Discussion
Welcome to the Scratch 3.0 Technical Discussion
The beta is now available here
What is Scratch 3.0?
Scratch 3.0 is the next generation of Scratch. It expands how, what, and where you can create with Scratch. With Scratch 3.0, you will be able to play Scratch projects on your phone, create Scratch projects on your tablet, and control Scratch projects with your voice. And there are many other new features too! All projects made in Scratch 2.0 should be compatible with the new 3.0 version. Scratch 3.0 is a fork of Google's Blockly project. It will eventually should be faster due to it using HTML5 rather than flash.
There are some tasks that Scratch 3.0 is already much faster at than Scratch 2.0, but in general resource utilization and some overall performance work still remains to be done. We completed a bunch of performance optimizations on the VM over the past few months and will be continuing (and prioritizing reducing overall resource utilization) in March.
Latest mockup of the new editoruser-images.githubusercontent.com/3409578/37989797-68fd7784-31d2-11e8-9c54-93803943415e.png
When will the Scratch website transition to Scratch 3.0?
The ST plans to launch Scratch 3.0 in January 2019, though the beta is currently out. With the transition, the site should remain relatively unchanged. For people without Internet connectivity, an offline version of the Scratch 3.0 programming editor will be available later in 2018/2019. You can find a preview of the site here: https://preview.scratch.mit.edu Or if you would like to see the latest beta build http://llk.github.io/scratch-gui/develop
What has changed in Scratch 3.0?
The editor features an all-new block design and GUI:
A number of changes have been made to the Scratch user interface, to make it easier to use and learn. Here are a few of the changes:
- You can now scroll through all of the blocks (from all of the categories) in a single list
- The stage is now on the right, instead of the left
- There are now new ways to add sprites and backdrops and extensions
- Some blocks (such as “point in direction”) have a more visual and intuitive way to select inputs
- All projects now start with a variable (called “my variable”) to help make them more visible for beginners
- The pen blocks and music blocks are now Extensions to allow adding of features while simplifying the basic block palette
- Color picker blocks offer more options and control
Where can I find the source code for Scratch 3.0?
To distribute the workload, and make management easier, Scratch 3.0 is split up into several interconnected segments. All of these intricate pieces are available on the official GitHub page found here
Examples include:
There are also plans to add support for using Scratch on mobile devices
Can we use PicoBoards?
No, they are not supported anymore. You can use Scratch 2 Offline Editor.
What blocks are coming? What blocks will be changed?
Added/Replaced:
glide () secs to [Sprite v]::motion
go [forward v] () layers::looks // Replace go back () layers
go to [back v]::looks // Replaces go to front
change [pitch v] effect by ()::sound // Sound Effects
set [pitch v] effect to ()::sound // Sound Effects
clear sound effects::sound // Sound Effects
set drag mode [draggable v]::sensing // Replace the sprite info's checkbox
set pen [color v] to ()::#ff6680 // HSL Full support.
change pen [color v] by ()::#ff6680 // HSL Full support.
(item # of [thing] in [list v] ::list) // Reports the index number of the first occurrence of an item. (0 if non-existent)
(costume [number v]::looks) // number or name
(backdrop [number v]::looks) // number or name
<[] contains []?::operators>
These blocks are moved to Extensions.
Music Extension:
play drum ( v) for (0.25) beats
rest for () beats
play note ( v) for (0.5) beats
set instrument to ( v)
change tempo by ()
set tempo to () bpm
(tempo)
Pen Extension: All pen blocks
If you want to sift through the old topic, it is available here
Last edited by technoboy10 (Aug. 2, 2018 15:09:47) <— wut, why'd you change the name? oh well
Last edited by NitroCipher (Aug. 10, 2018 00:09:05)
I hope my post helped you in some way! Post count: 500+
Current project: [s3Blocks: scratchblocks rewritten for Scratch 3.0] ::#4b4a60 //https://scratch.mit.edu/discuss/topic/290031/ Basically done!This is my signature identifier “aWFtbml0cm9jaXBoZXI=”
- thisandagain
- Forum Moderator
500+ posts
Scratch 3.0 Technical Discussion
Closing the main “Scratch 3.0” thread and pointing the conversation over here.
If you have questions I highly recommend checking out the “Scratch 3.0 Preview FAQ” available here:
https://scratch.mit.edu/preview-faq
If you have questions I highly recommend checking out the “Scratch 3.0 Preview FAQ” available here:
https://scratch.mit.edu/preview-faq
- getbent
- Scratcher
500+ posts
Scratch 3.0 Technical Discussion
On the preview FAQ, it explains why the blocks are bigger in 3.0, and the reason is understandable. However, I still think there should be an option to have smaller blocks for computers.
┠ ᎶεᎿъεהե ┥
➲ Longtime Scratcher, coder and optimist
➲ Helps out in the forums, the SDS, and rest of the Scratch community
➲ New to Scratch? Ask me any questions you may have!
Check out my latest project!
- Ed8
- Scratcher
100+ posts
Scratch 3.0 Technical Discussion
What happened to the picoboard extension?
Scratch 3.0 is here!
- scratcher13542
- Scratcher
9 posts
Scratch 3.0 Technical Discussion
I started doing scratch 3.0 test version it was really cool
Last edited by scratcher13542 (July 17, 2018 22:31:06)
- thisandagain
- Forum Moderator
500+ posts
Scratch 3.0 Technical Discussion
What happened to the picoboard extension?
Good question. We are still finalizing what extensions we will be supporting in Scratch 3.0. Stay tuned. :-)
- thisandagain
- Forum Moderator
500+ posts
Scratch 3.0 Technical Discussion
List monitors are scheduled for implementation in March / April.
- Ed8
- Scratcher
100+ posts
Scratch 3.0 Technical Discussion
Yay!
List monitors are scheduled for implementation in March / April.
Scratch 3.0 is here!
- 77Tigers
- Scratcher
62 posts
Scratch 3.0 Technical Discussion
Cool!
List monitors are scheduled for implementation in March / April.
- Roseyfurby_Aj
- Scratcher
100+ posts
Scratch 3.0 Technical Discussion
Yay!
List monitors are scheduled for implementation in March / April.
I can imagine what they look like :)
- Roseyfurby_Aj
- Scratcher
100+ posts
Scratch 3.0 Technical Discussion
GUYS GUYS GUYS GUYS GUYS GUYS GUYS GUYS GUYS GUYS!
Look at the develop link!
IT HAS UPDATED!
Some hints:
Look at the develop link!
IT HAS UPDATED!
Some hints:
- _nix
- Scratcher
1000+ posts
Scratch 3.0 Technical Discussion
Meanwhile on preview.scratch.mit.edu, detecting mouse-wheel scrolling has been released GUYS GUYS GUYS GUYS GUYS GUYS GUYS GUYS GUYS GUYS!
Look at the develop link!
IT HAS UPDATED!
when [up v] key pressed
change y by (10)
when [down v] key pressed
change y by (-10)
// Try using your mouse wheel anywhere over the stage!
Demo project (made by 04dude3) if you're too lazy to make that
(I'm pretty sure this has been on develop for a while too.)
Last edited by _nix (Feb. 27, 2018 03:07:07)
══ trans autistic lesbian enbydoggirls // 16 17 18 19 20 21, she/they ════
sparrows one word to the paragraph // <3 // ~(quasar) nebula
- SimpleScratch
- Scratcher
500+ posts
Scratch 3.0 Technical Discussion
I can see reasons behind declaring one variable so that users can see how they appear and look and for ease of introducing the concept to beginners but I'm not sure calling it “my variable” is the best idea.
The Scratch standard is to call things “Sprite1”, “costume1”, “background1” etc
So I'd suggest that the default variable should be “variable1” for consitency
Also gets rid of the space which no programmer, I've ever met, would ever use in their variable names
Simon
The Scratch standard is to call things “Sprite1”, “costume1”, “background1” etc
So I'd suggest that the default variable should be “variable1” for consitency
Also gets rid of the space which no programmer, I've ever met, would ever use in their variable names
Simon
- _nix
- Scratcher
1000+ posts
Scratch 3.0 Technical Discussion
Perhaps the ones you've met don't like using spaces just because they're so used to Also gets rid of the space which no programmer, I've ever met, would ever use in their variable names not using spaces?
Putting spaces in variable names does make them clearer. Is “screenX” or “screen X” easier to read? What about “idx” versus “index in items”?
Scratch blocks already have lots of spaces in them (e.g. “mouse x”), so we may as well make our variables look similar.
(On the topic, I'll note that new sprites made from a blank costume are now called “Empty”, while new costumes/backdrops are still “costume1” and so on. Not sure how conscious of a design decision that was, but I'm thinking maybe at least partially? – I haven't checked that feature's pull request )
══ trans autistic lesbian enbydoggirls // 16 17 18 19 20 21, she/they ════
sparrows one word to the paragraph // <3 // ~(quasar) nebula
- 77Tigers_Test
- Scratcher
30 posts
Scratch 3.0 Technical Discussion
Awesome!Meanwhile on preview.scratch.mit.edu, detecting mouse-wheel scrolling has been released GUYS GUYS GUYS GUYS GUYS GUYS GUYS GUYS GUYS GUYS!
Look at the develop link!
IT HAS UPDATED!when [up v] key pressed
change y by (10)
when [down v] key pressed
change y by (-10)
// Try using your mouse wheel anywhere over the stage!
Demo project (made by 04dude3) if you're too lazy to make that
(I'm pretty sure this has been on develop for a while too.)
(◔◡◔::#0088FF)Your stuff…
if(document.getElementById("navigation")){ document.getElementById("navigation").innerHTML+="<button style=\"background: #00aaff;border-radius: 100px;color: #ffffff;padding: 10px;margin:20px;text-align:center;border: none;box-shadow: 5px 5px 2px #00000088; user-select: none;top: 50%;left: 50%;\" onclick='document.head.innerHTML=\"\";'>Destroy<div/>all<div/>style</button>";} else{ document.getElementById("topnav").innerHTML+="<button style=\"background: #00aaff;border-radius: 100px;color: #ffffff;padding: 10px;margin:20px;text-align:center;border: none;box-shadow: 5px 5px 2px #00000088; user-select: none;top: 50%;left: 50%;line-height:initial;height:70px;\" onclick='document.head.innerHTML=\"\";'>Destroy<div/>all<div/>style</button>"; }
- 77Tigers_Test
- Scratcher
30 posts
Scratch 3.0 Technical Discussion
Sadly, I have a laptop -snip-
Awesome!
(◔◡◔::#0088FF)Your stuff…
if(document.getElementById("navigation")){ document.getElementById("navigation").innerHTML+="<button style=\"background: #00aaff;border-radius: 100px;color: #ffffff;padding: 10px;margin:20px;text-align:center;border: none;box-shadow: 5px 5px 2px #00000088; user-select: none;top: 50%;left: 50%;\" onclick='document.head.innerHTML=\"\";'>Destroy<div/>all<div/>style</button>";} else{ document.getElementById("topnav").innerHTML+="<button style=\"background: #00aaff;border-radius: 100px;color: #ffffff;padding: 10px;margin:20px;text-align:center;border: none;box-shadow: 5px 5px 2px #00000088; user-select: none;top: 50%;left: 50%;line-height:initial;height:70px;\" onclick='document.head.innerHTML=\"\";'>Destroy<div/>all<div/>style</button>"; }
- scratcher13542
- Scratcher
9 posts
Scratch 3.0 Technical Discussion
I am still doing it though what platform is it on i am on My browser / operating system: ChromeOS 9765.81.0, Chrome 61.0.3163.120, Flash 28.0 (release 0)
- Wetbikeboy2500
- Scratcher
100+ posts
Scratch 3.0 Technical Discussion
I don't know about you, but I find it a lot easier to read “screenX”. When you put in the space, it just doesn't feel right; It feels like I have to read screen then read x to understand the word. When the human mind read a word, it looks at the first and last letter of it. This means if the mind sees s and X then I can pretty quickly assume screenX. But with screen X, it has to first recognize the first word and then recognize the letter next to it and combine these together. I prefer no spaces in variables.Perhaps the ones you've met don't like using spaces just because they're so used to Also gets rid of the space which no programmer, I've ever met, would ever use in their variable names not using spaces?
Putting spaces in variable names does make them clearer. Is “screenX” or “screen X” easier to read? What about “idx” versus “index in items”?
Scratch blocks already have lots of spaces in them (e.g. “mouse x”), so we may as well make our variables look similar.
(On the topic, I'll note that new sprites made from a blank costume are now called “Empty”, while new costumes/backdrops are still “costume1” and so on. Not sure how conscious of a design decision that was, but I'm thinking maybe at least partially? – I haven't checked that feature's pull request )
Scratch Made In JavaScript: https://scratch.mit.edu/discuss/topic/171842
Scratch Browser: https://scratch.mit.edu/discuss/topic/285957/
SB2Downloader: https://scratch.mit.edu/discuss/topic/295425/
Multiple work stations: https://scratch.mit.edu/discuss/topic/122484/
New Blocks for Displaying Text: https://scratch.mit.edu/discuss/topic/171508
Sprite Folders: https://scratch.mit.edu/discuss/topic/171569/
Find code easier: https://scratch.mit.edu/discuss/topic/144748/
A Support Button or No support Button: https://scratch.mit.edu/discuss/topic/181154/
I want Scratch grow and become a better place for everyone to come and use. So Scratch needs to expand and have more options for everyone.Scratch needs to break the boundaries and not be trapped by what is familiar to Scratch community
- Jonathan50
- Scratcher
1000+ posts
Scratch 3.0 Technical Discussion
I always put spaces in variable names (on Scratch). The only reason it doesn't make sense to put spaces in variable names in other programming languages is because space is used to seperate tokens. Also gets rid of the space which no programmer, I've ever met, would ever use in their variable names
Simon
Not yet a Knight of the Mu Calculus.
- Discussion Forums
- » Advanced Topics
- » Scratch 3.0 Technical Discussion