So, the question seems vague but I will elaborate.

I’m a software developer, but I don’t do games; yet I have an urge to try and make something.

It just seems so overwhelming, I know I want to make a game where the main character is a cat and you have to complete missions, but where do you even begin. Where does the art come from? How do you refine your idea, if all you know is you want a cat game? How do you choose an engine? Do you just start with the basics and get a cat walking around and see what comes next? If you can’t hash out the idea then so you have a right to even try and make a game? Is it best to follow tutorials to get used to making games? I feel the answer to that is no as before I become a software developer, tutorial hell was a thing and I realised I needed to make things for me to actually learn.

Sorry for all the questions, this was just a stream of thought.

  • BougieBirdie@lemmy.blahaj.zone
    link
    fedilink
    English
    arrow-up
    41
    ·
    1 month ago

    Hey, I’m also a software developer, and I dabble in game dev.

    You eat an elephant one bite at a time. You’re probably already familiar with Agile, and that’s a good way to organize your project. Start small, get one thing working, and then you can iteratively add features.

    If you’re interested in game design, you may want to do some reading on the subject. The Onion model for game design is highly effective. You start with a core feature, finish that feature, then add new layers by adding new features. You complete each feature before you start on the next, and this way you always have a working game. It’s fairly similar to Vertical Slices in Agile development.

    As far as choosing an engine, I’ll make it easy for you and just recommend Godot. It’s FOSS and widely used in particular by solo devs. I’ve also dabbled with Unity and Unreal, which will be the other major free (but proprietary) options. Unity has less ramp-up time than Unreal, but it also has a history of screwing with its users. You’re probably familiar with vendor-lock, and that’s what you’ll be getting into if you try either of those.

    You may already have the skills to build your own engine. Don’t. You’ll pull your hair out on all the edge cases and abstractions, and an off-the-shelf engine already has that figured out for you.

    As far as learning to use the software, I guess that depends on your learning style. There’s books, videos, and official documentation on the web for whatever engine you decide to use. I’d recommend you use the same approach as learning any other new stack or library. For me, that often means going to the documentation’s Getting Started page and just playing around.

    As you mentioned, tutorial hell is real. Don’t get me wrong, tutorials are a great way to learn the engine’s features that you aren’t already aware of. But don’t be afraid to go off-script and just play around. Sooner or later you’ll have to make your own sausage anyway.

    Since you already know how to code, you’ve got a huge leg up on most beginners. The hardest part about making games is creating assets and scripting features. As far as assets go, you can certainly make them yourself, or you can outsource that work with third-party assets. While you’re learning, I’ll recommend Kenney - they’re highly regarded in the game dev community, and all of their assets are CC0 licensed so you’re free to use them even without attribution.

    Good luck!

    • The Octonaut@mander.xyz
      link
      fedilink
      arrow-up
      5
      ·
      1 month ago

      Agile is explicitly a way for a team to be self-organising. What benefit do you get from it as a solo developer?

      • BougieBirdie@lemmy.blahaj.zone
        link
        fedilink
        English
        arrow-up
        8
        ·
        1 month ago

        When I learned it, one of the core tenets was that you build a prototype and then iterate off of it. I guess that’s what I’m referring to

        Every organization I’ve worked for has a different bastardization of it, so your mileage may vary