Answers.Body: <p>I'm not sure it's at the right level for a 10-year-old, as it's aimed for professional developers, but you can write game logic in Unreal Engine without any code, using its <strong>Blueprints</strong> visual scripting tool. Here's the official quick start guide - <a href="https://docs.unrealengine.com/5.0/en-US/quick-start-guide-for-blueprints-visual-scripting-in-unreal-engine/" rel="nofollow noreferrer">https://docs.unrealengine.com/5.0/en-US/quick-start-guide-for-blueprints-visual-scripting-in-unreal-engine/</a></p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-10-05T21:15:05.877Z
Answers.Text: From just seeing the screenshots in your link, building something in Unreal Engine Blueprints does seem way more complicated than in Scratch
Answers.UserDisplayName: Anna
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-10-06T09:32:59.933Z
Answers.Text: Well, Scratch is purpose built educational software, Unreal 5 is a (more or less?) state of the art game and 3D-rendering engine used to build actual games and movies and blueprints seems to be made to be actually used by professionals ;)
Answers.UserDisplayName: Max
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-10-05T19:42:39.573Z
Answers.LastActivityDate: 2022-10-05T19:42:39.573Z
Answers.UserDisplayName: yoniLavi
Answers.Body: <blockquote>
  <p>I want to avoid typing code.</p>
  </blockquote>
  <p>Unfortunately don't have an exact solution for what you're looking for as this does involve typing code, <em>but</em> I thought perhaps you could find this answer insightful and at least a more approachable solution than some others.</p>
  <p>I took a single game development class in school and we used processingJS(now <a href="https://p5js.org/" rel="nofollow noreferrer">p5js</a>) as a low-level engine for drawing content in a browser to build simple web-based games including some in 3D. At the time, Khan Academy had some great interactive courses that used processingJS from drawing shapes, to making those shapes move, to building rudimentary games and all of the setup was done for you inside of KA. Looking now I can find <a href="https://www.khanacademy.org/computing/computer-programming/programming-games-visualizations#programming-3d-shapes" rel="nofollow noreferrer">this</a> which is different than what I used in the past as times have changed and I think this uses HTML5 canvas in place of processing, but it still seems like a pretty good intro into game development.</p>
  <p>p5js in particular was originally developed &quot;for creative coding, with a focus on making coding accessible and inclusive for artists, designers, educators, beginners, and anyone else&quot; (<a href="https://p5js.org/#:%7E:text=p5.js%20is%20a%20JavaScript%20library%20for%20creative%20coding%2C%20with%20a%20focus%20on%20making%20coding%20accessible%20and%20inclusive%20for%20artists%2C%20designers%2C%20educators%2C%20beginners%2C%20and%20anyone%20else!" rel="nofollow noreferrer">link</a>) so it could be a good place to start dipping into programming for non-programmers. It's also web-based so setup/installation isn't too terrible since you're building for any browser and it means any games you make can easily publish to the web and be playable from anywhere. There are also a ton of resources online - here are some examples to give you a feel:</p>
  <ul>
  <li><a href="https://www.youtube.com/c/TheCodingTrain" rel="nofollow noreferrer">https://www.youtube.com/c/TheCodingTrain</a> - a YouTube channel with a bunch of beginner programming with P5.JS and then live coding of things like the snake game or space invaders</li>
  <li><a href="https://openprocessing.org/sketch/923164/" rel="nofollow noreferrer">https://openprocessing.org/sketch/923164/</a> - I <em>believe</em> this is processing/p5js</li>
  <li><a href="https://p5js.org/learn/" rel="nofollow noreferrer">https://p5js.org/learn/</a> - there's a 3D section in here too</li>
  </ul>
  <p>Going this route also has the added benefit of extending deeper with more full-featured game engines like <a href="https://phaser.io/" rel="nofollow noreferrer">Phaser</a> which is also in JavaScript.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-10-27T16:06:21.633Z
Answers.LastActivityDate: 2022-10-27T16:06:21.633Z
Answers.UserDisplayName: ccchoy
Answers.Body: <p>Have they done 2D games yet? If so then a next step may be parallax scroll, or other pseudo 3D effects. I imagine that the math of full 3D will be very hard (Vectors, trigonometry, …).</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-10-08T12:53:26.480Z
Answers.Text: I'm not convinced 3D would innately be that much harder with a proper Scratch-like framework. Are you sure you'd need more vectors and trigonometry than in a Scratch game?
Answers.UserDisplayName: Anna
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-10-08T13:20:52.783Z
Answers.Text: @Anna. Not sure about anything. And it will depend on how 3D it is. Parallax scroll is mostly 2D. 3D models behaving 2D is 2D.
Answers.UserDisplayName: ctrl-alt-delor
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-10-10T09:43:55.810Z
Answers.Text: @anna Depends: Starlogo does apparently exactly this. (I have no experience with either scratch nor starlogo, just scrolled through the available commands). The thing is you can get away with a lot of things in 2D which just don't translate well in 3D and if you do run into a problem, i.e. no scratch command so you have to solve for yourself, things get a lot more complicated really fast. The other question is why? From an educational standpoint going to 3D from 2D does nothing but introduce complicated R³ math. Most other concepts can be done in 2D. I know it might be fun but it might be
Answers.UserDisplayName: Max
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-10-10T09:44:48.480Z
Answers.Text: extremely frustrating if things don't go as planned or you do eventualy run into "math" issues.
Answers.UserDisplayName: Max
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-10-10T14:36:04.510Z
Answers.Text: Thanks @Max, I'll check Starlogo out! The only reason for us to go 3D is that my student belongs to the Roblox generation and gets a lot more excited by 3D games.
Answers.UserDisplayName: Anna
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-10-08T10:23:32.990Z
Answers.LastActivityDate: 2022-10-08T10:23:32.990Z
Answers.UserDisplayName: ctrl-alt-delor
Answers.Body: <p>This isn't 3d, but a good next step for visual programming after scratch is Snap!. This is a more complex spin-off of Scratch, which adds more programming concepts to the same familiar style of visual language (such as local variables, functions, arguments, and return values)</p>
  <p>An alternative to this is to teach a text-based programming language with a simple 2d game canvas, such as Python and PyGame. This is another way to introduce more programming concepts, and this is more like the programming most programmers do.</p>
  <p>For 3d visual programming, there is Unreal Engine blueprints. Everything about 3d is more complex, and the unreal-engine visual scripting is going to have many many concepts foreign to a scratch programmer, but if the student is resourceful they can learn quite a bit from youtube tutorials.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-11-10T09:47:11.077Z
Answers.Text: Thanks for the answer, though it seems these suggestions don't solve my question. In a few years I'll see if Unreal Engine Blueprints might be interesting for 3D, but this is far beyond my student who has only been doing simple visual block programming.
Answers.UserDisplayName: Anna
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-11-10T06:37:54.643Z
Answers.LastActivityDate: 2022-11-10T06:37:54.643Z
Answers.UserDisplayName: David Jeske
Answers.Body: <p>there is a new startup that does that:
  <a href="https://edu.cospaces.io/Studio" rel="nofollow noreferrer">https://edu.cospaces.io/Studio</a></p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2023-11-22T12:25:54.243Z
Answers.Text: Thank you, that looks interesting. I can't see any code on the website, neither samples nor sources for the gallery. Do I need to sign in for that?
Answers.UserDisplayName: Anna
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2023-11-22T08:34:40.373Z
Answers.LastActivityDate: 2023-11-22T08:34:40.373Z
Answers.UserDisplayName: heyttheree
Body: <p>I'm helping a 10-year-old learn to program simple games in Scratch. He's expressed interest in making a simple 3D game. Is there any Scratch-like environment or programming language for creating simple 3D games?</p>
  <p>I want to avoid typing code.</p>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2022-10-06T09:34:41.513Z
Comments.Text: The scratch wiki actually lists a couple of alternatives including 3D tools. I have used none  of them but might be worth checking out: https://en.scratch-wiki.info/wiki/Alternatives_to_Scratch
Comments.UserDisplayName: Max
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2022-10-06T10:37:58.223Z
Comments.Text: @Max Thank you! I'll check out the projects listed on that page! For reference, they're: BeetleBlocks, Alice, StarLogo-TNG, StarLogo Nova and CODE.GAME Box.
Comments.UserDisplayName: Anna
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2022-11-14T16:15:50.240Z
Comments.Text: I realize this doesn't directly answer your question, so I'm just going to say it here: Have you considered petitioning the people at MIT who maintain Scratch to create an advanced/intermediate version? It might have additional capabilities for people who want to learn more about the processes involved in 3D rendering or other more advanced topics, while still working in the familiar environment of Scratch, a bit like someone in the past might have first learned C and then moved over to C++ for its native object-oriented features.
Comments.UserDisplayName: Aiken Drum
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2022-11-14T16:19:38.163Z
Comments.Text: PS: It'd no be longer Scratch-ing the surface, so call it Scratch Deep(er), or maybe Dig. ;)
Comments.UserDisplayName: Aiken Drum
Tags: <resource-request><primary-school><scratch>
Title: Scratch-like environment for 3D game programming
ThreadText: # Scratch-like environment for 3D game programming
  
  (Asked by: username_0 on 2022-10-03)
  
  I'm helping a 10-year-old learn to program simple games in Scratch. He's expressed interest in making a simple 3D game. Is there any Scratch-like environment or programming language for creating simple 3D games?
  
  I want to avoid typing code.
  
  **Tags:** resource-request, primary-school, scratch
  
  > **Comments:**
  > **username_1**: The scratch wiki actually lists a couple of alternatives including 3D tools. I have used none  of them but might be worth checking out: https://en.scratch-wiki.info/wiki/Alternatives_to_Scratch  
  > **username_0**: @username_1 Thank you! I'll check out the projects listed on that page! For reference, they're: BeetleBlocks, Alice, StarLogo-TNG, StarLogo Nova and CODE.GAME Box.  
  > **username_2**: I realize this doesn't directly answer your question, so I'm just going to say it here: Have you considered petitioning the people at MIT who maintain Scratch to create an advanced/intermediate version? It might have additional capabilities for people who want to learn more about the processes involved in 3D rendering or other more advanced topics, while still working in the familiar environment of Scratch, a bit like someone in the past might have first learned C and then moved over to C++ for its native object-oriented features.  
  > **username_2**: PS: It'd no be longer Scratch-ing the surface, so call it Scratch Deep(er), or maybe Dig. ;)  
  
  ---
  
  ## 5 answers
  
  ### Answer by username_3 on 2022-10-05. Score: 2
  
  I'm not sure it's at the right level for a 10-year-old, as it's aimed for professional developers, but you can write game logic in Unreal Engine without any code, using its **Blueprints** visual scripting tool. Here's the official quick start guide - <https://docs.unrealengine.com/5.0/en-US/quick-start-guide-for-blueprints-visual-scripting-in-unreal-engine/>
  
  > **Comments:**
  > **username_0**: From just seeing the screenshots in your link, building something in Unreal Engine Blueprints does seem way more complicated than in Scratch  
  > **username_1**: Well, Scratch is purpose built educational software, Unreal 5 is a (more or less?) state of the art game and 3D-rendering engine used to build actual games and movies and blueprints seems to be made to be actually used by professionals ;)  
  
  ---
  
  ### Answer by username_4 on 2022-10-27. Score: 2
  
  > I want to avoid typing code.
  
  Unfortunately don't have an exact solution for what you're looking for as this does involve typing code, *but* I thought perhaps you could find this answer insightful and at least a more approachable solution than some others.
  
  I took a single game development class in school and we used processingJS(now [p5js](https://p5js.org/)) as a low-level engine for drawing content in a browser to build simple web-based games including some in 3D. At the time, Khan Academy had some great interactive courses that used processingJS from drawing shapes, to making those shapes move, to building rudimentary games and all of the setup was done for you inside of KA. Looking now I can find [this](https://www.khanacademy.org/computing/computer-programming/programming-games-visualizations#programming-3d-shapes) which is different than what I used in the past as times have changed and I think this uses HTML5 canvas in place of processing, but it still seems like a pretty good intro into game development.
  
  p5js in particular was originally developed "for creative coding, with a focus on making coding accessible and inclusive for artists, designers, educators, beginners, and anyone else" ([link](https://p5js.org/#:%7E:text=p5.js%20is%20a%20JavaScript%20library%20for%20creative%20coding%2C%20with%20a%20focus%20on%20making%20coding%20accessible%20and%20inclusive%20for%20artists%2C%20designers%2C%20educators%2C%20beginners%2C%20and%20anyone%20else!)) so it could be a good place to start dipping into programming for non-programmers. It's also web-based so setup/installation isn't too terrible since you're building for any browser and it means any games you make can easily publish to the web and be playable from anywhere. There are also a ton of resources online - here are some examples to give you a feel:
  
  * <https://www.youtube.com/c/TheCodingTrain> - a YouTube channel with a bunch of beginner programming with P5.JS and then live coding of things like the snake game or space invaders
  * <https://openprocessing.org/sketch/923164/> - I *believe* this is processing/p5js
  * <https://p5js.org/learn/> - there's a 3D section in here too
  
  Going this route also has the added benefit of extending deeper with more full-featured game engines like [Phaser](https://phaser.io/) which is also in JavaScript.
  
  
  ---
  
  ### Answer by username_5 on 2022-10-08. Score: 0
  
  Have they done 2D games yet? If so then a next step may be parallax scroll, or other pseudo 3D effects. I imagine that the math of full 3D will be very hard (Vectors, trigonometry, …).
  
  > **Comments:**
  > **username_0**: I'm not convinced 3D would innately be that much harder with a proper Scratch-like framework. Are you sure you'd need more vectors and trigonometry than in a Scratch game?  
  > **username_5**: @username_0. Not sure about anything. And it will depend on how 3D it is. Parallax scroll is mostly 2D. 3D models behaving 2D is 2D.  
  > **username_1**: @username_0 Depends: Starlogo does apparently exactly this. (I have no experience with either scratch nor starlogo, just scrolled through the available commands). The thing is you can get away with a lot of things in 2D which just don't translate well in 3D and if you do run into a problem, i.e. no scratch command so you have to solve for yourself, things get a lot more complicated really fast. The other question is why? From an educational standpoint going to 3D from 2D does nothing but introduce complicated R³ math. Most other concepts can be done in 2D. I know it might be fun but it might be  
  > **username_1**: extremely frustrating if things don't go as planned or you do eventualy run into "math" issues.  
  > **username_0**: Thanks @username_1, I'll check Starlogo out! The only reason for us to go 3D is that my student belongs to the Roblox generation and gets a lot more excited by 3D games.  
  
  ---
  
  ### Answer by username_6 on 2022-11-10. Score: 0
  
  This isn't 3d, but a good next step for visual programming after scratch is Snap!. This is a more complex spin-off of Scratch, which adds more programming concepts to the same familiar style of visual language (such as local variables, functions, arguments, and return values)
  
  An alternative to this is to teach a text-based programming language with a simple 2d game canvas, such as Python and PyGame. This is another way to introduce more programming concepts, and this is more like the programming most programmers do.
  
  For 3d visual programming, there is Unreal Engine blueprints. Everything about 3d is more complex, and the unreal-engine visual scripting is going to have many many concepts foreign to a scratch programmer, but if the student is resourceful they can learn quite a bit from youtube tutorials.
  
  > **Comments:**
  > **username_0**: Thanks for the answer, though it seems these suggestions don't solve my question. In a few years I'll see if Unreal Engine Blueprints might be interesting for 3D, but this is far beyond my student who has only been doing simple visual block programming.  
  
  ---
  
  ### Answer by username_7 on 2023-11-22. Score: 0
  
  there is a new startup that does that:
  <https://edu.cospaces.io/Studio>
  
  > **Comments:**
  > **username_0**: Thank you, that looks interesting. I can't see any code on the website, neither samples nor sources for the gallery. Do I need to sign in for that?  
  
  ---
  
  