I have a niece who wants to make a video game. I have 0 experience teaching and am very likely to recommend her some crazy complicated shit that will turn her off to the idea. She’s 8. Anyone have experience with this? Her first instinct was to try and make games in the Roblox engine but I know exactly how exploitative that shit is and how nontransferable those skills are

Libre software is a must

    • ImSoOCD [they/them]
      hexagon
      ·
      3 years ago

      keep her out of danger

      So still a no on the Roblox?

        • ImSoOCD [they/them]
          hexagon
          ·
          3 years ago

          This is very well thought out and I appreciate it. In terms of making art and being creative, I 100% want to spare her as long as possible from the urge to monetize it. She’s essentially been gambling since she was a toddler. The combinations of “surprise” toys and collectibles all rolled into toy franchises with cartoons, complete with animated cartoons and entire Youtube channels dedicated to unboxing them and talking about how fun it was to buy them, this shit has gotten really aggressive. But in terms of stuff that she makes on her own, I will discourage her from commodifying that work for as long as possible

  • crime [she/her, any]
    ·
    3 years ago

    For an 8 year old, definitely Scratch.

    For slightly older kids or anyone who's taken geometry I'll throw Racket (a Scheme dialect) out there — it's a functional language built specifically for learning, the course How To Design Programs uses it and is pretty accessible and specifically has libraries that are used for drawing, coloring, and animating images in a very beginner friendly, digestible way

  • JoeByeThen [he/him, they/them]
    ·
    3 years ago

    Look for Scratch solutions. Once they've got a handle on this there's a number of toys and things that use it. Lego mindstorms, star wars force sensor toys, crap like that.

  • UncleJoe [comrade/them]
    ·
    3 years ago

    Scratch! Very simple and easy to learn, perfect for teaching kids the basics of programming. Then you can go into the more advanced stuff

    • ImSoOCD [they/them]
      hexagon
      ·
      3 years ago

      Will 100% be showing her Scratch. I forgot that existed lol

    • MarxGuns [comrade/them]
      ·
      3 years ago

      2D art has to be nicer for it to overall look nice... i just use basic shapes though so no worries

  • gaycomputeruser [she/her]
    ·
    3 years ago

    Godot is the only proper game engine that's libre that I'd recommend but it's probably too much for an 8y/o. I liked plantsrstillcool's suggestion of using something really simple. Another similar thing might be mcreator for minecraft. It's not foss (it is free) but they understand their audience is kids and the devs generally make appropriate in concern for their target audience. It has the advantage of integrating with an already really popular game.

    • ImSoOCD [they/them]
      hexagon
      ·
      3 years ago

      Agreed on Godot, although apparently their visual programming language is pretty good. I’ll check out MCreator

      • gaycomputeruser [she/her]
        ·
        3 years ago

        If you got any questions about minecraft stuff specifically if you go that route you can dm me I'm not the best but I've been doing technical mc for a long time.

  • comi [he/him]
    ·
    3 years ago

    Would gamemaker studio be fine? Not libre though

    • Neckbeard_Prime [they/them,he/him]
      ·
      edit-2
      3 years ago

      Occasionally available for dirt cheap via Humble Bundle, for whatever that's worth.

      Edit: Unity is also "free," but that has a hell of a learning curve for a kid.

  • EmmaGoldman [she/her, comrade/them]
    ·
    edit-2
    3 years ago

    Alice is a game engine provided for free by Carnegie Mellon University & the National Science Foundation. I believe Oracle is also onboard since it's largely java-based. It's designed for middle school students to make games and have transferrable knowledge into Java, a pretty decent starting language. It's largely drag and drop in much the same way as Unreal or Unity can be these days, so that's definitely transferrable as well.

    I think Alice is one of the more satisfying game engines for kids to learn in, since it's 3d, has a large library of premade assets, and feels like you're actually doing it instead of just sort of telling it what to do and having it do it for you.

  • Owl [he/him]
    ·
    edit-2
    3 years ago

    Javascript/canvas? It's easily transferable, libre, and easy to distribute whatever she makes to her friends. Downside is that all the tutorials make it more complicated than...

    // Treat this part as a magic incantation for now.
    document.addEventListener("DOMContentLoaded", () => {
      let canvas = document.createElement("canvas");
      canvas.width = 256; canvas.height = 256;
      document.body.append(canvas);
      let ctx = canvas.getContext("2d");
      let keys = {};
      document.addEventListener("keydown", function(e) { keys[e.key] = true; });
      document.addEventListener("keyup", function(e) { keys[e.key] = false; });
      // Initialization code here
      let x = 128;
      let y = 128;
      // End initialization
      setInterval(() => {
        // Game step code here
        if (keys.ArrowLeft) { x -= 2; }
        if (keys.ArrowRight) { x += 2; }
        if (keys.ArrowUp) { y -= 2; }
        if (keys.ArrowDown) { y += 2; }
        ctx.fillStyle = "#000";
        ctx.fillRect(0, 0, 256, 256);
        ctx.fillStyle = "#F00";
        ctx.fillRect(x, y, 16, 16);
      }, 16);
    });
    

    Just chuck that into an empty HTML page and you should be good to go.

  • PlantsRstillCool [des/pair]
    ·
    3 years ago

    You could try showing her Bitsy!

    https://ledoux.itch.io/bitsy

    It's a very simple game maker that does the behind the scene stuff for you. You still make little pixel art and dialogue and layout the game. There are a lot of people who do some really creative things with it. I can share a few of my favorites if you're interested

    • ImSoOCD [they/them]
      hexagon
      ·
      3 years ago

      Honestly that’s just something I’ve from developers who have talked about it. Multiple comments on this post about been about transferability of skills in Roblox when I’d hoped it was obvious the larger concern with Roblox is that they’re exploiting child labor and she is a child

    • furryanarchy [comrade/them,they/them]
      ·
      3 years ago

      WTF even uses LUA? In terms of game development, some really old games used it for modding support, but that's pretty much it.

      Language doesn't matter too much when getting started, at least once a minimum level of competency has been reached. But LUA specifically isn't very transferable compared to other languages.

  • determinism2 [he/him]
    ·
    3 years ago

    Here's a browser-based teaching tool for python UI:

    https://py2.codeskulptor.org/

    If you look through the demos you can probably find something that would interest her and try to reimplement it or modify it.

  • RNAi [he/him]
    ·
    3 years ago

    I remember in school they taught us to "program" a tic-tac-toe game in EXCELL

    • Neckbeard_Prime [they/them,he/him]
      ·
      edit-2
      3 years ago

      We learned on HyperCard on the old Macs. Surprisingly, you could slap together a (limited) dungeon crawler RPG in that.

      Edit: Also, Gary Kitchen's Game Maker on the C64 was a blast when I was a kid; I learned a lot of the fundamentals of Commodore BASIC thanks to that, and it had music, sprite, and fullscreen graphics editors built in.