3
$\begingroup$

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.

$\endgroup$
4
  • 1
    $\begingroup$ The scratch wiki actually lists a couple of alternatives including 3D tools. I have used none of them but might be worth checking out: en.scratch-wiki.info/wiki/Alternatives_to_Scratch $\endgroup$
    – Max
    Commented Oct 6, 2022 at 9:34
  • 3
    $\begingroup$ @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. $\endgroup$
    – Anna
    Commented Oct 6, 2022 at 10:37
  • $\begingroup$ 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. $\endgroup$
    – Aiken Drum
    Commented Nov 14, 2022 at 16:15
  • $\begingroup$ PS: It'd no be longer Scratch-ing the surface, so call it Scratch Deep(er), or maybe Dig. ;) $\endgroup$
    – Aiken Drum
    Commented Nov 14, 2022 at 16:19

5 Answers 5

2
$\begingroup$

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/

$\endgroup$
2
  • 2
    $\begingroup$ From just seeing the screenshots in your link, building something in Unreal Engine Blueprints does seem way more complicated than in Scratch $\endgroup$
    – Anna
    Commented Oct 5, 2022 at 21:15
  • $\begingroup$ 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 ;) $\endgroup$
    – Max
    Commented Oct 6, 2022 at 9:32
2
$\begingroup$

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) 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 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) 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:

Going this route also has the added benefit of extending deeper with more full-featured game engines like Phaser which is also in JavaScript.

$\endgroup$
0
$\begingroup$

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, …).

$\endgroup$
5
  • $\begingroup$ 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? $\endgroup$
    – Anna
    Commented Oct 8, 2022 at 12:53
  • $\begingroup$ @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. $\endgroup$ Commented Oct 8, 2022 at 13:20
  • $\begingroup$ @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 $\endgroup$
    – Max
    Commented Oct 10, 2022 at 9:43
  • $\begingroup$ extremely frustrating if things don't go as planned or you do eventualy run into "math" issues. $\endgroup$
    – Max
    Commented Oct 10, 2022 at 9:44
  • $\begingroup$ 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. $\endgroup$
    – Anna
    Commented Oct 10, 2022 at 14:36
0
$\begingroup$

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.

$\endgroup$
1
  • $\begingroup$ 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. $\endgroup$
    – Anna
    Commented Nov 10, 2022 at 9:47
0
$\begingroup$

there is a new startup that does that: https://edu.cospaces.io/Studio

$\endgroup$
1
  • 2
    $\begingroup$ 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? $\endgroup$
    – Anna
    Commented Nov 22, 2023 at 12:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.