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

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