Back in my day (was teenager in mid-to-late 90s) I had to figure out how games worked. Thankfully, we had games like Quake which can be modded and had various level editors. Worldcraft, which is now called Hammer, was awesome.

It is this journey that helped me become a programmer today. While not a games programmer, I do make games in my spare time.

Now -- sure.. why mention this? I believe I understand a 11 year-olds mindset that wants to do more than play games - but understand how they work. I also have children of my own and waiting for them to hint they want to learn. Of course the 90s way is a distant memory. There is more access to things in the gaming world... but more options can also be a little intimidating as well.

11 can still be "young" depending on their skill level with computers. For now, you could start off with the basics. For world building/construction, we do have Minecraft (which my 6 year old son plays). We also have things like Roblox (which my 12 year old daughter plays)

We also have Scratch, a "Visual Programming Language" - my daughter has been using this at school and some afternoon/evening clubs at the library.

For me personally, I think 13 (years old) is going to be 'that age' when they start going into more detail with making games. Maybe your child is ready sooner. Only you know.

If they are ready to progress further than the above, I would recommend something like Godot, Unity or Unreal. Whichever I pick is a decision I make at that time... but if I had to choose now, I might try Godot first and go from there.

Yes.. I might make decisions for the child to start with. I would sit with my child and learn together. Once they start doing things on their own I would take a step back and let them play. They will soon ask for help if they want it.

For example, when I was playing with Worldcraft, I was trying to figure out how to move an object around but I just didn't understand how I used the "target" and "targetname" fields. I asked for my Step-Dad to help and he figured it out for me. Once I understood it, and got an object moving in the game, I was able to carry on from there. He gave me space to learn.

The great thing about Unity, Unreal or Godot - is these are used for REAL GAMES... so your child can stay on these and, perhaps, have a career using them. They can figure out if they want to be an artist, level designer, 3d modeler, or programmer, etc. Their interest and decision can also point them to Blender, GIMP/Photoshop, or to write their own games engine (or simply a game) using a programming language.

For me -- I went with the DIY approach as a programmer, writing games in C (but moving to Odin) and I use OpenGL, SDL2, etc. Once you get a window open you can start by making Pong, or a Card Game, etc. So, if any of my children want to learn... learning Godot is just as much an experience for me as well -- but it is also to give them space to learn their way and, like my Step-Dad did for me, to help me when I needed it.

"I can only show you the door. You're the one that has to walk through it" - Morpheus

--- All software I mentioned above listed here. I hope this helps. My advice is to go with the flow and make your own learning fun.

- Quake C / Modding / Worldcraft. -- For Quake (old school. Likely avoid for younger gen)

- Hammer Editor for Source/Source 2 -- More modern

- Scratch -- popular visual programming language for kids.. even young!

- Minecraft, Roblox -- Popular world building, fun games

- Photoshop, Gimp -- Popular Paint or Photo editing

- Blender -- Popular 3D modelling (architecture, 3d animation, etc)

- Unity, Unreal, Godot -- popular game engines / editing tools

- Programming language C, Odin... libraries like SDL (making games manually)