I have a Mac and Claude Code Max and Codex, so I am equipped to create AI-slop. I’m happy to do some setup and pre-wiring. Mainly I want her to understand some basics and feel the joy of building something visual in a few hours. Based on historical experience it will have to be something with pink unicorns.
I tried Godot, but it felt like too much complexity for this use case. If we do a bit of pair programming then using Godot would take too long to iterate or explain concepts. I looked at https://github.com/Jibby-Games/Flappy-Race for instance but do not think I could make that work with her in an afternoon or two. I was also unsure how to get or manage game assets.
Would you recommend Godot, Scratch, PICO-8, JS in the browser (p5.js), or something else?
Especially interested in replies from people who’ve actually made games with kids around this age.
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.
As a bonus I also think that if we create conceptual game assets in the pen and paper way first - say a 60 second drawing of her beloved unicorn - she can use some quiet time later to make it more elaborate.
Funny how this is somewhat of an endorsement of vibe coding a prototype.
So "gamified coding" it is. Online platforms with simplified source code (but still actual code), making little animals move on the screen, by using code, to solve challenges. She already did more than 300 such challenges and understood loops and variables. She begins to understand how functions do work, side-effect, pure functions, etc.
But the thing is: she's 11 y/o. I'm the boss. A nice boss, a gentle listening boss. But I'm the boss. I get to decide whether she can spend 16 hours per day in front of screens playing or not (she can't). I get to decide how many time she can play out in the street with the neighbour's kids (as I type this she's doing just that) and how many hours she does maths, code, etc.
Then I apply concepts between maths on paper and code. For example she loves having one variable named "O_o" as a joke.
This shows a great understanding of what a variable is (although a poor choice in naming it!).
Then we do maths, on paper, and I literally generate her exercise on paper sheet with:
O_o = 3 * x + 2 * y + 7
Find me the value of O_o for the following values of x and y.
She loves that: suddenly she sees, on paper, that same O_o variable she sometimes uses in the code as a joke. And she sees me doing the joke.She'll be a rebellious teenager soon enough that, as of now, I still get to decide ; )
P.S: at 11 y/o she doesn't have a phone yet either. That shall come soon enough too.
P.P.S: space repetition too. For maths for example... I see where she's struggling, then it's space repetition mode. I generate her custom exercises and three times a week it's hammering.
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.
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 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.
Small yet covering all basic needs including sound, performant, great examples that you can use as starters (breakout, platformer, puzzle)
The nice thing about JS is that there is not very much overhead in setting things up, debugging weird things, restarting.
Using the "memory" game as an example, do you want the problems you solve to be how to shuffle the cards in a random order, or do you want to be solving why the cards all positioned weirdly because PhaserJS defines an anchor "origin" point in objects and by default that's x 0.5 / y 0.5 which means 50% width / 50% height aka the center of the object so you need to either set their origin to x 0 / y 0 or factor that into their position by subtracting half their width and height, and their width and height has scaled and unscaled values too width vs displayWidth... and of course if you're using a group for the card's display objects, that class does not support setting the origin.
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.