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?

  • mapto
    link
    fedilink
    English
    arrow-up
    4
    ·
    edit-2
    14 hours ago

    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.

    • Alavi@programming.devOP
      link
      fedilink
      arrow-up
      1
      ·
      5 hours ago

      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
        link
        fedilink
        English
        arrow-up
        2
        ·
        4 hours ago

        Regarding your last point, I totally share that disposition, but I’d think math/functional is a different type of skill/competence and its basics have way too little to do with computers. Probably the most relevant here is that pure dynamically typed languages like smalltalk, logo, python and JavaScript (the ones that you’ll probably end up teaching anyway) are so versatile that they successfully implement both the functional and object-oriented paradigms, so you can choose how to look at them.

    • mapto
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      14 hours ago

      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.

      • a_non_monotonic_function@lemmy.world
        link
        fedilink
        arrow-up
        2
        ·
        5 hours ago

        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.

          • a_non_monotonic_function@lemmy.world
            link
            fedilink
            arrow-up
            2
            ·
            4 hours ago

            I just went to the resources page and they appear to have a number of how to use, lessons, etc. Is that what you’re talking about?

            By the way, you’re not going to find too much documentation into things like syntax. Unless it’s changed dramatically I believe it’s a visual language. Drag and drop.

    • mapto
      link
      fedilink
      English
      arrow-up
      2
      ·
      14 hours ago

      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.

  • JakenVeina@midwest.social
    link
    fedilink
    arrow-up
    2
    ·
    edit-2
    21 hours ago

    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.

  • doyun@lemmy.world
    link
    fedilink
    arrow-up
    9
    ·
    2 days ago

    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
    link
    fedilink
    arrow-up
    7
    ·
    2 days ago
    • mapto
      link
      fedilink
      English
      arrow-up
      1
      ·
      14 hours ago

      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

      • dandi8@fedia.io
        link
        fedilink
        arrow-up
        2
        ·
        2 days ago

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

  • ArseAssassin@sopuli.xyz
    link
    fedilink
    arrow-up
    6
    ·
    2 days ago

    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.

      • sudoMakeUser@sh.itjust.works
        link
        fedilink
        arrow-up
        4
        ·
        2 days ago

        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.

        • Alavi@programming.devOP
          link
          fedilink
          arrow-up
          2
          ·
          2 days ago

          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
            link
            fedilink
            arrow-up
            2
            ·
            2 days ago

            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
              link
              fedilink
              English
              arrow-up
              1
              ·
              14 hours ago

              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.

      • Herbal Gamer@sh.itjust.works
        link
        fedilink
        arrow-up
        5
        ·
        2 days ago

        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.

    • Alavi@programming.devOP
      link
      fedilink
      arrow-up
      3
      ·
      2 days ago

      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
        link
        fedilink
        arrow-up
        3
        ·
        2 days ago

        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
        link
        fedilink
        English
        arrow-up
        2
        ·
        2 days ago

        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

      • makeshift0546@lemmy.today
        link
        fedilink
        arrow-up
        4
        arrow-down
        6
        ·
        2 days ago

        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.

  • sumsinj@lemmy.world
    link
    fedilink
    arrow-up
    3
    ·
    2 days ago

    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

    • Alavi@programming.devOP
      link
      fedilink
      arrow-up
      2
      ·
      2 days ago

      Yeah I mostly agree. Godot seems too complex though. But I’ve never worked with it. Will give it a try.

    • psycotica0@lemmy.ca
      link
      fedilink
      arrow-up
      4
      ·
      2 days ago

      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
        link
        fedilink
        arrow-up
        1
        ·
        2 days ago

        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
          link
          fedilink
          arrow-up
          2
          ·
          2 days ago

          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.