- Try a bunch of free engines and platforms. Depending on your son's age, this might mean starting with something like Scratch. I've played around with it myself and it's fun. It at least gives you a feel for game logic and how a game loop should feel.
- GDevelop has come a long way. My son prefers it when he's just doodling around.
- My husband prefers GameMaker Studio 2. But it's a paid program and the export modules (mobile, console, html5) are extra expenses that can add up. Also, GML is a nightmare (just my opinion).
- I use Godot Engine. It's free, lightweight, GDScript is Python-like so pretty easy to get a handle on. It's perfect for 2D development. And the teaching community is very rich.
- There's really no "x is better than y" as far as game engines, IMO...all depends on what you're trying to do and how far you are in expertise/experience. And it also comes down to what engine feels right to you.
- Start with 2D, cannot stress this enough. Make as simple a game as possible when you're starting. This also means staying away from Unity and Unreal because both are simply too much engine for a beginner.
- At some point, you're gonna have to learn how to code for real. Don't have to be a wiz...just enough to be competent.
- Be a generalist, if possible. Depending on what you want to do and/or whether you have collaborators or not...you might also need to have basic art skills. I'm a graphic designer by trade so this wasn't an issue. But I had to learn Blender because I wanted to incorporate 3D art in my games. My husband learned how to make music. I also learned video editing so I could make good trailers. Etc, etc.
- Love games. All kinds of games. I think this should've been first.
- I hope that helps.