dnsge
Joined 4 years ago
Joined 4 years ago
Going back to look at my first uploaded project on my first account, I implemented a "programing language" [sic]: https://scratch.mit.edu/projects/10165000/ which is obviously not a beginner's project.
However, what I expect inspired me to create this project and keep creating was exploring the public projects that other users were uploading. For example, scrolling through my projects, I see several "Operating System" simulators that were inspired by others (operating systems were all the rage on Scratch).
Because you can "See Inside" every public Scratch project, it's easy to see something you like (e.g. a game, an animation) and make your own while heavily borrowing ideas and code from others. I was fortunate that my parents allowed me mostly-unrestricted access to a desktop computer where I was able to explore and create on my own.
If person A uses the project and modifies the cloud variable, person B also using the project at the same time will see the new value update in real time.
Related tidbit about cloud variables: When I was on Scratch, there was no effective limit to the size of data stored in the cloud variable (though you were restricted to <= 10 cloud variables per project). Assign a letter to a two-digit number, a -> "01", concatenate the digits for each letter, and store the number into a cloud variable, and you get a simple encoding/decoding scheme for communicating between players in a game.
When enough projects that (ab)used cloud variables for intensive applications like multiplayer came around, I believe that the Scratch Team restricted the amount of data each can store. This change happened as I was no longer using Scratch much, though, so I can't speak much about it.
You can actually go into surprising depth with Scratch. For example, I wrote multiplayer game engines using cloud variables to store player position, chat, etc and let people play together live. People have written 3D platforming engines using the "pen" feature, which is like a Python turtle. Hanging out on the "Advanced Topics" forum lead me to hacking with JavaScript and Python, at first to interact with Scratch and then onto bigger things outside of Scratch.
I think that Scratch is really great, if you couldn't tell from my description. Not only is it easy for a kid to get started with a drag-and-drop interface, but you can do so much. It also has a supportive community and it's easy to make friends and collaborate on projects together.
If you want to see Scratch truly at its limits, take a look around Griffpatch's profile: https://scratch.mit.edu/users/griffpatch/