4 ms·
Not a Scratch user. Also not a child here. A grown up software programmer. But I did try Scratch and I could not make much sense of it. Maybe I am missing somet
by distcs 4y ago
Not a Scratch user. Also not a child here. A grown up software programmer. But I did try Scratch and I could not make much sense of it. Maybe I am missing something. So read this comment as a request for help.
The last time I tried, I remember I had to drag and drop building blocks available as tiles. Some tiles made the character turn right. Some tiles did something else. Some implemented conditionals. Am I remembering it right?
And then when you run the program, the character moves across the screen in the way it was programmed. Is that all? Is there something more that we can do with Scratch? Can we write an interactive adventure game for example?
Just making sure I did not miss something. I would really like to try it again but not sure what I was missing. Or is it really meant for children and it would not appeal to adults?
- Retr0id 4y agoScratch also has variables, lists, if/else and looping control flow structures, and procedures (the main limitation, imho, being that procedures don't have scoped local variables and cannot return a value) It also has event-based concurrency.
- distcs 4y agoAre they all available as tiles to be dragged and dropped? Or can I type it out too with a keyboard?
- Retr0id 4y agoThe former. If you want text, other languages are available. If you really want to use a keyboard, Tosh exists, effectively acting as an alternative front-end for Scratch https://tosh.blob.codes/ https://tosh.blob.codes/ If even using a keyboard is too much effort, I have a Python library for doing Scratch metaprogramming and code generation, with optional vscode integration: https://github.com/davidBuchanan314/boiga https://github.com/davidBuchanan314/boiga I've used it to write non-trivial Scratch programs, such as X25519 key exchange with ChaCha20-Poly1305 authenticated encryption https://scratch.mit.edu/projects/714773326/ https://scratch.mit.edu/projects/714773326/
- Wowfunhappy 4y ago> If you really want to use a keyboard, Tosh exists, effectively acting as an alternative front-end for Scratch https://tosh.blob.codes/ https://tosh.blob.codes/ I really wish this was a bit more robust. I would like to use it as a bridge between Scratch and Python or Javascript, getting kids in the habit of typing things using syntax they are already intimately familiar with. But the project is just a bit too buggy. I've had variables randomly not appear, sounds not import, etc. This is in no way a criticism of the developer who created tosh as a passion project, it's just a lament. Tosh is so close to being a fantastic tool.
- varun_ch 4y agoNot anything officially supported, but there are some community tools to do that, tosh[0] and Scratch Addons'[1] "Insert blocks by name" addon comes to mind [0] https://tosh.blob.codes/ https://tosh.blob.codes/ [1] https://scratchaddons.com/ https://scratchaddons.com/ (It's a browser extension chalk full of little enhancements for Scratch)
- fayten 4y agoYou can make some pretty robust stuff with Scratch. User griffpatch has made a lot of advanced stuff here: https://scratch.mit.edu/users/griffpatch/ https://scratch.mit.edu/users/griffpatch/ He has a youtube series too about building a 2D RPG in Scratch along with a built in tile editor: https://www.youtube.com/watch?v=5lof-Nu1VVE&list=PLy4zsTUHwGJJM6OFblu_t-5I5Yw5SxvhT https://www.youtube.com/watch?v=5lof-Nu1VVE&list=PLy4zsTUHwG... There is also a faster interpreter called TurboWarp that runs significantly faster than the official Scratch implementation: https://turbowarp.org/ https://turbowarp.org/ Here is an example of the old 2d space shooter Tyrian running in turbowarp: https://turbowarp.org/151417355 https://turbowarp.org/151417355
- khochesh_kushat 4y agoIt's possible you were playing Scratch Jr, it sounds a bit like it.
- hoherd 4y agoIt's a lot more than that. People do ray tracing with scratch. https://scratch.mit.edu/users/Raytracing/ https://scratch.mit.edu/users/Raytracing/
- reacweb 4y agoA sprite can create clones; There are variables that can be bounded to clones. This gives similitudes with object programming. Scratch is event oriented and involves concurrent execution of many tasks. This is not the imperative style of our youth, but it may be a better fit for modern programming. Despite the apparent simplicity, you can develop very advanced game mechanism. The limitations occur when you want to give a professional finish. It is meant for children, but it is a pleasure also for the "parent teacher" because it allows to teach advanced ideas.