Discuss Scratch
- Discussion Forums
- » Advanced Topics
- » Scrap - New block based language, with advanced features, built from ground up in C
- ttt999
-
Scratcher
100+ posts
Scrap - New block based language, with advanced features, built from ground up in C

Scrap
After several months of development I'm proud to announce my new biggest project I've ever made! It's a new block based programming language named Scrap, but unlike other mods or forks of Scratch, Scrap has been implemented fully from scratch in pure C and offers a lot of features that don't exist in other mods or forks.
Scrap is currently in Beta stage, so some features are missing or just broken, so use with caution.
Download Scrap here -> https://github.com/Grisshink/scrap/releases
Source code can be found here (Any contributions are welcome) -> https://github.com/Grisshink/scrap
Notable advantages from scratch
- (LLVM only) Faster runtime. The speed is achieved using compilation through LLVM
- The addition of separate else if, else blocks (C-end blocks as i call them), which eliminates a lot of nested checks with if-else blocks (i.e. more flexible variant of if-else block in Snap!)
- Variables can have a lifetime, which avoids variable name conflicts and allows to make temporary variables
- Custom blocks can return values and can be used as an argument for other block
- Various string manipulation blocks and bitwise operator blocks
- Data type conversion functions
- More strict checks for [ = ] and [ != ] blocks. Now they are case sensitive and will check data type for equality
- Lists are now a data type instead of a different type of variable, this allows nesting lists inside a list
- The code runs in a separate thread. This solves some performance issues compared to Scratch
- Modularized interface. Most of the interface can be rearranged or moved to another tab
- (LLVM only) Standalone builds. Scrap projects can be built and run as native executables without significant runtime overhead
This is a topic for Scrap related discussion in English. If you speak in Russian, then discuss here or here
Screenshots



Last edited by ttt999 (Dec. 27, 2025 18:25:33)
- BigNate469
-
Scratcher
1000+ posts
Scrap - New block based language, with advanced features, built from ground up in C
Interesting…
- aspizu
-
Scratcher
68 posts
Scrap - New block based language, with advanced features, built from ground up in C
Would it be possible to host this on a website by compiling to WASM?
- ttt999
-
Scratcher
100+ posts
Scrap - New block based language, with advanced features, built from ground up in C
Would it be possible to host this on a website by compiling to WASM?I think it might be. If raylib can be somewhat easily compiled to wasm through emscripten then it should be also trivial to compile Scrap this way. It would be cool to see Scrap on a website, but i don't really want to do it as of right now
- davidtheplatform
-
Scratcher
500+ posts
Scrap - New block based language, with advanced features, built from ground up in C
Would it be possible to host this on a website by compiling to WASM?Yes: https://davidtheplatform.github.io/scrap-web/build/scrap.html
Repository: https://github.com/davidtheplatform/scrap-web
Raylib already works under emscripten. One of the libraries scrap uses (tinyfd) doesn't work, but it's pretty simple so I just replaced it with the equivalent browser dialogs.
- ttt999
-
Scratcher
100+ posts
Scrap - New block based language, with advanced features, built from ground up in C
Would it be possible to host this on a website by compiling to WASM?Yes: https://davidtheplatform.github.io/scrap-web/build/scrap.html
Repository: https://github.com/davidtheplatform/scrap-web
Raylib already works under emscripten. One of the libraries scrap uses (tinyfd) doesn't work, but it's pretty simple so I just replaced it with the equivalent browser dialogs.
That's a pretty good port, but i think needs some polishing to do. The shaders are completely broken and the font is somewhat blurry. I would actually like to merge it into main, so you can build everything in one repo. Can you do that?
- scratchcode1_2_3
-
Scratcher
1000+ posts
Scrap - New block based language, with advanced features, built from ground up in C
this gives me heavy scratch 0.x vibes, especially the loops and the shape of the blocks
- Scratchtheguy1
-
Scratcher
500+ posts
Scrap - New block based language, with advanced features, built from ground up in C
Windows tells me that the file may give me a virus before opening the file, is it safe? Also the bad thing that i've heard that so many Russian softwares have malware, so you may be untrusted
when I receive [ Answer]
stop [ my questions]
Last edited by Scratchtheguy1 (Jan. 5, 2025 15:48:27)
- ttt999
-
Scratcher
100+ posts
Scrap - New block based language, with advanced features, built from ground up in C
Windows tells me that the file may give me a virus before opening the file, is it safe? Also the bad thing that i've heard that so many Russian softwares have malware, so you may be untrustedYea, it is safe to open. To actually make it safe on windows, the executable must be signed, which is very costly to do so. If you don't really trust this binary you can build it from sources yourself
when I receive [ Answer]
stop [ my questions]
- codercoby123
-
Scratcher
5 posts
Scrap - New block based language, with advanced features, built from ground up in C
I need site
!
Cool!
when I receive [Site open]
point in direction ( scrap )
Cool!
- Sir_Potter_lV
-
Scratcher
100+ posts
Scrap - New block based language, with advanced features, built from ground up in C
Scrap
After several months of development I'm proud to announce my new biggest project I've ever made! It's a new block based programming language named Scrap, but unlike other mods or forks of Scratch, Scrap has been implemented fully from scratch in pure C and offers a lot of features that don't exist in other mods or forks.
Scrap is currently in Beta stage, so some features are missing or just broken, so use with caution.
Prebuilt binaries can be found here -> https://github.com/Grisshink/scrap/releases
Source code can be found here (Any contributions are welcome) -> https://github.com/Grisshink/scrap
This is a topic for Scrap related discussion in English. If you speak in Russian, then discuss here or here
Screenshots
I'm confused. Is Scrap like a version of Scratch that has a few features that Scratch doesn't have? And where can I find it?
- ttt999
-
Scratcher
100+ posts
Scrap - New block based language, with advanced features, built from ground up in C
I'm confused. Is Scrap like a version of Scratch that has a few features that Scratch doesn't have?
Scrap is actually a new thing made with completely different technologies, so it does a lot of things differently.
And where can I find it?
As of right now you can download it through Github Releases here . I will make a dedicated site for scrap later, but now this is the only way to download it.
- codercoby123
-
Scratcher
5 posts
Scrap - New block based language, with advanced features, built from ground up in C
Now i can dowlaod it and its cool!
go to x: (scrap) y: (scrap)
- 1d324
-
Scratcher
3 posts
Scrap - New block based language, with advanced features, built from ground up in C
how do i start scrap?
- codercoby123
-
Scratcher
5 posts
Scrap - New block based language, with advanced features, built from ground up in C
go to ttt999's massage at the very top, then u will see a link to dowlawd it.
glide (0) secs to x: (ttt999) y: (at the verry top!)
say [there is stil bugs in the game tho ] for (inf) secs
- marsmark
-
Scratcher
86 posts
Scrap - New block based language, with advanced features, built from ground up in C
One support I think will be neat is allow Scratch projects to be compiled into Scrap and exported as SB3 files, sort of how Turbowarp does it.
- ttt999
-
Scratcher
100+ posts
Scrap - New block based language, with advanced features, built from ground up in C
One support I think will be neat is allow Scratch projects to be compiled into Scrap and exported as SB3 files, sort of how Turbowarp does it.
The sb3 importing feature is planned, but due to differences in architecture, i won't do the sb3 exporting, so it will be a one way process
- ttt999
-
Scratcher
100+ posts
Scrap - New block based language, with advanced features, built from ground up in C
v0.2-beta released!
What's new:
- Added various string manipulation blocks
- Added shortcuts to run/stop project (they are bound to F5 and F6 buttons respectively)
- Added codebase movement through scroll wheel/touchpad
- Added another 3D example
- Fixed save corruption when saving unused custom blocks
- Fixed custom blocks breaking when deleting arguments
- Fixed some compilation issues with gcc-9
- Fixed AppImage paths issue again
- Fixed block highlighting with custom blocks
Download new release here -> https://github.com/Grisshink/scrap/releases/tag/v0.2-beta
- codercoby123
-
Scratcher
5 posts
Scrap - New block based language, with advanced features, built from ground up in C
Imagien if this was more popular then sratch!
- codercoby123
-
Scratcher
5 posts
Scrap - New block based language, with advanced features, built from ground up in C
Oh, and one thing i would like u to fix, is when we presse the green flag a lot, its white and black and the game is basicly glitching.
(If u can)
(If u can)
- Discussion Forums
- » Advanced Topics
- » Scrap - New block based language, with advanced features, built from ground up in C



