Discuss Scratch
- Discussion Forums
- » Suggestions
- » The Obscure MIT Project by Lifelong Kindergarten of Scratch, "Let's Chance." Let's add it to Scratch Lab!
- BobRocks20
-
Scratcher
100+ posts
The Obscure MIT Project by Lifelong Kindergarten of Scratch, "Let's Chance." Let's add it to Scratch Lab!

What is Let's Chance? It's simply an obscure block extension, MIT project, and “microworld” that includes blocks where you can set probabilities.
In detail…
(…) we introduce Let’s Chance—a novel computational microworld that extends the widely popular Scratch Programming Language with new types of code blocks and representations that make it accessible for children to encounter and tinker with the rich ideas and sophisticated concepts of probabilistic modeling and learning. Using the tool, children can imagine and code their own expressive, playful, and personally meaningful probabilistic projects, such as—generative art, music, or text; chance-based games and stories; interactive visualizations; and even advanced projects for making a computer learn from input data using simple Markov models of probabilistic learning, among many other creative possibilities.
See this project for more information!
READ BEFORE REPLYING!
You can see how this meets Scratch's design goals here.
(Effective 9/15/2023) If you don't support this please provide a valid reason and remember that I dislike the argument that workarounds are enough and/or that children should learn probability themselves using the existing blocks. What would be the point of suggesting new and potentially useful blocks for Scratch if this kind of argument persists? Scratch is supposed to be an educational website that introduces kids to computer programming, which is why it's straightforward from the get-go. The Let's Chance blocks are intended to make probability understandable for someone as young as 8, especially with artificial intelligence on the rise. Also, not all children are geniuses! They can choose to make workarounds for the blocks as a challenge but that doesn't mean they shouldn't exist. The workarounds can be limited, bulky, and especially hard to understand if you don't know how it works anyway (it's still the same even when you make a custom block out of them.) I implore you to check this video out and look at chapter 3.3 of the thesis, as it covers arguments against Let's Chance better than I can.
Let's Chance used to be accessible at letschance.github.io, but now it redirects to a 404 error. However, there is still hope. Scratch Team, it would be great if you could bring these blocks back from the dead and at least add them to Scratch Lab! They open up new possibilities for Scratch projects.
Sources:
Thesis (It's optional but recommended to read this!)
Recreation (thanks cookieclickerer33!)
Images:




Last edited by BobRocks20 (Oct. 12, 2023 18:19:03)
- The_Game_
-
Scratcher
1000+ posts
The Obscure MIT Project by Lifelong Kindergarten of Scratch, "Let's Chance." Let's add it to Scratch Lab!
Are they in any way different from
(pick random (1) to (10))
- Mr_Woomy
-
Scratcher
500+ posts
The Obscure MIT Project by Lifelong Kindergarten of Scratch, "Let's Chance." Let's add it to Scratch Lab!
Are they in any way different fromfrom a quick glance it looks more child friendly of a rng system but the workaround is probably easy enough as is(pick random (1) to (10))
- BobRocks20
-
Scratcher
100+ posts
The Obscure MIT Project by Lifelong Kindergarten of Scratch, "Let's Chance." Let's add it to Scratch Lab!
bump
- cookieclickerer33
-
Scratcher
1000+ posts
The Obscure MIT Project by Lifelong Kindergarten of Scratch, "Let's Chance." Let's add it to Scratch Lab!
I mean it’s also made by mit and it would fit well in scratch (by the limited info I could find) as well as give it a public release
This would also correct the extremely limited rng system in scratch and with ai on the rise a better way to do rng would be in very high demand
How convenient, almost as if it where planned
There’s a possibility that this is actually already planned. But if not maybe a better post title to catch st’s eye could do the trick
Something mentioning its from another mit branch definitely
Support!
This would also correct the extremely limited rng system in scratch and with ai on the rise a better way to do rng would be in very high demand
How convenient, almost as if it where planned
There’s a possibility that this is actually already planned. But if not maybe a better post title to catch st’s eye could do the trick
Something mentioning its from another mit branch definitely
Support!
Last edited by cookieclickerer33 (Sept. 11, 2023 15:44:10)
- 7salad3salad
-
Scratcher
1000+ posts
The Obscure MIT Project by Lifelong Kindergarten of Scratch, "Let's Chance." Let's add it to Scratch Lab!
That looks pretty cool. I think I'd like to see this implemented!
- cookieclickerer33
-
Scratcher
1000+ posts
The Obscure MIT Project by Lifelong Kindergarten of Scratch, "Let's Chance." Let's add it to Scratch Lab!
That looks pretty cool. I think I'd like to see this implemented!Id love to be able to play with it but it looks like it’s only available to people who took the course. This would be a great opportunity to give it a public release!
- cookieclickerer33
-
Scratcher
1000+ posts
The Obscure MIT Project by Lifelong Kindergarten of Scratch, "Let's Chance." Let's add it to Scratch Lab!
I did a full in depth research of this and it seems like it was originally going to be playable by the public at the chamberage CHI 2020 but then that event got cancelled and replaced with the digital zoom meeting and while it was (documented at least) showcased on the meeting it was not playable (obviously) Then in April 2020/2021 (not sure) was part of a course for students meaning there’s only a few people (apart from the devs) who got to use this thing
The fact that it is in danger of being lost media, is already compatible with scratch, and is already part of mit so they wouldn’t really need to do a whole lot to get the code itself make this one of the largest usefulness/effort ratios on any suggestion I’ve seen to date
I don’t even care if it’s added to scratch really, even if we just get st to release this to the public id be happy
The fact that it is in danger of being lost media, is already compatible with scratch, and is already part of mit so they wouldn’t really need to do a whole lot to get the code itself make this one of the largest usefulness/effort ratios on any suggestion I’ve seen to date
I don’t even care if it’s added to scratch really, even if we just get st to release this to the public id be happy
Last edited by cookieclickerer33 (Sept. 11, 2023 18:25:39)
- rdococ
-
Scratcher
1000+ posts
The Obscure MIT Project by Lifelong Kindergarten of Scratch, "Let's Chance." Let's add it to Scratch Lab!
You're all massively overestimating the abilities of this. This is just a slightly souped up ‘pick random’ block with simple workarounds:
The most complex thing showcased was a Markov chain, and that can be done easily and more flexibly with a couple lists. I don't see any reason to add this to Scratch, except maybe as an extension.
(item (pick random (1) to (length of [list v])) of [list v])
switch costume to (pick random (1) to (# of costumes))
start sound (pick random (1) to (# of sounds)) :: sound
The most complex thing showcased was a Markov chain, and that can be done easily and more flexibly with a couple lists. I don't see any reason to add this to Scratch, except maybe as an extension.
Last edited by rdococ (Sept. 11, 2023 18:56:01)
- BobRocks20
-
Scratcher
100+ posts
The Obscure MIT Project by Lifelong Kindergarten of Scratch, "Let's Chance." Let's add it to Scratch Lab!
You're all massively overestimating the abilities of this. This is just a slightly souped up ‘pick random’ block with simple workarounds:You know what? I was thinking it could be an extension.(item (pick random (1) to (length of [list v])) of [list v])
switch costume to (pick random (1) to (# of costumes))
start sound (pick random (1) to (# of sounds)) :: sound
The most complex thing showcased was a Markov chain, and that can be done easily and more flexibly with a couple lists. I don't see any reason to add this to Scratch, except maybe as an extension.
I still think it'd be cool to add because of its ease of use.
- cookieclickerer33
-
Scratcher
1000+ posts
The Obscure MIT Project by Lifelong Kindergarten of Scratch, "Let's Chance." Let's add it to Scratch Lab!
You're all massively overestimating the abilities of this. This is just a slightly souped up ‘pick random’ block with simple workarounds:no its not, it lets you set the odds of each thing getting picked, and lets you modularly set those odds using a seperate list(item (pick random (1) to (length of [list v])) of [list v])
switch costume to (pick random (1) to (# of costumes))
start sound (pick random (1) to (# of sounds)) :: sound
The most complex thing showcased was a Markov chain, and that can be done easily and more flexibly with a couple lists. I don't see any reason to add this to Scratch, except maybe as an extension.
this is basically impossible inside scratch, watch the showcase video
Last edited by cookieclickerer33 (Sept. 11, 2023 19:18:22)
- PPPDUD
-
Scratcher
1000+ posts
The Obscure MIT Project by Lifelong Kindergarten of Scratch, "Let's Chance." Let's add it to Scratch Lab!
Support, because it would be awesome and useful for AIs. However, you should be able to programmatically change the chances of each item and add/remove items programmatically.
- ajskateboarder
-
Scratcher
1000+ posts
The Obscure MIT Project by Lifelong Kindergarten of Scratch, "Let's Chance." Let's add it to Scratch Lab!
Support, because it would be awesome and useful for AIs. However, you should be able to programmatically change the chances of each item and add/remove items programmatically.How exactly can this feature be used for AIs compared to what we already have?
no its not, it lets you set the odds of each thing getting picked, and lets you modularly set those odds using a seperate listI suppose you can do this as a workaround:
this is basically impossible inside scratch, watch the showcase video

So in the above code, “3” would be the least randomly occuring choice as there's only 10/100 of them. Just some basic probability

–
But still, this Let's Chance thing creates really nice visualizations, so I'll support
Last edited by ajskateboarder (Sept. 11, 2023 19:34:59)
- rdococ
-
Scratcher
1000+ posts
The Obscure MIT Project by Lifelong Kindergarten of Scratch, "Let's Chance." Let's add it to Scratch Lab!
It's not that hard. You can duplicate items in the list, or make two lists and run through them like so:You're all massively overestimating the abilities of this. This is just a slightly souped up ‘pick random’ block with simple workarounds:no its not, it lets you set the odds of each thing getting picked, and lets you modularly set those odds using a seperate list(item (pick random (1) to (length of [list v])) of [list v])
switch costume to (pick random (1) to (# of costumes))
start sound (pick random (1) to (# of sounds)) :: sound
The most complex thing showcased was a Markov chain, and that can be done easily and more flexibly with a couple lists. I don't see any reason to add this to Scratch, except maybe as an extension.
this is basically impossible inside scratch, watch the showcase video
set [choice v] to [1]
set [remaining chance v] to [100]
repeat (length of [choices v])
if <not <(pick random (1) to (remaining chance)) > (item (choice) of [probabilities v])>> then
set [result v] to (item (choice) of [choices v])
stop [this script v]
end
change [choice v] by (1)
end
This workaround is a nice kid-sized chunk of algorithm design that the “Let's Chance” extension would make pointless. I'd rather have custom reporters and first-class lists, so it's easier to make things like this yourself and reuse it for all sorts of use cases.
Last edited by rdococ (Sept. 11, 2023 21:41:03)
- blablablahello
-
Scratcher
1000+ posts
The Obscure MIT Project by Lifelong Kindergarten of Scratch, "Let's Chance." Let's add it to Scratch Lab!
I would disagree with the “its not hard” part, as you should be considering that many users of scratch are completely new to programming and are like 7. On the other hand, I do agree that rather then adding an entire extension just to workaround this, it would be better to have them figure it out themselves, as this is way too complicated and specific to be summarized into a simple block. A better solution would be to add or feature tutorials on matters such as these.It's not that hard. You can duplicate items in the list, or make two lists and run through them like so:You're all massively overestimating the abilities of this. This is just a slightly souped up ‘pick random’ block with simple workarounds:no its not, it lets you set the odds of each thing getting picked, and lets you modularly set those odds using a seperate list(item (pick random (1) to (length of [list v])) of [list v])
switch costume to (pick random (1) to (# of costumes))
start sound (pick random (1) to (# of sounds)) :: sound
The most complex thing showcased was a Markov chain, and that can be done easily and more flexibly with a couple lists. I don't see any reason to add this to Scratch, except maybe as an extension.
this is basically impossible inside scratch, watch the showcase videoset [choice v] to [1]
set [remaining chance v] to [100]
repeat (length of [choices v])
if <not <(pick random (1) to (remaining chance)) > (item (choice) of [probabilities v])>> then
set [result v] to (item (choice) of [choices v])
stop [this script v]
end
change [choice v] by (1)
end
This workaround is a nice kid-sized chunk of algorithm design that the “Let's Chance” extension would make pointless. I'd rather have custom reporters and first-class lists, so it's easier to make things like this yourself and reuse it for all sorts of use cases.
Last edited by blablablahello (Sept. 11, 2023 21:47:06)
- BobRocks20
-
Scratcher
100+ posts
The Obscure MIT Project by Lifelong Kindergarten of Scratch, "Let's Chance." Let's add it to Scratch Lab!
How is this “too complicated and specific?” I knew what they meant when people said there was a 1% chance of getting something when I was a kid.-snip-I would disagree with the “its not hard” part, as you should be considering that many users of scratch are completely new to programming and are like 7. On the other hand, I do agree that rather then adding an entire extension just to workaround this, it would be better to have them figure it out themselves, as this is way too complicated and specific to be summarized into a simple block. A better solution would be to add or feature tutorials on matters such as these.
- medians
-
Scratcher
1000+ posts
The Obscure MIT Project by Lifelong Kindergarten of Scratch, "Let's Chance." Let's add it to Scratch Lab!
You're all massively overestimating the abilities of this. This is just a slightly souped up ‘pick random’ block with simple workarounds:Or just this?(item (pick random (1) to (length of [list v])) of [list v])
(item (random v) of [list v])
How is this “too complicated and specific?” I knew what they meant when people said there was a 1% chance of getting something when I was a kid.I mean, you could just do this though:
set [outcome v] to (item (random v) of [outcomes v])Or:
if <(outcome) = [outcome 1]> then
...
else
if <(outcome) = [outcome 2]> then
...
else
...
end
end
set [outcome v] to (pick random (1) to (x ::grey))Using comparison blocks might work too.
...
- doggy_boi1
-
Scratcher
1000+ posts
The Obscure MIT Project by Lifelong Kindergarten of Scratch, "Let's Chance." Let's add it to Scratch Lab!
this is not simple?? plus alot of blocks have workarounds so im tired of hearing the argument of “it can be easily replicated with 30 other blocks”It's not that hard. You can duplicate items in the list, or make two lists and run through them like so:You're all massively overestimating the abilities of this. This is just a slightly souped up ‘pick random’ block with simple workarounds:no its not, it lets you set the odds of each thing getting picked, and lets you modularly set those odds using a seperate list(item (pick random (1) to (length of [list v])) of [list v])
switch costume to (pick random (1) to (# of costumes))
start sound (pick random (1) to (# of sounds)) :: sound
The most complex thing showcased was a Markov chain, and that can be done easily and more flexibly with a couple lists. I don't see any reason to add this to Scratch, except maybe as an extension.
this is basically impossible inside scratch, watch the showcase videoset [choice v] to [1]
set [remaining chance v] to [100]
repeat (length of [choices v])
if <not <(pick random (1) to (remaining chance)) > (item (choice) of [probabilities v])>> then
set [result v] to (item (choice) of [choices v])
stop [this script v]
end
change [choice v] by (1)
end
This workaround is a nice kid-sized chunk of algorithm design that the “Let's Chance” extension would make pointless. I'd rather have custom reporters and first-class lists, so it's easier to make things like this yourself and reuse it for all sorts of use cases.
- PaperMarioFan2022
-
Scratcher
1000+ posts
The Obscure MIT Project by Lifelong Kindergarten of Scratch, "Let's Chance." Let's add it to Scratch Lab!
Bump
- DifferentDance8
-
Scratcher
1000+ posts
The Obscure MIT Project by Lifelong Kindergarten of Scratch, "Let's Chance." Let's add it to Scratch Lab!
That was removed in 3.0You're all massively overestimating the abilities of this. This is just a slightly souped up ‘pick random’ block with simple workarounds:Or just this?(item (pick random (1) to (length of [list v])) of [list v])(item (random v) of [list v])

- Discussion Forums
- » Suggestions
-
» The Obscure MIT Project by Lifelong Kindergarten of Scratch, "Let's Chance." Let's add it to Scratch Lab!












