We did it with cardboard, poster board, markers, tape, etc, and built a real-life model/mock-up of the game first. Then we let them play it and only when they actually liked it did we code it.
I found that while some kids want to learn to code, most kids don't care about the code and want to make a game. So if you jump straight to code, you actually make them lose interest. Make the coding a phase 2 once they already know the game is fun.
Pico-8 is a bit simpler and is also based on Lua.
There's also the Playdate console. Anyone can make games for it, and it's also based on Lua (and has its own low-code Pulp engine you can make games with also). That would be a fun way to make games and have a console to play them on.
The console isn't cheap though, and it's easy to break (I dropped it on accident from about 2 feet up and its liquid crystal display cracked and leaked and had to be replaced, at almost the full cost of the console again), so they'd have to be careful with it. But it's fun!
Two approaches: either build as many games as you can, or create a couple physics-based games that can be dissected and modified for insight on mechanics.
Penguin Jumper and Tower Smash highlight Scratch's ability to simulate game physics. They are from Code Your Own Games! Twenty Games to Create with Scratch (2016) by Max Wainewright.
Likely not much can be done on a weekend versus months; regardless of the technology, have at least one "Wow, amazing" thing from community or Steam to show what's possible.
I liked it because it focused on events and had a lot of stuff that was built in like movement I could assign to a sprite etc. After a while I started running up against the limitations of it because it's an event based system and not a programming language. But for that time that was what I really wanted to do, I wanted to make a bunch of small fun games and I was able to do that without worrying about coding, and then I was able to learn that later at my own pace while still having all the fun from the small games I made in the meantime.
It may be different these days because AI can help fill in the gap but that was my experience
Scratch lets the syntax get out of the way, so she can focus on the concepts of what the various puzzle pieces do (loops, conditionals, variables, etc). Feedback is immediate, which makes even simple actions quickly rewarding.
If you want to do some pre-wiring, you can make some stuff in there to get a feel for it and provide some examples.
I made a game in Scratch for my nephews a few years ago. I models it after a web game that made the rounds back when I was in high school that I found fun. They liked it, and the oldest one almost instantly jumped into the code to start tweaking variables to make the game more chaotic. I think he had a little exposure to Scratch at school. He was probably around 11 or 12 at the time.
The nice thing about JS is that there is not very much overhead in setting things up, debugging weird things, restarting.
Small yet covering all basic needs including sound, performant, great examples that you can use as starters (breakout, platformer, puzzle)
I would propose a simple program with a few steps, it can be a console one, to draw a circle, to draw a rectangle, to draw a pink unicorn ;)
Happy, for me, I don't have such problems. My girl wants to be football player.
Take syntax out of the equation and learn basic variables and looping.
Just have fun moving some characters around the screen and have some numbers go up!
Keep it really simple. There could be be a lot of new concepts to learn.
1. Print "You are in a dark dungeon. There is a door ..." 2. Print "Your options are: 1. Open the door 2. Exit 3. Turn on ..." 3. Read a number as input 4. Goto (yes goto) similar code depending on choice.
S&box
Roblox
No?