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!

  • TheOneCurly@lemmy.theonecurly.page
    link
    fedilink
    English
    arrow-up
    9
    ·
    1 year ago

    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.

    • JocularGargoyle@beehaw.orgOP
      link
      fedilink
      English
      arrow-up
      4
      ·
      1 year ago

      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!

      • AVeryCleverName
        link
        fedilink
        English
        arrow-up
        2
        ·
        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.

  • KoboldCoterie@pawb.social
    link
    fedilink
    English
    arrow-up
    7
    ·
    1 year ago

    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.

    • JocularGargoyle@beehaw.orgOP
      link
      fedilink
      English
      arrow-up
      3
      ·
      1 year ago

      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!

      • eerongal@ttrpg.network
        link
        fedilink
        English
        arrow-up
        3
        ·
        1 year ago

        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!

        • JocularGargoyle@beehaw.orgOP
          link
          fedilink
          English
          arrow-up
          2
          ·
          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.

  • Jaysyn@kbin.social
    link
    fedilink
    arrow-up
    4
    ·
    1 year ago

    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.

    • JocularGargoyle@beehaw.orgOP
      link
      fedilink
      arrow-up
      1
      ·
      edit-2
      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.

  • demystify@lemmy.ml
    link
    fedilink
    English
    arrow-up
    4
    ·
    1 year ago

    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.

  • l3mming@lemmy.fmhy.ml
    link
    fedilink
    English
    arrow-up
    3
    ·
    1 year ago

    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.

  • danieljoeblack@kbin.social
    link
    fedilink
    arrow-up
    3
    ·
    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!

  • embix@feddit.de
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    1 year ago

    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.

    • JocularGargoyle@beehaw.orgOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      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!

  • GreyBeard
    link
    fedilink
    English
    arrow-up
    2
    ·
    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.

    • Spzi@lemm.ee
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 year ago

      This is my favorite comment because it highlights social interactions. The other comments are great on the tools side, but I think getting in touch with other people (also people from other trades, like artists) and gamers is very important. Both gamejams and itch.io were also an integral part of game design studies when I attended a few years ago.

      Extra Credits: Fail Faster - A Mantra for Creative Thinkers

      • GreyBeard
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        Yeah. I make games for gamejams once a year or so and it is always so rewarding to try new things, have a deadline, work with friends, and have almost nothing on the line. Spend a weekend playing around and see what happens. At this point I have a decent portfolio of jam games built up, and each time I learn something new and interesting.