Hi. I want to get my little cousins into computers, and since they're kids, making games are really fun for them. I made a game with them with Love2D and they had a blast (I put their faces on the characters) but I think Love2d is a bit too hard for them.
My main motive for them is to make something and be creative. Programming is just a tool for that.
So something simpler with less code and mental load that let's them create stuff more simply is good.
What do you guys suggest?
38 Comments
doyun@lemmy.world · 9 pts · 2d
I've been teaching scratch as an extra curricular for elementary students for a little over a year. I've taught 10 year olds basic algorithm stuff with it (boolean, if/then) and basic game dev patterns (event loop, signal/listener) with some success. I have had no success with 6 year olds (granted my attention was divided) but the nice thing is that they were content to use it as paint and drag sprites around.
fubarx@lemmy.world · 7 pts · 2d
mapto@feddit.bg · 1 pts · 10h
If this is about age (and it might not be), the age range in question is very sensitive. A typical kid at 6 can't yet read or do simple maths. On the website I found these indicative ages
somegeek@programming.dev · 1 pts · 1d
Thank you these seem great.
ArseAssassin@sopuli.xyz · 6 pts · 2d
Don't know if it's still a thing, but Game Maker is what I really got started on. The visual programming was good enough to get going until I eventually had to learn coding.
somegeek@programming.dev · 2 pts · 1d
Ah it seems pretty cool. will loom into it. Thanks.
slazer2au@lemmy.world · 6 pts · 2d
Isn't this what scratch is made for? Kids learning programming.
somegeek@programming.dev · 6 pts · 2d
yep. Scratch is one option I'm considering.
HerbalGamer@sh.itjust.works · 5 pts · 2d
Probably okay for the 10 year old but let the 6 year old find it by themselves if the sibling picks it up or try when they're around 10yo.
sudoMakeUser@sh.itjust.works · 4 pts · 2d
Scratch is a fantastic entry point. That's where I was put on the path for a software development career.
Someone else mentioned Lego. If you can find the Mindstorms robotics set, that would be a great place. I know they're not cheap at retail and I don't know if they're still offered. But it's a way to get introduced into visual coding but with a physical aspect still.
Heck, even a a Lego motor set like this and some gears and wheels will do a lot for problem solving skills.
somegeek@programming.dev · 2 pts · 1d
Totally agree. I thought about robotics stuff a lot for them. They got hyped when I created a synth with a rpi pico. Maybe I'll buy them an arduino kids robotics kit.
the benefit of the software first approach is that it costs nothing and shows them you don't need to buy stuff to create things neccesarily.
sudoMakeUser@sh.itjust.works · 2 pts · 1d
Didn't think of an Arduino kit but that would be a good low cost entry as well. You don't even need to program it to start. Just basic circuits with switches and lights is a great education tool.
mapto@feddit.bg · 1 pts · 9h
I've always found it weird that Arduino has its own language. On top of it, it's not a really well designed one in the sense that it does not follow a simple paradigm where there are few basic fundamentals and from there it's only vocabulary.
pulsewidth@lemmy.world · 4 pts · 2d
Code.org has some good program for teaching coding for free. Also check out Kahn Academy, and definitely Scratch - as others have mentioned.
makeshift0546@lemmy.today · 4 pts · 2d
Lego. Build a tree fort. Let them play with friends and just be creative.
somegeek@programming.dev · 3 pts · 2d
Lego is great. but they're more into computers. I think them making a game of their own will really spark that spark within them. Legos are usually just models. You can't interact with them that much.
expr@programming.dev · 3 pts · 2d
You can definitely interact with them a lot. Beyond imaginative play (which kids love), you can also give Legos all kids of movement with articulation/technic pieces. The possibilities are quite literally endless. There's a reason that there's so many adults that are Lego enthusiasts.
vrek@programming.dev · 2 pts · 2d
I'm not the original poster but I think they meant the logo programming language. Basically you write a script which moves a turtle around on the screen and draws a line behind them.
It's unrelated to the Lego plastic bricks
ParlimentOfDoom@piefed.zip · 5 pts · 2d
They definitely meant the bricks
makeshift0546@lemmy.today · -2 pts · 2d
Yeah bro, tossing a 6 year old in front of a computer screen to code is definitely a better plan.
This is some misguided helicopter parent shit. If they enjoy computers, then they’ll figure it out.
a_non_monotonic_function@lemmy.world · 3 pts · 14h
Pretty sure you might want Alice.
mapto@feddit.bg · 2 pts · 10h
Wow, great! Didn't know Alice is still a thing. I've remember trying it out when I was a kid when it was little more than a syntax highlighting IDE (or at least that's how I remember it). I see with Alice 2 and Alice 3 it has leapfrogged. Still, scratch/squeak feel more accessible to small kids to me.
a_non_monotonic_function@lemmy.world · 1 pts · 46m
I've talked pretty young kids to use alice. Scratch may have an advantage for extremely young ones, but 6-10 is a perfect age group for it.
somegeek@programming.dev · 1 pts · 1h
Ah this seems cool! Thank you
a_non_monotonic_function@lemmy.world · 2 pts · 47m
It is. When I was in grad school I did some outreach involving kids. Alice is great because not only can you create movement and stuff with the characters on screen, but it's fully interactive. You can essentially make little video games and stuff.
somegeek@programming.dev · 1 pts · just now
I could't find it's docs tho. Syntax, semantics, API etc
dandi8@fedia.io · 3 pts · 1d
Colobot! And Ceebot!
https://colobot.info/
somegeek@programming.dev · 1 pts · 1d
This seems... wierd and cool. Will look into it for sure. Thanks.
dandi8@fedia.io · 2 pts · 1d
FYI IIRC Ceebot is a series and had several different versions, each tailored to a different education level, as it was aimed at teaching programming in schools (Ceebot-A, Ceebot-Teen, Ceebot3, Ceebot4).
Personally, I fell in love with Colobot as a kid (still have the box somewhere, I think), which was the original release, with a protagonist (of a sort) and a story. Ceebot grew out of that, as the devs recognized the engine's potential in education.
All were released for free at some point (including Colobot).
sumsinj@lemmy.world · 3 pts · 2d
I am not too deep into the topic but I'd suggest like any game engine over a framework like love2d. Isnt godot like only dependant on coding for optimization (fact check me on this one)? If you want to stick with lua there are also a few options for game engines
psycotica0@lemmy.ca · 4 pts · 2d
In what sense do you mean Godot only needs code for optimization? How do you think it... becomes a game? Especially a particular game versus any other?
Maybe you're using a different definition of coding though? Like maybe GDScript is scripting, and it's only coding if it's from the coding region of C#?
sumsinj@lemmy.world · 1 pts · 1d
I haven't used godot, so I only have some surface knowledge of it. One thing being that there are nodes, and that they are quite a powerful tool. Maybe these nodes can store some functions, in which case you only need to be able to write a function, but the structure and overall concept are not reliant on code (MAYBE, I do not know).
but op was mentioning love2d, which I have tried and it is only a framework based on the lua language. if you want to create an object, you have to code it. Which is why I refered op to an actual game engine which implements features to reduce the complexity of coding, being able to draw an object or node or whatever and give it function x as a property is way easier than using a framework.
Godot only needing code for optimization is just oversimplefied and not actually me knowing the engine. As far as I know the nodes lack performance compared to optimized code for the same task
psycotica0@lemmy.ca · 2 pts · 1d
Godot's nodes do lots of stuff, but also nothing. They're very modular, and from their tree structure and scene structure you can get away with not having to do a bunch of instantiation, which is nice. But they still only provide pieces of functionality, like animating some properties or detecting collisions, etc.
They're handy, but they don't contain any game logic in them, they're just functionality. If you want to make a game, then you need to hook the collision detector to a function in the script for your node, and the function in the script needs to trigger a particular animation, etc.
The scripting language is similar to Python but different.
I like Godot, I think it's a great visual editor for the visual stuff, but there's definitely still programming in there. But it's typically gentle programming, as much as it can be, with good editor integration and pretty good error messages and debugging, etc., in my experience.
somegeek@programming.dev · 2 pts · 1d
Yeah I mostly agree. Godot seems too complex though. But I've never worked with it. Will give it a try.
JakenVeina@midwest.social · 2 pts · 16h
Shenzhen I/O is worth a look. Puzzle game that has you litterally write programs in a minimal assembly language. Same developer also has SpaceChem and Opus Magnum, which are very very similar, in the skillsets they exercise, just under different premises than writing literal assembly code.
mapto@feddit.bg · 2 pts · 9h
I have a son that's about to turn 6 now. Since the age of two I've been playing with him with Cubetto https://primotoys.com/. Cubetto is a no-screen programming of a robot using physical directional shapes.
When I help them with a playful narrative (I've even written an article about it), he and his friends enjoyed it a lot. They play with moving it around.
However, my observation is that at this age they are not ready for the more advanced feature of reexecutable code (the Cubetto board has this equivalent of a callable procedure). They struggle even with the simpler random or invert commands (which are an extension pack actually).
One nice thing is that there is a learning path towards disassembling the robot and potentially (unofficially) towards reprogramming its Arduino. So kids can also tinker with at later age.
As you can see, I'm quite enthusiastic about the technology and could share some further resources, if anyone cares to read them.
somegeek@programming.dev · 1 pts · 1h
This is great, although not available in my region. I'll see if I can find one.
thanks for sharing. I have played similar games with them with cards and toys. On a grid. Pretty much exactly the same as this but manual. I execute their code and move the character.
This gives them good understanding of what a program is. What an ibterpreter/compiler is and what is execution.
I would also love to drive them more towards mathematical thinking and functional programming instead of procedural and object oriented thinking.
mapto@feddit.bg · 1 pts · 9h
One thing that's pretty cool about your case of having two kids of different ages is that you can make them play a sort of an asymmetric ping-pong game where one becomes the game master/designer to the other.