this post was submitted on 26 Jun 2023
20 points (100.0% liked)

Programming

13376 readers
1 users here now

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.

founded 2 years ago
MODERATORS
 

Hey, folks! My son (currently 15) is interested in getting into game development. He's taken a class in Python in school and enjoyed it, but I know Python won't be enough. I don't think he's interested in ever making big, AAA games, but more along the lines of Undertale (which was made in Game Maker Studio) or Bug Fables (Unity).

There are just so many choices and so much content out there that I don't know where to start. Do you have any suggestions for which language(s) to learn or software (like Game Maker Studio) that you've found helpful? Thanks!

top 23 comments
sorted by: hot top controversial new old
[–] [email protected] 13 points 1 year ago (1 children)

Godot is opensource and uses a scripting language pretty similar to Python.

[–] [email protected] 2 points 1 year ago (1 children)

That's two votes for Godot -- we'll take a look into that!

[–] [email protected] 2 points 1 year ago (1 children)

Adding this here so you'll see it, but Humble Bundle has a huge python book bundle going on right now.

[–] [email protected] 1 points 1 year ago

Oh my goodness, thank you for the heads-up!

[–] [email protected] 8 points 1 year ago (1 children)

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.

[–] [email protected] 4 points 1 year ago (1 children)

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!

[–] [email protected] 1 points 1 year ago

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.

[–] [email protected] 7 points 1 year ago (1 children)

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.

[–] [email protected] 4 points 1 year ago (1 children)

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!

[–] [email protected] 3 points 1 year ago (1 children)

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!

[–] [email protected] 2 points 1 year ago

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.

[–] [email protected] 5 points 1 year ago (1 children)

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.

[–] [email protected] 1 points 1 year ago

Cool! I've sent him the link to this, much appreciated!

[–] [email protected] 4 points 1 year ago (1 children)

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.

[–] [email protected] 1 points 1 year ago (1 children)

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!

[–] [email protected] 1 points 1 year ago

Good luck to your son! :)

[–] [email protected] 4 points 1 year ago (1 children)

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.

[–] [email protected] 1 points 1 year ago* (last edited 1 year ago)

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.

[–] [email protected] 3 points 1 year ago

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!

[–] [email protected] 2 points 1 year ago* (last edited 1 year ago) (1 children)

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.

[–] [email protected] 1 points 1 year ago

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!

[–] [email protected] 2 points 1 year ago

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.

[–] [email protected] 1 points 1 year ago

You can build visual novels in Ren'Py, which uses only Python, but that might not be what you're looking for.

load more comments
view more: next ›