Discuss Scratch
- Discussion Forums
- » Advanced Topics
- » 3D on scratch, And how it's professionally accomplished
- Raman15
-
Scratcher
100+ posts
3D on scratch, And how it's professionally accomplished
GL00B, I love your projects! They are actually really good! I’m actually working on a coding engine but it’s not 3DHi, I'm sorry. I wasn't wearing my glasses, you seem to have said “already ready”, which you are completely correct. I seam to have read it as “Already released” or something, so yeah, Sorryhuh, misinformation… the engine isn't released yet..Didn't said that, just told that the engine was already really advanced. Its a bit confusing sorry
but it’s at least good and you can post your games!- Raman15
-
Scratcher
100+ posts
3D on scratch, And how it's professionally accomplished
I’m making a CSV coding engine IDEGL00B, I love your projects! They are actually really good! I’m actually working on a coding engine but it’s not 3DHi, I'm sorry. I wasn't wearing my glasses, you seem to have said “already ready”, which you are completely correct. I seam to have read it as “Already released” or something, so yeah, Sorryhuh, misinformation… the engine isn't released yet..Didn't said that, just told that the engine was already really advanced. Its a bit confusing sorrybut it’s at least good and you can post your games!
- abraham93420
-
Scratcher
76 posts
3D on scratch, And how it's professionally accomplished
I'm pretey sure godot is a kids proggramming language because that level is after pythonGuys can't you just use godot. it has a 3D platform meant for 3D games!Where's the fun in that? Everyone here COULD use Godot, but it's more fun to make a 3D engine in a kids programming language.
Last edited by abraham93420 (Dec. 28, 2025 20:42:39)
- Raman15
-
Scratcher
100+ posts
3D on scratch, And how it's professionally accomplished
Not really…because I’ve never seen a kid use Godot, if some random kid mastered Godot then I’m impressedI'm pretey sure godot is a kids proggramming language because that level is after pythonGuys can't you just use godot. it has a 3D platform meant for 3D games!Where's the fun in that? Everyone here COULD use Godot, but it's more fun to make a 3D engine in a kids programming language.
- _-ValX-_
-
Scratcher
500+ posts
3D on scratch, And how it's professionally accomplished
Not really…because I’ve never seen a kid use Godot, if some random kid mastered Godot then I’m impressedGodot really is a beginners friendly platform. Just watch some tutorials and you'll get used to it !
- ultracat31
-
Scratcher
36 posts
3D on scratch, And how it's professionally accomplished
Not really, a kid can master assembly (the literal second lowest level programming language), and by definition, at 10,000 hours of practice, even a kid would be an expert.Not really…because I’ve never seen a kid use Godot, if some random kid mastered Godot then I’m impressedI'm pretey sure godot is a kids proggramming language because that level is after pythonGuys can't you just use godot. it has a 3D platform meant for 3D games!Where's the fun in that? Everyone here COULD use Godot, but it's more fun to make a 3D engine in a kids programming language.
- bdizzlev
-
Scratcher
3 posts
3D on scratch, And how it's professionally accomplished
I haveNot really…because I’ve never seen a kid use Godot, if some random kid mastered Godot then I’m impressedI'm pretey sure godot is a kids proggramming language because that level is after pythonGuys can't you just use godot. it has a 3D platform meant for 3D games!Where's the fun in that? Everyone here COULD use Godot, but it's more fun to make a 3D engine in a kids programming language.
- Drujok_Blevuskin
-
Scratcher
34 posts
3D on scratch, And how it's professionally accomplished
Hi, so I tell why 3D in Scratch is so slow, if you do in 3D on Scratch, then will be so slow, let's Summarise! Camera's aren't real, but wait, birds are not real, they made with camera by Government, but that's not true, because birds are real…
Birds are real???
No!!!
- Drujok_Blevuskin
-
Scratcher
34 posts
3D on scratch, And how it's professionally accomplished
Hi, so I tell why 3D in Scratch is so slow, if you do in 3D on Scratch, then will be so slow, let's Summarise! Camera's aren't real, but wait, birds are not real, they made with camera by Government, but that's not true, because birds are real…So, if you make project that dots can make a 3D Object then will be so easy!Birds are real???No!!!
- abraham93420
-
Scratcher
76 posts
3D on scratch, And how it's professionally accomplished
Hi, so I tell why 3D in Scratch is so slow, if you do in 3D on Scratch, then will be so slow, let's Summarise! Camera's aren't real, but wait, birds are not real, they made with camera by Government, but that's not true, because birds are real…I dont get itBirds are real???No!!!
- _-ValX-_
-
Scratcher
500+ posts
3D on scratch, And how it's professionally accomplished
Hi, so I tell why 3D in Scratch is so slow, if you do in 3D on Scratch, then will be so slow, let's Summarise! Camera's aren't real, but wait, birds are not real, they made with camera by Government, but that's not true, because birds are real…Yes but Scratch isnt real either, its was made by the government to make young developers for the futurBirds are real???No!!!
- Raman15
-
Scratcher
100+ posts
3D on scratch, And how it's professionally accomplished
Yeah programming has no age limits 

Not really, a kid can master assembly (the literal second lowest level programming language), and by definition, at 10,000 hours of practice, even a kid would be an expert.Not really…because I’ve never seen a kid use Godot, if some random kid mastered Godot then I’m impressedI'm pretey sure godot is a kids proggramming language because that level is after pythonGuys can't you just use godot. it has a 3D platformWhere's the fun in that? Everyone here COULD use Godot, but it's more fun to make a 3D engine in a kids programming language.meant for 3D games!Hi, so I tell why 3D in Scratch is so slow, if you do in 3D on Scratch, then will be so slow, let's Summarise! Camera's aren't real, but wait, birds are not real, they made with camera by Government, but that's not true, because birds are real…Yes but Scratch isnt real either, its was made by the government to make young developers for the futurBirds are real???No!!!
- Raman15
-
Scratcher
100+ posts
3D on scratch, And how it's professionally accomplished
Uh I’m making a csv coder that will maybe support 3d
- abraham93420
-
Scratcher
76 posts
3D on scratch, And how it's professionally accomplished
making 3D in scratch is not easy
but i do know a way of how to do it
To create a 3D scrolling effect in Scratch, you can simulate depth by using multiple layers of sprites with varying sizes and scrolling speeds. The closer a sprite is to the viewer, the larger it appears and the faster it moves, while distant sprites are smaller and scroll more slowly.
This technique mimics the parallax effect seen when looking out of a train window, where nearby objects pass by quickly and distant ones move slowly.
Begin by creating multiple layers of sprites representing different depths. For example, place a foreground layer (like trees or buildings) in front, followed by midground and background layers.
Each layer should be assigned a different size and scrolling speed. Use a variable, such as scrollX, to control the horizontal position of the stage, and have each sprite adjust its position based on this variable.
The formula for positioning a sprite is x = (scrollX) + (480 * position), where position refers to the layer's place in the world (0 for the first screen, 1 for the next, etc.).
To achieve the 3D illusion, scale each sprite to reflect its depth—closer sprites should be larger, and farther ones smaller.
For instance, a sprite in the background might be scaled to 50% of its original size, while a foreground sprite remains at 100%.
Additionally, use a variable like scrollO (specific to each sprite) to maintain individual positions when using clones, especially for repeating elements like terrain.
You can also enhance the effect by adding a translucent overlay sprite in front, adjusting its ghost effect to create a filtering or atmospheric look, similar to a window view.
This layer can be controlled independently to add depth and realism.
While Scratch does not support true 3D graphics, these methods allow for convincing 3D-like scrolling landscapes using 2D sprites and careful layering.
For a practical example, analyze projects like the 3D View Landscape on Scratch, which uses 15 layers and precise positioning to simulate depth.
AI-generated answer. Please verify critical facts.
Please know: this was copied from brave and im not sure if this actualy works
Creating 3D effects in Scratch is possible, though it is not a true 3D engine, and the results are typically pseudo-3D or 2.5D.
While Scratch is fundamentally a 2D platform, several techniques allow users to simulate 3D environments and objects.
One of the most common and effective methods is raycasting, which uses a “ray” fired from the player's viewpoint to measure distances to walls or objects in a 2D map, then renders vertical lines on screen to simulate depth.
The closer a wall is to the player, the taller and brighter the line appears, creating a convincing 3D illusion.
A simple 3D engine can be built in just a few minutes using basic math and Scratch’s pen extension.
By applying the formula screen_x=x/z and screen_y=y/z, objects can be projected onto a 2D screen with depth perception, where z represents depth.
To improve visual quality, a focal length (fov) is often applied, such as x×(focal/z) and y×(focal/z), which helps prevent distortion and makes the 3D effect more natural.
Alternative methods include using clones to represent 3D elements, such as in voxel-based games, or creating stacked costume slices to simulate 3D objects from a top-down view.
These approaches can be less computationally intensive but may result in blockier or less smooth visuals.
For beginners, tutorials on platforms like YouTube demonstrate how to create a 3D maze game in under a minute using a combination of a player sprite, a sensing dot, and a draw object with the pen tool.
While some claim that 3D in Scratch is easy once the core principles are understood
, it still requires a solid grasp of Scratch basics, including variables, custom blocks, and event handling.
The process involves first building a 2D game—such as a maze—before applying 3D rendering techniques.
Although Scratch does not have a native 3D version, tools like Creaticode offer enhanced features including 3D capabilities, though they are not official Scratch extensions.
In summary, while true 3D rendering is not supported, Scratch users can create compelling 3D-like experiences using raycasting, perspective projection, and creative use of clones or costumes.
but i do know a way of how to do it
To create a 3D scrolling effect in Scratch, you can simulate depth by using multiple layers of sprites with varying sizes and scrolling speeds. The closer a sprite is to the viewer, the larger it appears and the faster it moves, while distant sprites are smaller and scroll more slowly.
This technique mimics the parallax effect seen when looking out of a train window, where nearby objects pass by quickly and distant ones move slowly.
Begin by creating multiple layers of sprites representing different depths. For example, place a foreground layer (like trees or buildings) in front, followed by midground and background layers.
Each layer should be assigned a different size and scrolling speed. Use a variable, such as scrollX, to control the horizontal position of the stage, and have each sprite adjust its position based on this variable.
The formula for positioning a sprite is x = (scrollX) + (480 * position), where position refers to the layer's place in the world (0 for the first screen, 1 for the next, etc.).
To achieve the 3D illusion, scale each sprite to reflect its depth—closer sprites should be larger, and farther ones smaller.
For instance, a sprite in the background might be scaled to 50% of its original size, while a foreground sprite remains at 100%.
Additionally, use a variable like scrollO (specific to each sprite) to maintain individual positions when using clones, especially for repeating elements like terrain.
You can also enhance the effect by adding a translucent overlay sprite in front, adjusting its ghost effect to create a filtering or atmospheric look, similar to a window view.
This layer can be controlled independently to add depth and realism.
While Scratch does not support true 3D graphics, these methods allow for convincing 3D-like scrolling landscapes using 2D sprites and careful layering.
For a practical example, analyze projects like the 3D View Landscape on Scratch, which uses 15 layers and precise positioning to simulate depth.
AI-generated answer. Please verify critical facts.
Please know: this was copied from brave and im not sure if this actualy works
Creating 3D effects in Scratch is possible, though it is not a true 3D engine, and the results are typically pseudo-3D or 2.5D.
While Scratch is fundamentally a 2D platform, several techniques allow users to simulate 3D environments and objects.
One of the most common and effective methods is raycasting, which uses a “ray” fired from the player's viewpoint to measure distances to walls or objects in a 2D map, then renders vertical lines on screen to simulate depth.
The closer a wall is to the player, the taller and brighter the line appears, creating a convincing 3D illusion.
A simple 3D engine can be built in just a few minutes using basic math and Scratch’s pen extension.
By applying the formula screen_x=x/z and screen_y=y/z, objects can be projected onto a 2D screen with depth perception, where z represents depth.
To improve visual quality, a focal length (fov) is often applied, such as x×(focal/z) and y×(focal/z), which helps prevent distortion and makes the 3D effect more natural.
Alternative methods include using clones to represent 3D elements, such as in voxel-based games, or creating stacked costume slices to simulate 3D objects from a top-down view.
These approaches can be less computationally intensive but may result in blockier or less smooth visuals.
For beginners, tutorials on platforms like YouTube demonstrate how to create a 3D maze game in under a minute using a combination of a player sprite, a sensing dot, and a draw object with the pen tool.
While some claim that 3D in Scratch is easy once the core principles are understood
, it still requires a solid grasp of Scratch basics, including variables, custom blocks, and event handling.
The process involves first building a 2D game—such as a maze—before applying 3D rendering techniques.
Although Scratch does not have a native 3D version, tools like Creaticode offer enhanced features including 3D capabilities, though they are not official Scratch extensions.
In summary, while true 3D rendering is not supported, Scratch users can create compelling 3D-like experiences using raycasting, perspective projection, and creative use of clones or costumes.
Last edited by abraham93420 (Dec. 31, 2025 11:52:51)
- abraham93420
-
Scratcher
76 posts
3D on scratch, And how it's professionally accomplished
How to Create a 3D Game on Scratch
pedrohenriquelimaabreuBy pedrohenriquelimaabreuFollow
About: My hobbies are Photography, Music and Electronics More About pedrohenriquelimaabreu »
So, how is it possible to create a 3D game on a 2D gaming platform? in fact, this is still a 2d game, but with the use of a technique called Ray-Casting. So, what is ray-casting, and where did it come from? in the past, when our home computers were unable to process those large amounts of information as they do today, a 3D game was ahead of its time, but in 1992 Wolfenstein 3D was launched by ID software introducing this technique, and in 1993 ID software launched another game called DOOM, which is what most people recognize. The role of ray-casting here is to make a 2D map look like a 3D map. During this step by step, you will understand how it works and creates your own game using ray-casting
Step 1: Creating a Simple 2d Maze
Creating a Simple 2d Maze
Creating a Simple 2d Maze
Creating a Simple 2d Maze5 More Images
(all the images above are in chronological order with the text)
Before the 3d part starts, we need to create a 2d game so then we use ray-casting to give the impression of a 3d game.
First, you just have to create a sprite called “maze” and draw a simple maze. In my case, I just downloaded an image from google and then traced it over using the line tool. the only line of code you need is to centralize the maze on the screen.
PS: small spaces are good to improve performance
then you can clone the maze sprite and call it “Exit”. all you have to do here is trace lines on your map in the places you want to end the game, and after that, you can delete the maze(the clone) and only leave the exits. after that, you need to trigger the winning message to display it by using the code above.
Now you write some text for the winning message as a new sprite, and for the code when it receives the win broadcast it shows up.
Finally the for the player itself, you just need to draw a simple small box and then code its movement script. you can use your movement code of choice, in the images above I put a movement script that uses WASD, but you can change for arrows if you want to.
In the end, you should have a simple 2D top-view maze game
Step 2: Making a Radar
Making a Radar
Making a Radar
Making a Radar
Making a Radar
Now the real fun begins.
ok so, how are we going to transform this 2D game into a 3D game? First, let's imagine that our player has a big rule, and then he starts to measure his distance in relation to the walls in various angles while annotating all of them on a piece of paper. with those numbers, we can use some math to generate an image based on them. and if the player walks one step he makes this process all again.
that is the role of the radar here. Now I will show you how to code the radar.
for the radar, you just need a little dot and some code, in the images above you have the code(image 1) and I will explain here.
First, you create a custom block (pink circle in the block picker) called calc {!IMPORTANT! -when creating the Calc block you MUST SELECT RUN WITHOUT SCREEN REFRESH option otherwise the Radar WON'T WORK (image 2)} we do this to allow the radar to be super fast when calculating the distances.
then you create two variables (distances and angles) and one list (dists) briefly explaining, the radar will point -50 degrees in relation to the player's angle and walk one step and add 1 to distance until it reaches one maze wall or the maximum distance (50). after that, it will save that distance to the dist list and start all over again but now at - 49 degrees. it will do this 100 times (+50 degrees) because -50 + 50 = 100 in this case the field of view of the player will be 100 degrees(50 left 50 right).
to finish you just have to activate that radar, to do this you just have to broadcast a message every time the player moves (see image 4). Now if you want to see the radar in action use the second code above (image 3) to see it (remember to revert to the first code after that).
Step 3: Final Step - the Render
Final Step - the Render
I have to say if you made up through here you are lucky this part is very short, the explanation is very big but the code itself is very simple (image above) just remember to set the block to run without screen refresh. Ps, this sprite doesn't need to paint anything you only need code.
the short version of the explanation is the sprite will draw thicker, taller, and brighter lines when the distance calculated by the radar is closer and thinner, shorter, and darker lines when the distance is closer.
Step 4: Credits, Fonts, Study Materials and More
The video that I based my project:
The video that the video I saw was based (you don't read wrong):
Step 5: Final Words
Final Words
Final Words
Final Words
Please remember, this is only the base, from here you can modify it and do what you want like a racing game or a shooter. and even if you don't want to make a whole new game you can simply modify this one like making a compass, like I did in my version (image 1) or reverse light (image 2) or rainbow walls (image 3), a mini-map, a gun, or anything you want just be creative.
pedrohenriquelimaabreuBy pedrohenriquelimaabreuFollow
About: My hobbies are Photography, Music and Electronics More About pedrohenriquelimaabreu »
So, how is it possible to create a 3D game on a 2D gaming platform? in fact, this is still a 2d game, but with the use of a technique called Ray-Casting. So, what is ray-casting, and where did it come from? in the past, when our home computers were unable to process those large amounts of information as they do today, a 3D game was ahead of its time, but in 1992 Wolfenstein 3D was launched by ID software introducing this technique, and in 1993 ID software launched another game called DOOM, which is what most people recognize. The role of ray-casting here is to make a 2D map look like a 3D map. During this step by step, you will understand how it works and creates your own game using ray-casting
Step 1: Creating a Simple 2d Maze
Creating a Simple 2d Maze
Creating a Simple 2d Maze
Creating a Simple 2d Maze5 More Images
(all the images above are in chronological order with the text)
Before the 3d part starts, we need to create a 2d game so then we use ray-casting to give the impression of a 3d game.
First, you just have to create a sprite called “maze” and draw a simple maze. In my case, I just downloaded an image from google and then traced it over using the line tool. the only line of code you need is to centralize the maze on the screen.
PS: small spaces are good to improve performance
then you can clone the maze sprite and call it “Exit”. all you have to do here is trace lines on your map in the places you want to end the game, and after that, you can delete the maze(the clone) and only leave the exits. after that, you need to trigger the winning message to display it by using the code above.
Now you write some text for the winning message as a new sprite, and for the code when it receives the win broadcast it shows up.
Finally the for the player itself, you just need to draw a simple small box and then code its movement script. you can use your movement code of choice, in the images above I put a movement script that uses WASD, but you can change for arrows if you want to.
In the end, you should have a simple 2D top-view maze game
Step 2: Making a Radar
Making a Radar
Making a Radar
Making a Radar
Making a Radar
Now the real fun begins.
ok so, how are we going to transform this 2D game into a 3D game? First, let's imagine that our player has a big rule, and then he starts to measure his distance in relation to the walls in various angles while annotating all of them on a piece of paper. with those numbers, we can use some math to generate an image based on them. and if the player walks one step he makes this process all again.
that is the role of the radar here. Now I will show you how to code the radar.
for the radar, you just need a little dot and some code, in the images above you have the code(image 1) and I will explain here.
First, you create a custom block (pink circle in the block picker) called calc {!IMPORTANT! -when creating the Calc block you MUST SELECT RUN WITHOUT SCREEN REFRESH option otherwise the Radar WON'T WORK (image 2)} we do this to allow the radar to be super fast when calculating the distances.
then you create two variables (distances and angles) and one list (dists) briefly explaining, the radar will point -50 degrees in relation to the player's angle and walk one step and add 1 to distance until it reaches one maze wall or the maximum distance (50). after that, it will save that distance to the dist list and start all over again but now at - 49 degrees. it will do this 100 times (+50 degrees) because -50 + 50 = 100 in this case the field of view of the player will be 100 degrees(50 left 50 right).
to finish you just have to activate that radar, to do this you just have to broadcast a message every time the player moves (see image 4). Now if you want to see the radar in action use the second code above (image 3) to see it (remember to revert to the first code after that).
Step 3: Final Step - the Render
Final Step - the Render
I have to say if you made up through here you are lucky this part is very short, the explanation is very big but the code itself is very simple (image above) just remember to set the block to run without screen refresh. Ps, this sprite doesn't need to paint anything you only need code.
the short version of the explanation is the sprite will draw thicker, taller, and brighter lines when the distance calculated by the radar is closer and thinner, shorter, and darker lines when the distance is closer.
Step 4: Credits, Fonts, Study Materials and More
The video that I based my project:
The video that the video I saw was based (you don't read wrong):
Step 5: Final Words
Final Words
Final Words
Final Words
Please remember, this is only the base, from here you can modify it and do what you want like a racing game or a shooter. and even if you don't want to make a whole new game you can simply modify this one like making a compass, like I did in my version (image 1) or reverse light (image 2) or rainbow walls (image 3), a mini-map, a gun, or anything you want just be creative.
Last edited by abraham93420 (Dec. 31, 2025 15:03:12)
- ultracat31
-
Scratcher
36 posts
3D on scratch, And how it's professionally accomplished
How to Create a 3D Game on ScratchLet's play the game of: How long does it take for someone to complain the engine described is technically 2.5D.
pedrohenriquelimaabreuBy pedrohenriquelimaabreuFollow
Very Long Multi Paragraph Instructions…
Last edited by ultracat31 (Dec. 31, 2025 22:52:54)
- hashdashpotato
-
Scratcher
1000+ posts
3D on scratch, And how it's professionally accomplished
:-(We are not doing this.
- Raman15
-
Scratcher
100+ posts
3D on scratch, And how it's professionally accomplished
Happy new years guys! It may be morning for you guys but Iive in a different country:-(We are not doing this.
- Raman15
-
Scratcher
100+ posts
3D on scratch, And how it's professionally accomplished
@GL00B Im planning to add 3D into my studio! Check it out in my profile on the Studios I follow or Studios I curateI’m making a CSV coding engine IDEGL00B, I love your projects! They are actually really good! I’m actually working on a coding engine but it’s not 3DHi, I'm sorry. I wasn't wearing my glasses, you seem to have said “already ready”, which you are completely correct. I seam to have read it as “Already released” or something, so yeah, Sorryhuh, misinformation… the engine isn't released yet..Didn't said that, just told that the engine was already really advanced. Its a bit confusing sorrybut it’s at least good and you can post your games!

