Godot is opensource and uses a scripting language pretty similar to Python.
Programming
All things programming and coding related. Subcommunity of Technology.
This community's icon was made by Aaron Schneider, under the CC-BY-NC-SA 4.0 license.
That's two votes for Godot -- we'll take a look into that!
Adding this here so you'll see it, but Humble Bundle has a huge python book bundle going on right now.
Oh my goodness, thank you for the heads-up!
I'm a professional software dev so my opinion may be a little biased towards generalist skills but I would recommend Unity. It has a huge support community and learning C# is a hugely transferable skill that an engine specific language like Game Maker Language won't get him.
That's what I was concerned about; there are several programs out there that say they'll make it easy for you to create games, but they're like drag-and-drop modules with no coding involved and that's not going to help in the long run. Thanks for your suggestions!
I think it's worth keeping in mind that knowing how to code is only a portion of the skills required to create a game, the design aspect is an endless rabbit hole in itself.
My son got started around 12 or so in Game Maker Studio and it was a pretty easy introduction to game programming. Unity is also a great option, and would be a better choice if he's interested in 3D games at all. Godot is a great option, too, but with a caveat: It's conceptually very different from GMS or Unity, and he may find it more difficult to pick up. It's a very powerful engine, though, for both 2D and 3D, and it's completely free.
Thanks! Looking into Godot, people seem to agree that it's great for 2D games and Unity is better for 3D, but apparently you can also use C# in Godot. We'll have to check that out!
to my understanding, C# is sort of a "second class citizen" on godot; There's a lot of stuff you can't quite do or is more clunky than using GDScript. But i also havent used godot enough to really weigh in on that (only a couple of small projects).
That said, while GDScript is very "python-like", it is definitely not python. If you want to focus on C#, i would definitely echo the unity sentiment over godot.
All in all, the best way to learn is to just do it. Go out on youtube and find some tutorials, and just hunker down and try!
I don't know how my generation survived before YouTube! I've found that *literally *anything I've needed to know, someone has uploaded a video tutorial on how to do it.
Have a look at the pygame library for python. It's a great first step for this kind of thing. It has everything he needs to grasp the concepts and start to build some cool stuff. Then move to Godot.
Cool! I've sent him the link to this, much appreciated!
I can help a bit with software. I tried Godot a while ago, didn't personally like it, though I do recommend your son tries it, as it does work with Python and won't require learning a new language. Also heard it's beginner friendly. That's how I started at least.
Unity is my recommended game engine - it's more versatile and has quite a community, so it's easy to find answers to almost any questions your son might have (and trust me, he will have a lot). It does require learning C# though.
For big AAA games the answer is Unreal. It works on C++. Can say much about it, I haven't tried it myself, but I did hear it's has a bit of a steep learning curve. Would recommend this one only if your son becomes very invested and will have made a few games already.
Yeah, I'd read that about C++. But Godot and Unity seem to be the favored recommendations here, so we'll give those a go!
Good luck to your son! :)
I 2nd GoDOT, but I also recommend the Learn Python books from No Starch Press, they have several books for kids & learning while making games.
I'd been looking at those books! There are some saved on my Amazon wishlist, I might pick a couple up for when he comes back from vacation.
Godot is really lightweight and the scripting (gdscript) is similar to python. It can be a bit rough around the edges but is my go to when making small games.
The documentation is pretty good,but nowhere near as available as something like unity. If I can't find something in the docs,I've been using https://www.phind.com/ to generate a snippet which does a pretty good job of getting me going.
I'm by no means an expert,but if you have any questions feel free to reach out and I'll help if I can!
I loaned a colleague's son my copy of a very introductory Unity book for a school project. Instead of a 2D game (most of the book), they ended up making a 3D version. Now he has an apprenticeship with a game company where they use Unreal.
Unity has other pros: With a decompiler you can check some of the Unity games you already own and add features you missed. Only for yourself, or in case your friends are curious, maybe release them as mods.
Ooh, decompiling would probably also be super-useful for seeing how things were done. Thanks, and that's great news about your colleague's kid!
I know you have a lot of opinions on this, so I'll recommend something different: Gamejams. They are a great way to flex that skill, try new things, and be a part of a group all at once. And another tip from another amateur game developer: Use Itch.io for sharing work.
You can build visual novels in Ren'Py, which uses only Python, but that might not be what you're looking for.